LaTeX Beamer Theme Previews

May 19, 2009

Update (09/07/2010): It was brought to my attention that the help message printed by beamerizer referenced \include instead of \input. I updated the the help message to now use \input which is the better choice. Thanks to ArkanoidX for pointing this out 🙂

I have been using LaTeX beamer for a little over a year now to do my “PowerPoint” like presentations for math and computer science classes. I really like beamer a lot and I find it easy to put together a nice looking presentation that is not bogged down in special effects and gimmicky animations. One of my main problems with beamer is that I never know what theme to pick because I never know what the themes look like ahead of time. This is what made me think that it would be nice to have a script that automatically builds my presentation with every possible theme and puts them in one giant pdf file.

It turns out that by using Python and some nice Linux tools it is fairly easy to achieve this. I call the little script I wrote “beamerizer” and it takes a directory of LaTeX themes and a LaTeX source file. Then, it builds that source file with every possible theme. It’s a pretty simple idea, but it gets the job done. I have also used this script to produce a nice sample document that was built using the standard LaTeX themes. Both the beamerizer script and that sample document are included in this post. Hopefully this will help someone out who needs to see all the different beamer themes 🙂 .

Beamerizer Python Script: beamerizer.tar.gz (requires that “gs” and “pdflatex” be installed)

Theme Preview File: BeamerThemePreview.pdf

(For those of you who are interested: all beamerizer really does is generate a pdf file for each theme and then use the “gs” command to concatenate all the pdf files together)

A LaTeX User in a Microsoft Office World

April 2, 2009

It has been quite a while since I wrote my last post, but school has been keeping me as busy as always. Thankfully I have had more free time this semester than in past years, but I still seem to keep myself quite busy, and too burned out at the end of the day to write anything terribly thoughtful on the blog. However, I still keep a list of topics to write about for when I have the motivation 🙂 .

Today I wish to write about a recent trouble I have had relating to my usage of LaTeX. I have been using LaTeX for a little over 3 years now and I love every minute of it. The level of control that it gives me over documents is perfect for my needs. Table of contents, works cited, picture placement, and many other time wasting tasks are mostly automated by LaTeX. As such I can focus in on the true content of my document, which is usually all I care about anyway. Also, with the use of packages such as LaTeX Beamer I can also do PowerPoints with LaTeX. Finally, the fact that you can define custom commands is another huge time saver, and for a programmer, who loves functional decomposition, this is a wonderful tool.

So, now we have established why I use LaTeX, but here is where the trouble with LaTeX lies: most people don’t use LaTeX (shocker… I know). In many situations this does not matter due to the ubiquity of the PDF file. However, there have been times when I have been expected to simply have things in .doc (or these days .docx) format. For instance, a couple of weeks ago I wrote a history paper in LaTeX and right before the due date our teacher said that we needed to send our paper, in .doc format, to someone in the class for peer review. Thankfully it was only a history paper and didn’t need much modification to get into OpenOffice. Still, it was an inconvenience and it was due to the assumption that “everybody uses Microsoft Word”. In another instance, I have seen companies that will only accept your resume in .doc format, which seems a little funny considering these are all technology companies I am applying to and I would hope they could accept a PDF file at least. Luckily I had known this in advance and have my resume typed up in OpenOffice.

At any rate the point of all this is that it seems I may be forced, at some point, to use either Microsoft Word directly or preferably something like OpenOffice. It is not as though I cannot use these tools, but that I think LaTeX is far superior to them. This is a disappointing realization, but hopefully I will still have chances over the years to use LaTeX so that my skills won’t grow dull. I realize that LaTeX looks intimidating to new users, but it is quite empowering once one gets the hang of things.

Well, that’s all I have to say for now 🙂 .

My first real experience writing user docs

July 4, 2008

So today at 10:00am I embarked upon my first real attempt at writing user documentation. Spheriosity has been long overdue for some good user documentation. After all, the whole purpose of the application is to help people understand spherical geometry, so if they can’t use it then the program is worthless.

I decided that the best choice for writing the documentation was going to be LaTeX my favorite text processing language. I fell in love with LaTeX when I saw how it could format mathematical equations with ease. I use it almost 100% these days and it makes the most beautiful looking documents! It is suited perfectly for a code oriented person like myself as well because at times it feels like I am programing the document more than anything. Perhaps I will write more about LaTeX some other time.

Also because of LaTeX I realized that I might be able to run latex2html on the document and thus have something I could post on the internet. I have never been a complete fan of the output of latex2html mainly because I think it should have an option to let you view an entire section at once. I’m sure that for some things it is quite nice that it splits up into subsections and then subsubsections if you use them, but for this it doesn’t translate well.

I found that I don’t really mind writing user documentation as much as I thought I would. It’s kind of like commenting code to me. I know a lot of people don’t really enjoy commenting, but it never bothered me much. I feel like it is taking the necessary steps to ensure another human, or possibly myself, will be able to some day figure out what I was thinking. After spending lots of time writing a piece of code it seems worth it to put in that extra effort. I feel the same way about documentation. If it is able to help even a few users work with my application then I consider it well worth the effort. So far I have created 28 pages of documentation. Now, it is not solid text because there are pictures of the program as I try to visually walk the user through certain steps.

I spent a good 10 or 11 hours writing the documentation and I need to take a break from it for sure 🙂 Tomorrow will be a new day and I hope to finish the documentation and place the new alpha build on SourceForge. I don’t know if I could write user documentation all day every day, but it is good to know that I can do it when I need to. I admit that I felt a bit bad not writing any code all day (except a small perl script), but it was for a good cause.

I had a bunch of good ideas about things to write about today so hopefully I will have some material for the next few days. That’s it for today though… I need to get some sleep 🙂