# LaTeX: More than Math

These first weeks of school have gone by so fast: 16 hours of coursework will definitely keep anyone busy. Nonetheless, CSCE 221 “Data Structures and Algorithms” and its co-curricular, CSCE 222 “Discrete Structures for Computing”, have definitely proven to be the most interesting classes I have taken thus far: CSCE 222 is a “math” course, but it involves logic more than arithmetic, algebra, and calculus; and CSCE 221 is a course on abstract (theoretical) data storage and manipulation, so there is very little actual programming involved. Most of what I write now is pseudocode, and the reason for this is so the algorithms are language-independent.

Since both of these courses require special formatting and special characters, I’ve been delving more into the LaTeX 1 markup language for taking notes. Writing raw LaTeX in a plain text editor has proven to be more straightforward and more powerful than using a WYSIWYG word processor (like Microsoft Word or LibreOffice 2 Writer). Granted, LaTeX has a steep learning curve, but the compiled output looks extremely uniform and professional: LaTeX is to printed documents as HTML and CSS are to web pages.

Because LaTeX markup is plain text, it can be shared and tracked using a versioning system like Subversion or Git. The only other word processing system (that I’m aware of) that offers this kind of collaborative editing is Google Docs. Microsoft Word, Rich Text, and Open Document file formats are all stored in either a binary package or cryptic markup—both of which are hard to track with versioning/collaborative software. LaTeX, on the other hand, has human-readable source code.

By default, the latex executable outputs to DVI files, but LaTeX packages like TeX Live include pdflatex, which outputs to more universally-accepted PDF files. For more information about obtaining a distribution/build for your system, visit the LaTeX home page.

I understand that LaTeX is not for everyone. Some people do not need the fine-tuned control that LaTeX offers—in which case Microsoft Office, LibreOffice, or another word processor would better suit that person’s needs. Some might not have the time required to learn LaTeX. Nonetheless, I recommend it to anyone looking for a powerful markup-based word processing tool for writing books, articles, reports, or even letters.

Until next time, Gig ‘em and God bless!

1. I had mentioned LaTeX before when setting up math rendering in MediaWiki, but the packages that power this feature in MediaWiki aren’t even a snowflake on the tip of the iceberg! For a good example of what LaTeX can do, look at any textbook: symbols, math-type, columns, listings, images, figures, graphs, charts, plots, diagrams, tables, indices, appendices, bibliographies, cross-references, chapters, sections, typesettings, formatting, whatever—LaTeX can do all of it (and still even more). ↩︎

2. When Oracle acquired Sun Microsystems and all of their products (including OpenOffice.org), the founders of the OpenOffice.org project decided to form an independent organization—The Document Foundation. However, Oracle has not allowed them to continue using the name “OpenOffice.org”. After improvements and rebranding, The Document Foundation released LibreOffice 3.3. ↩︎