# La Tex

LaTeX (that's the correct capitalization, but not a WikiName) is a macro package to be used with TexTheProgram. It is a system for creating documents. Correct rendering of the name is impossible in plain-ASCII, being closer to this:

LaTeX is pronounced lay-tek or lah-tek, never lay-teks.

It is not an interactive program like, say, MS Word. You use it by creating a plain text file with some editor, and then feeding the text file to latex, which acts like a compiler and generates a nice-looking document.

A simple LaTeX input file would look like this:

 \documentclass{article}
\begin{document}
This is a simple document that was typeset with \LaTeX.
\end{document}


A LaTeX input file consists of plain text and markup codes. Markup codes start with a backslash (\).

LaTeX is very strong in typesetting mathematical formulas. Most mathematical or math-related scientific journals require that you provide your article in LaTeX-format. Most mathematical textbooks are also written using LaTeX.
MiKTeX is an up-to-date TeX implementation for the Windows operating system.

http://www.miktex.org/ http://sourceforge.net/projects/miktex/

Editors

There are several version of LaTeX available for Windows, and an editor called WinEdt which is intended for use with it. In fact, most editors have a LaTeX editing mode. -- JohnFletcher, StephanHouben.

Windows users (or those who donot use Emacs/vi) can check out editors like JEdit, SciTE or even a full blown IDE like Eclipse that has support for LaTeX using plugins. Another handy tool is TexNicCenter?. All these are availabe for free. -- SushilBajracharya?

The TeX Users' Group, at http://www.tug.org/, states on its history page that TeX was originally written on the DEC-10 and DEC-20 systems, and was quickly ported to other machines. Since it was designed for portability, and since DonKnuth wrote an extensive set of unit tests (TRIP for TeX, and TRAP for MetaFont), the particular platform it was written on is somewhat irrelevant. It would be interesting to discover which platform Leslie Lamport wrote LaTeX on; currently we only know that he wrote it while he worked for SRI and for DEC in the mid-1980s. LaTeX is built on top of TeX, which isn't dependent on any one machine or OS.

There have been MS-DOS versions of TeX since the dawn of time. (I should know, I used LaTeX 2.09 on an old 286 with only 20MB harddisk.) Later, people recompiled them for the new 32-bit API, so they could handle bigger files and LaTeX2e. It's of course all the same source code, as listed in TexTheProgram.

LaTeX itself, being a macro package on TeX, requires no other computer platform that TeX itself: once you have TeX running, you can run LaTeX. -- StephanHouben

It is possible to convert wiki source to LaTex rather than HTML; As far as I know, though, no-one has done this. An implementation of adding LaTeX math to a Wiki is LatexWiki: http://latexwiki.com, which uses the ZWiki framework.

LaTeX has other uses too. Last year, I had the task of taking a large database scheme and documenting it. I wrote a program (in ObjectiveCee) that read the scheme and created HTML files for each entity, with hyperlinks attached to each relationship. The customer liked it, but they wanted me to print out all the HTML files. They have a paper fetish.

I told them that this was an ugly and ignorant idea. No one will ever read the paper files, and the hyperlinks will be useless. Who wants to see Jump to top on a sheet of paper? I suggested that we burn the info on a CD-ROM, but they wouldn't hear of it. They insisted on paper. So, I asked them to give me a week.

My application had two major components. One read the database scheme and compiled it to an internal form, while the other took the internal form and created HTML pages. All I had to do was to rewrite the second part to put out LaTeX files. I also made sure the application did as little LaTeX as possible; I defined a new \documentclass with commands that created each chapter, section, entity, attribute, and relationship, automatically putting in crossreferences and index entries. My colleagues criticized me for having too much fun.

Of course, some parts were a failure; I put in tables, but the coders had been addicted to the use of 30-character names, and I had many overfull boxes. My attempt to put in graphics for each entity and its relationships was a failure reminiscent of Rorshach tests. And my use of a LaTeX trick to put the program mascot on every page that would otherwise have been intentionally left blank caused some people to question my sanity. My overly chatty LaTeX Doc file for my document class proved my insanity to them. Still, it worked very well.

You can guess what happened; I showed the customer the PostScript output in a GhostScript window. It was about 700 pages of text. I don't think they ever printed it out. And then they went to RationalRose instead. But, what can a humble coder say? If they wanted a print-out, they would have gotten a useful one.

Of course, I could have tried to create something the customer was more familiar with, say MicrosoftWord. But that would have been less fun and nearly impossible.

Of course you can do MicrosoftWord. It will import the HTML files directly, and give you something you *can* print. I did it for a message protocol tool I wrote last month. --RonCrocker

But then the output would look like HTML printed through word. Better than just HTML, but still ugly as sin. --anon

I've been kicking around the idea of doing documents in XML, then having an XSL transform for HTML output and one for LaTeX output. Then you get the best of both worlds, HTML and paper.

This of course is already done. With DocBook XML for example: http://www.oasis-open.org/docbook/xml/.

I don't know anything about DocBook XML, or much about XML for that matter. However, the SGML -> HTML/LaTeX/whatever does work quite well. Since XML is a subset of SGML, I expect that would work well also (assume XML isn't too weak).
There is another program called ScientificWord which enables the user to write LaTex without knowing any. The data is saved as LaTex and can be typeset. It can also include mathematics. It has a means to import rtf files.

There is also a converter called TeX4ht which will do conversion of LaTex files to HTML. For details see http://www.tug.org/applications/tex4ht/mn.html --JohnFletcher

Another approach is to use PdfTex, for (La)TeX -> pdf. You can include hyperlinks and other PDF primitives...
Many (most?) scientific PhD theses in the 80s and 90s were written with LaTeX or one of its variants. For emacs users, AucTeX makes writing LaTeX based files almost as pleasant as a WYSIWYG environment.

Some (myself included) would counter that it is much *more* pleasant than a WYSIAYG interface. I haven't used any word processing software (including frame) than can hold a candle to emacs for straight editing

LaTeX is a document format, not an editing system. So what amount of WYSIWYG you get depends on your choice of editor. Take a look at http://preview-latex.sourceforge.net/wysiwyg-draft.pdf for an overview about a variety of free WYSIWYG tools in connection with authoring LaTeX. In particular, there is a bunch of them for Emacs.

Also, BibTeX is by far the best citation/bibiliography tool I've ever seen. My wife has a .bib file with every scientific paper she's ever read (a big filing cabinet's worth). Each entry is cross referenced to the (physical) folder containing the paper. She can reference any paper in her papers by adding \cite{astro:name_of_paper}. Never need to check if your references are all actually used in the text.

Where is a really good tutorial on BibTex and using it? I wanted to this past year, but I couldn't figure it out fast enough, especially since I was being required to use non standard citations.

Out of curiosity, what do you mean by non-standard citations? I find the chapter in "The LaTeX Companion" to be quite good. There is a document called "BibTeXing?", and a companion document called "Designing BibTeX styles" both by Oren Patashnik. I don't know of canonical sources for these (and they are quite old) but both can be found at:

http://www.eeng.dcu.ie/local-docs/btxdocs/

Also, these are included in the TeTeX documentation if I recall correctly.

Another (free) GUI front-end to LaTeX is LyX (LyEks): http://www.lyx.org/ which is best described as What You See is What You Mean''.