Difference between revisions of "LaTeX"

From PrattWiki
Jump to navigation Jump to search
Line 185: Line 185:
 
*[http://en.wikibooks.org/wiki/Programming:LaTeX Wikibook on LaTeX] - a wiki devoted to LaTeX!  ''All kinds'' of good stuff here.
 
*[http://en.wikibooks.org/wiki/Programming:LaTeX Wikibook on LaTeX] - a wiki devoted to LaTeX!  ''All kinds'' of good stuff here.
 
*[[wikipedia:LaTeX|LaTeX]] on Wikipedia - includes several tutorials and references
 
*[[wikipedia:LaTeX|LaTeX]] on Wikipedia - includes several tutorials and references
*Tobias Oetiker's "[http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf  The Not So Short Introduction to LaTeX2e]" - great guide for beginning (and not so beginning) users.  Should be version 4.31 (as of 6/24/2010).  If that link doesn't work, try  
+
*Tobias Oetiker's "[http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf  The Not So Short Introduction to LaTeX2e]" - great guide for beginning (and not so beginning) users.  Should be version 5.01 (as of 4/6/2011).  If that link doesn't work, try  
 
**[http://www.duke.edu/~mrg/Pundit/lshort.pdf Mirror 1] at Duke
 
**[http://www.duke.edu/~mrg/Pundit/lshort.pdf Mirror 1] at Duke
 
**[http://tobi.oetiker.ch/lshort/lshort.pdf Mirror 2] in Switzerland
 
**[http://tobi.oetiker.ch/lshort/lshort.pdf Mirror 2] in Switzerland

Revision as of 20:29, 18 August 2011

LaTeX
Document Preparation System
LaTeX logo.png
Download On Unix
Web Page \(LaTeX\) Project


LaTeX is a document preparation system written by Don Knuth (TeX) and extended by Leslie Lamport. It is a powerful, and free, way to generate professional, dynamic documents.




LaTeX on Pratt Pundit

The Basics

Pratt Pundit can process most basic LaTeX structures by using math tags. For example,

\(q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\,\!\)

can be created using

<center>
\(q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\,\!\)
</center>

Note that the \,\! part forces Pundit to create a PNG graphic out of the equation. Otherwise, it may try to render the equation using text:

\(q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\)

which is not nearly as...cool - though apparently if you are *not* logged in the graphic gets rendered regardless... Some equations will not need the \,\! part:

\(a=\left(\frac{dv}{dt}\right)\)

though putting it in will not hurt. As time goes on, the default setting for Pundit may be to always render math as a graphic. The advantage of not doing that is, in text mode, you can have something like \(c^2=a^2+b^2-2ab\cos(\theta)\) as opposed to something like \(c^2=a^2+b^2-2ab\cos(\theta)\,\!\) which is not quite as smooth.

Equation Lists

For multiple equations one after the other, use the \begin{align} environment. This will allow you to line equations up by placing an ampersand just before the symbol on each line you want as the alignment character. Use \\ to go to the next equation. For example,

<center>\(
\begin{align}
q(t)&=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\\
a&=\left(\frac{dv}{dt}\right)
\end{align}
\)</center>

produces:

\( \begin{align} q(t)&=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\\ a&=\left(\frac{dv}{dt}\right) \end{align} \)

You can also have multiple equations in the same row:

<center>\(
\begin{align}
L_1&=10~\mbox{mH} & R_1&=15~\mbox{k}\Omega & C_1&=22~\mu\mbox{F}\\
L_2&=18~\mbox{mH} & R_2&=22~\mbox{k}\Omega & C_2&=17~\mu\mbox{F}
\end{align}
\)</center>

produces:

\( \begin{align} L_1&=10~\mbox{mH} & R_1&=15~\mbox{k}\Omega & C_1&=22~\mu\mbox{F}\\ L_2&=18~\mbox{mH} & R_2&=22~\mbox{k}\Omega & C_2&=17~\mu\mbox{F} \end{align} \)

Arrays

Arrays work perfectly well in Pundit - as long as you don't try to stretch them:

\( \begin{array}{|c|c|c|}\hline \mbox{Singularity Function} & \mbox{Name} & \mbox{Alternate Symbol} \\ \hline \hline <t-a>^0 & \mbox{unit step function} & u(t) \\ \hline <t-a>^1 & \mbox{unit ramp function} & r(t)=t~u(t) \\ \hline \frac{1}{2}<t-a>^2 & \mbox{unit parabola function} & p(t)=\frac{1}{2}t^2~u(t) \\ \hline \end{array} \)

Known Issues

  • LaTeX on Pundit does not know "unnumbered" versions of things. That is to say, trying to use \begin{align*}, for example with:
<center>\(
\begin{align*}
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
\end{align*}
\)</center>

will cause:

\( \begin{align*} e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!} \end{align*} \)

which is bad... Use the "unstarred" version:

<center>\(
\begin{align}
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
\end{align}
\)</center>

to get:

\( \begin{align} e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!} \end{align} \)
  • LaTeX on Pundit does not know the \renewcommand command - so arrays cannot be stretched.

FAQ

What's the 15-second summary of using LaTeX?

  1. Use emacs blah.tex & to generate the source code.
  2. Use latex blah.tex to process the file. If successful, among other things, you will have a new blah.dvi file.
  3. Use kdvi blah.dvi & to look at (and eventually print) the file.

Note - if you have a \tableofcontents, or a \listoffigures, or any \label and \ref commands, you will want to run the latex step three times before progressing to the kdvi step. Also, once you have run kdvi, you won't need to re-run it each time; kdvi will always look at the most current version of the dvi file. That is to say, a typical command history might be:

emacs lab1.tex &
latex lab1.tex
kdvi lab1.dvi &
latex lab1.tex
latex lab1.tex
latex lab1.tex
latex lab1.tex
latex lab1.tex

What do I do if LaTeX just sits there?

This depends on what kind of error you have. If you just typed latex or you spelled the name of the file you were trying to process incorrectly, you need to hit CTRL-D to get out of it. For all other errors, hitting CTRL-C, then x and return, will always get out of LaTeX regardless of the error

What did I do wrong?

Generally, LaTeX will try to tell you - look closely at the error message LaTeX gives you

What is Underfull hbox -10000?

It's a warning that something is a bit thin - generally a table or a figure. Don't worry about these at all.

Why does LaTeX think my align or align* environment is messed up?

To continue: "I have checked it thousands of time and it looks good to me!" Make sure there are no blank lines within the environment. For some reason align hates those. The following, for example, causes problems:

\begin{align}
a\\

b
\end{align}

Also - it may be in a line above the end of the align environment. You can use % in front of a line of LaTeX code to turn that whole line into a comment - doing that, you can find which line is having a bad day and correct it.

My \pagebreak doesn't...page...break Why?

Make sure there is a blank line after the \pagebreak command; that is:

blah
\pagebreak

more blah

How can I double space?

Basically, include the following two lines between the \documentclass and the \begin{document}[1]:

\usepackage{setspace}
\setstretch{2.0}

The MIT page has more options, including adding different spacing to sections of a document.

How do I get a $ Symbol

For the characters that LaTeX uses as code ($ and { or }) you need to issue the command to print those - in other words, \$ \{ and \} are the commands to print those individual characters. For example, the code:

\$\{10,000\}

will produce \( \$\{10,000\} \)

Why is kdvi saying it can't open zerosize things?

kdvi can only open valid .dvi files; if your last LaTeX run failed, you will not be able to look at the dvi version of that file until you successfully create one.

Questions

Post your questions by editing the discussion page of this article. Edit the page, then scroll to the bottom and add a question by putting in the characters *{{Q}}, followed by your question and finally your signature (with four tildes, i.e. ~~~~). Using the {{Q}} will automatically put the page in the category of pages with questions - other editors hoping to help out can then go to that category page to see where the questions are. See the page for Template:Q for details and examples.

External Links

References