LaTeX

From AstroBaki
Revision as of 11:06, 30 January 2018 by Aparsons (talk | contribs)
Jump to navigationJump to search

Short Topical Videos

  • None

Additional Reading

  • LaTeX Tutorial Carl Heiles' original LaTeX tutorial (note: may need to save to disk first before opening)
  • LaTex Tutorial Code: the raw code for compiling the above document

LaTeX Is Your Friend OR ENEMY?????????.

Originally written by Nathan Lundblad

We present a paper on useful LaTeX stuff. Make sure to look at the source code for this document, as that is where the real story is. For more fun, look at Leslie Lamport’s book in the 705 Campbell bookshelf.

The Big Picture

LaTeX (pronounced lay-teck or lah-teck) is a designer package based on a typesetting program called TeX  which was originated by Donald Knuth of Stanford many many years ago. LaTeX first appeared in 1985 and is extremely popular, particularly in the scientific community where it has become an almost universal standard. Using LaTeX will result in stunningly beautiful documents and will, in the long run—because of mathematics and labels/referencing—be easier to deal with than using Micro$oft Word and its cousins. Although creating reports and articles in a different fashion from what you may be used to can be a little intimidating at first, a few basic facts and a couple of good sample documents will take you a long way.

How To Use LaTeX: The Most General Possible Summary

Remember on PC word processors how there is an option called reveal codes or some such? Well, in LaTeX you essentially write those codes yourself, and then compile them to get your printable output. You’ll type up these codes in your favorite text editor and name the file something appropriate with a .tex suffix.

Then you must compile that file at your shell prompt by typing pdflatex whatever (you can include the suffix .tex if you want). LaTeX will spit out some random files (provided you haven’t made any errors), including whatever.pdf, which is your printable output. LaTeX will also print some messages on your screen. Be sure to look at these messages!!!!!!! If your compilation failed, they will attempt to tell you what error you may have committed. Once you figure it out, you edit the tex file and try running pdflatex whatever again. The most common error is to forget the $ sign on each side of an equation, or to have unmatched curly brackets. The error message gives the line number; the easiest way to find the offending text is to go to that line number in your editor. NOTE that many times the error occurs before the line number given by the LaTeX output.

To view the whatever.pdf file on your terminal screen, type evince whatever.pdf at your shell prompt. The nicely-formatted output appears on the output window. You can edit the tex file and left click on your pdf output window; the updated text appears.

Look things over carefully and make any changes before printing it on paper—support environmentalism! Finally, to print the output when you’re all done:

  1. lp whatever.pdf (prints the file).

Some Basic Syntax

Every LaTeX document must be enclosed by a begin and end tags. Nothing goes after the latter, but some very important stuff goes before the former, such as documentclass declarations and suchlike, which you’ll learn about later. As you may have noticed, LaTeX reserves more than a few characters for its own nefarious purposes. Generally, to produce them in your final document you must invoke the backslash. The same method applies to other special characters: { # } %.

There are three kinds of hyphens in LaTeX: -,–, and —. The first is used for intra-word dashes, the second for number ranges (41–42), and the third for the standard intra-sentence dash—it’s my personal favorite. In other situations, just use whatever looks the best.

Grouping letters and words is accomplished with the { and } characters. Most commands only work on one group at a time, so surround the parts of your text you want to modify with curly brackets. For example, you can have italicized type, boldface type, and typewriter-type type.

Footnotes are incredibly easy to produce, and are automatically numbered.

The observant student in the back of the room may cleverly ask “So how do you create a backslash, if \represents a skipped line?”. Well, you have to use the verb (verbatim) environment, which is handily revealed in the source code. The argument of the verb environment is delimited by two identical characters; above, we used ampersands. You can use a pair of any normal characters as the delimiter. The verb environment has an unfortunate peculiarity: you have to put all of its argument on a single typed line in the tex file. Here’s an example of the output from the verbatim envroment:

function wopen
;+
;NAME:
;WOPEN -- return list of all open windows
;
; PURPOSE:
; Quick way to find all open windows
;
; CALLING SEQUENCE:
; result= wopen()
;
; INPUTS:
; NONE
;
; RETURNS: VECTOR OF OPEN WINDOWS
;
; RESTRICTIONS:
; The current device must be X Windows.
;
; MODIFICATION HISTORY:
; Written CARL, who finally got fed up
;-
; ARE YOU USING X WINDOWS DEVICE...
if (!d.name ne 'X') then begin
message, 'DEVICE not set to X Windows.', /INFO
return, -1
endif

; FIND THE OPEN WINDOWS...
device, window_state=openwindows
openwindows = where(openwindows,Nopen)

return, openwindows
end

The tag with the verbatim environment has the perhaps unfortunate peculiarity that it skips and starts a new line.

Labels/Referencing

When you’re preparing a LaTeX document, it’s smart, labor-saving, sophisticated, and good practice—but not necessary—to use the label command. The use of labels ensures that you can refer to sections, equations, figures, and tables by a name—i.e., by reference—and not a number. So what’s the difference? When you’re inserting, cutting, and pasting, you will lose count of what section you’re in or what equation is what, which will make referring to such objects in the text. Because I labeled the beginning of this section, I can always refer to it using the label, regardless of whether I go back and make changes in section order.

Style files, packages, and user defined commands

You may have noticed the a documentclass in some LaTeX documents. This line sets a template for the document as a whole; it tells LaTeX that you want to write an article-type document using the American Astronomical Society’s preprint class package. The AAS TeX class (used for most astronomy documents) sets the font and layout for the entire document and it automatically loads some useful packages, which are collections of new commands that allow you to customize your document and do nifty things with images and layouts.

Mathematics

The great beauty of LaTeX lies in how the math comes out. It does numbered equations exceptionally well, enables math within standard text, and has a shocking number of special characters available. Inserting standard equations into a LaTeX document is done with the equation environment, and works like so:

\begin{equation} \label{laplacian}
\frac{\partial^2 V} {\partial x^2}+\frac{\partial^2 V}
{\partial y^2} + \frac{\partial^2 V}{\partial z^2}=0
\end{equation}

Laplace would have loved LaTeX. You can also do Greek letters easily:

\begin{equation} \label{gammaeq}
\gamma=\frac{1}{\sqrt{1-\beta^2}}
\end{equation}

If you want to put mathematics into text, you can use math mode, which is commonly delimited by dollar signs. If you want to show a matrix math equation, you use the eqnarray environment:

\begin{eqnarray} \label{smeqn}
\left[
\begin{array}{cccc}
{[ ss ]} & {[ st ]} & {[ su ]} & {[ sv ]} \\
{[ ts ]} & {[ tt ]} & {[ tu ]} & {[ tv ]} \\
{[ us ]} & {[ ut ]} & {[ uu ]} & {[ uv ]} \\
{[ vs ]} & {[ vt ]} & {[ vu ]} & {[ vv ]} \\
\end{array}
\; \right]
\cdot
\left[
\begin{array}{c}
A \\
B \\
C \\
D \\
\end{array}
\; \right]
\; =
\left[
\begin{array}{c}
{[ s y ]} \\
{[ t y ]} \\
{[ u y ]} \\
{[ v y ]} \\
\end{array}
\; \right]
\end{eqnarray}

If you want an equation, such as , to be in bold—including those Greek letters—surround the whole equation by boldmath.

Figures

If you want to bring in plots from Python or, for that matter, an arbitrary graphic, you should put the following line in your tex document, before the begin document part. Common formats are png (good for lines), jpg (good for images), and pdf (best for plots/line figures). Each of these formats has a different way of representing graphics. In particular, pdf (and ps) can represent plots and figures in vector graphic form — as instructions for drawing each line of the figure. This form, which contrasts bitmap image formats like png and jpg, is infinitely scalable and never has pixelization issues, making it ideal for representing figures in a paper. Once you have your graphics file the file in the same directory as your .tex file, you can insert it into the document like so:

\begin{figure}[h!]
\begin{center}
\includegraphics[width=.6\textwidth]{2dgaussian.pdf}
\caption{A Gaussian. \label{gaussfig}}
\end{center}
\end{figure}

In addition to width, you can define height, angle, and scale. If you specify only width or height, the other dimension scales automatically. If you specify both, you can stretch the image. Angle rotates the image by some number of degree in the positive direction. Scale multiplies the picture’s original size by the number you specify. When specifying width or height, you must include units. Some options are: textwidth, in, cm, pt, em, ex. See the Not So Short Guide for more info.

If you want to display several pictures together or have size scaling or stretching or rotation, as in Figure None, you can do this.

\begin{figure} [!p]
\begin{center}
\includegraphics[width=1in,height=5in]{2dgaussian.pdf}
\includegraphics[width=5in,height=1in,angle=180]{2dgaussian.pdf}
\includegraphics[scale=0.1,angle=45]{2dgaussian.pdf}
\end{center}
\caption{This is a very silly figure! \label{silly}}
\end{figure}

One of the most difficult tasks for the novice (and, even, the experienced!) typesetter is image placement. LaTeX places floating bodies where it thinks they best fit, which isn’t always the most logical place in a document. You have one way to control placement: the placement commands, which work for tables and figures. They are: [h!], [t!], [p!], [b!], meaning: “put here”, “put at top of page”, ”make a new page”, “put at bottom of page”. Sometimes they are frustratingly inattentive to your desires; this occurs because LaTeX is smarter than you think it is—there’s not enough space to put the figure exactly where you want it. .Judicious use of sizing (for images) and using smaller fonts (for tables), or relocating, are your only options.

Tables

Tables are useful for displaying a large number of results. There are two environments provided for tables; {table}&, which is a \LaTeX\ resident environment, and deluxetable, which is an AAS\TeX\ custom environment. table is a simpler version for which the placement commands work; deluxetable is a more elaborate version for which the placement commands do not work---it always puts the table at the very end, so it's not very nice for lab reports.

Let's begin with the ordinary table, which is more flexible because you the placement commands work.

\begin{verbatim} \begin{table}[!b] %THE [!b] TELLS IT TO PUT THE TABLE AT THE BOTTOM OF THE PAGE. %IF YOU USED [!t] IT WOULD PUT IT AT THE TOP. \begin{center} \caption{Sample table \label{normtable}} %TABULAR FORMAT IS THE WORD HERE; the c's represent centered %columns, and the vertical bars represent vertical lines. %Lines are broken by \\, and columns are separated by the %ampersand. \begin{tabular}{|c|c|} \hline Temperature & Voltage Drop \\ \hline \hline 310K & 0.6761V$\pm$0.0004V\\ \hline 300K & 0.7064V$\pm$0.0005V\\ \hline 77K & 1.5318V$\pm$0.001V\\ \hline \end{tabular} \end{center} \end{table} \end{verbatim}

And now, we end with the deluxetable; it's always at the end, on its very own page. Because we're ending with it, this is one of the few instances where it's properly placed---but because it's on its own page, it's placement definitely not elegant!

\end{document}