Difference between revisions of "LaTeX"

From PrattWiki
Jump to navigation Jump to search
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Software| name=LaTeX|
 
{{Software| name=LaTeX|
 
byline=Document Preparation System|
 
byline=Document Preparation System|
image=|
+
image=[[File:LaTeX logo.png|200 px]]|
 
caption=|
 
caption=|
version=|
+
version=pdfTeXk 3.141592-1.40.3|
 
dlocation=On Unix|
 
dlocation=On Unix|
 
manufacturer=|
 
manufacturer=|
 
webpage=[http://www.latex-project.org/ <math>LaTeX</math> Project]|
 
webpage=[http://www.latex-project.org/ <math>LaTeX</math> Project]|
label_color=|Color value_color=|}}  
+
label_color=|Color value_color=|
 +
update=1/9/2018}}  
  
 
'''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''' 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.
  
 
<br clear=all>
 
__TOC__
 
<br clear=all>
 
 
==LaTeX on Pratt Pundit==
 
==LaTeX on Pratt Pundit==
 +
===The Basics===
 +
<!-- ## New math does not need \,\!
 
Pratt Pundit can process most basic LaTeX structures by using <code>math</code> tags.  For example,  
 
Pratt Pundit can process most basic LaTeX structures by using <code>math</code> tags.  For example,  
 
<center>
 
<center>
Line 21: Line 20:
 
</center>
 
</center>
 
can be created using
 
can be created using
<source lang="latex">
+
<source lang=latex>
 
<center>
 
<center>
 
<math>q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\,\!</math>
 
<math>q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\,\!</math>
Line 28: Line 27:
  
 
Note that the <code>\,\!</code> part '''forces''' Pundit to create a PNG graphic out of the equation.  Otherwise, it may try to render the equation using text:
 
Note that the <code>\,\!</code> part '''forces''' Pundit to create a PNG graphic out of the equation.  Otherwise, it may try to render the equation using text:
 +
<center>
 +
<math>q(t)~=~q(t_0)+\int_{t_0}^ti(\tau)~d\tau</math>
 +
</center>
 +
which is not nearly as...cool - though apparently if you are *not* logged in the graphic gets rendered regardless... 
 +
-->
 +
 +
Pratt Pundit can process most basic LaTeX structures by using <code>math</code> tags.  For example,
 
<center>
 
<center>
 
<math>q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau</math>
 
<math>q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau</math>
 
</center>
 
</center>
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 <code>\,\!</code> part:
+
can be created using
 +
<source lang="latex">
 
<center>
 
<center>
<math>a=\left(\frac{dv}{dt}\right)</math>
+
<math>q(t)=q(t_0)+\int_{t_0}^ti(\tau)~d\tau</math>
 
</center>
 
</center>
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 <math>c^2=a^2+b^2-2ab\cos(\theta)</math> as opposed to something like <math>c^2=a^2+b^2-2ab\cos(\theta)\,\!</math> which is not quite as smooth.
+
</source>
 +
 
 +
Equations can also be inline - for instance, <math>c^2=a^2+b^2-2ab\cos(\theta)</math> is an equation.  The code for that is:
 +
<source lang="latex">
 +
Equations can also be inline - for instance, <math>c^2=a^2+b^2-2ab\cos(\theta)</math> is an equation.
 +
</source>
 +
 
 +
===Equation Lists===
 +
For multiple equations one after the other, use the <code>\begin{align}</code> 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,
 +
<source lang="latex">
 +
<center><math>
 +
\begin{align}
 +
q(t)&=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\\
 +
a&=\left(\frac{dv}{dt}\right)
 +
\end{align}
 +
</math></center>
 +
</source>
 +
produces:
 +
<center><math>
 +
\begin{align}
 +
q(t)&=q(t_0)+\int_{t_0}^ti(\tau)~d\tau\\
 +
a&=\left(\frac{dv}{dt}\right)
 +
\end{align}
 +
</math></center>
 +
 
 +
You can also have multiple equations in the same row:
 +
<source lang="latex">
 +
<center><math>
 +
\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}
 +
</math></center>
 +
</source>
 +
produces:
 +
<center><math>
 +
\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}
 +
</math></center>
 +
===Arrays===
 +
Arrays work perfectly well in Pundit - as long as you don't try to stretch them:
 +
<center><math>
 +
\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}
 +
</math></center>
 +
== Known Issues ==
 +
* LaTeX on Pundit does not know "unnumbered" versions of things.  That is to say, trying to use <code>\begin{align*}</code>, for example with:
 +
<source lang="latex">
 +
<center><math>
 +
\begin{align*}
 +
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
 +
\end{align*}
 +
</math></center>
 +
</source>
 +
will cause:
 +
<center><math>
 +
\begin{align*}
 +
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
 +
\end{align*}
 +
</math></center>
 +
which is bad...  Use the "unstarred" version:
 +
<source lang="latex">
 +
<center><math>
 +
\begin{align}
 +
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
 +
\end{align}
 +
</math></center>
 +
</source>
 +
to get:
 +
<center><math>
 +
\begin{align}
 +
e^x&=\sum_{k=0}^{\infty}\frac{x^k}{k!}
 +
\end{align}
 +
</math></center>
 +
* LaTeX on Pundit does not know the <code>\renewcommand</code> command - so arrays cannot be stretched.
  
 
==FAQ==
 
==FAQ==
Line 41: Line 128:
 
# Use '''emacs blah.tex &''' to generate the source code.
 
# Use '''emacs blah.tex &''' to generate the source code.
 
# Use '''latex blah.tex''' to process the file.  If successful, among other things, you will have a new blah.dvi file.
 
# Use '''latex blah.tex''' to process the file.  If successful, among other things, you will have a new blah.dvi file.
# Use '''kdvi blah.dvi &''' to look at (and eventually print) the file.
+
# Use '''dvipdf blah.dvi''' to create a PDF file from the DVI file.
 +
# Use '''evince blah.pdf &''' 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:
+
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 evince step.  Also, once you have run evince, you won't need to re-run it each time; evince will always look at the most current version of the pdf file - meaning you '''will'' have to run both latex and dvipdf to get a new version of the PDF file to view.  That is to say, a typical command history might be:
 
<source lang="text">
 
<source lang="text">
 
emacs lab1.tex &
 
emacs lab1.tex &
 
latex lab1.tex
 
latex lab1.tex
kdvi lab1.dvi &
+
dvipdf lab1.dvi
 +
evince lab1.pdf &
 
latex lab1.tex
 
latex lab1.tex
 +
dvipdf lab1.dvi
 
latex lab1.tex
 
latex lab1.tex
 +
dvipdf lab1.dvi
 
latex lab1.tex
 
latex lab1.tex
 +
dvipdf lab1.dvi
 
latex lab1.tex
 
latex lab1.tex
 +
dvipdf lab1.dvi
 
latex lab1.tex
 
latex lab1.tex
 +
dvipdf lab1.dvi
 
</source>
 
</source>
  
 
===What do I do if LaTeX just sits there?===
 
===What do I do if LaTeX just sits there?===
This depends on what kind of error you have.  If you just typed <code>latex</code> ''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  
+
If LaTeX hits an error, hit x and return for almost all errors (CTRL-D if it is a file missing error) to get out of LaTeX, then search above for the error, its location, and its probably cause.
 +
 
 
===What did I do wrong?===
 
===What did I do wrong?===
 
Generally, LaTeX will try to tell you - look closely at the error message LaTeX gives you  
 
Generally, LaTeX will try to tell you - look closely at the error message LaTeX gives you  
Line 74: Line 169:
  
 
===My \pagebreak doesn't...page...break  Why?===
 
===My \pagebreak doesn't...page...break  Why?===
Make sure there is ablank line after the \pagebreak command; that is:
+
Make sure there is a blank line after the \pagebreak command; that is:
 
<source lang="latex">
 
<source lang="latex">
 
blah
 
blah
Line 83: Line 178:
  
 
===How can I double space?===
 
===How can I double space?===
Basically, include the following two lines between the \documentclass and the \begin{document}<ref name=MIT>[http://web.mit.edu/answers/latex/formatting/latex_spacing.html How to change the SPACING inside documents (DOUBLE SPACING)] - from MIT</ref>:
+
Basically, include the following two lines between the \documentclass and the \begin{document}<ref name=MIT>[http://kb.mit.edu/confluence/pages/viewpage.action?pageId=3907092 How can I change the spacing in my LaTeX document?] - from MIT</ref>:
 
<source lang="latex">
 
<source lang="latex">
\usepackage{spacing}
+
\usepackage{setspace}
 
\setstretch{2.0}
 
\setstretch{2.0}
 
</source>
 
</source>
 +
The MIT page has more options, including adding different spacing to sections of a document.
  
 
===How do I get a $ Symbol===
 
===How do I get a $ Symbol===
Line 98: Line 194:
 
\$\{10,000\}
 
\$\{10,000\}
 
</math>
 
</math>
 +
  
 
==Questions==
 
==Questions==
Line 103: Line 200:
  
 
==External Links==
 
==External Links==
 +
*[http://meta.wikimedia.org/wiki/Help:Displaying_a_formula Displaying a formula] on the Meta-Wiki
 
*[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.26 (as of 9/25/2008).  If that link doesn't work, try  
+
*Tobias Oetiker's "[http://mirrors.concertpass.com/tex-archive/info/lshort/english/lshort-letter.pdf  The Not So Short Introduction to LaTeX2e]" - great guide for beginning (and not so beginning) users.  Should be version 5.05 (from 7/18/2015; last checked 1/9/2018).  If that link doesn't work, try  
**[http://www.duke.edu/~mrg/Pundit/lshort.pdf Mirror 1] at Duke
+
**[http://tobi.oetiker.ch/lshort/lshort-letter.pdf Mirror] in Switzerland
**[http://tobi.oetiker.ch/lshort/lshort.pdf Mirror 2] in Switzerland
 
  
*Andrew Roberts' [http://www.andy-roberts.net/misc/latex/index.html "Getting to grips with LaTeX"] tutorial  
+
*Andrew Roberts' [http://www.andy-roberts.net/writing/latex "Getting to grips with LaTeX"] tutorial  
*The Comprehensive LaTeX Symbol List, Scott Pakin ([http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf PDF], over 100 pages!)
+
*The Comprehensive LaTeX Symbol List, Scott Pakin ([http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-letter.pdf PDF], over 100 pages! from 1/19/2017
*Short Math Guide for LaTeX, Michael Downes ([ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf PDF], 17 pages)
+
** [[http://www.ams.org/publications/authors/tex/amslatex AMS-LaTeX]] page
 
*A more "visual" version of LaTeX:  [http://www.lyx.org LyX].
 
*A more "visual" version of LaTeX:  [http://www.lyx.org LyX].
 
*[http://www.tug.org/texshowcase/ LaTeX Showcase]
 
*[http://www.tug.org/texshowcase/ LaTeX Showcase]
*[http://www.tug.org/mactex/ LaTeX for Macintosh Users]
+
*[http://www.tug.org/mactex/ MacTeX]- LaTeX for Macintosh Users with OS 10.5 or higher|
 +
*[https://www.tug.org/texlive/ TeX Live]
  
 
== References ==
 
== References ==
Line 120: Line 218:
  
 
[[Category:Software]]
 
[[Category:Software]]
[[Category:EGR 53]]
+
[[Category:ECE 280]]
 +
[[Category:ECE 382]]
 +
[[Category:EGR 103]]
 +
[[Category:EGR 224]]
 +
[[Category:ME 344]]
 +
 
 +
[[Category:Semester Update]]

Revision as of 00:22, 10 January 2018

LaTeX
Document Preparation System
200 px
Version pdfTeXk 3.141592-1.40.3
Download On Unix
Web Page \(LaTeX\) Project
Pundit Updated 1/9/2018


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>

Equations can also be inline - for instance, \(c^2=a^2+b^2-2ab\cos(\theta)\) is an equation. The code for that is:

Equations can also be inline - for instance,  \(c^2=a^2+b^2-2ab\cos(\theta)\) is an equation.

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 dvipdf blah.dvi to create a PDF file from the DVI file.
  4. Use evince blah.pdf & 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 evince step. Also, once you have run evince, you won't need to re-run it each time; evince will always look at the most current version of the pdf file - meaning you 'will have to run both latex and dvipdf to get a new version of the PDF file to view. That is to say, a typical command history might be:

emacs lab1.tex &
latex lab1.tex
dvipdf lab1.dvi
evince lab1.pdf &
latex lab1.tex
dvipdf lab1.dvi
latex lab1.tex
dvipdf lab1.dvi
latex lab1.tex
dvipdf lab1.dvi
latex lab1.tex
dvipdf lab1.dvi
latex lab1.tex
dvipdf lab1.dvi

What do I do if LaTeX just sits there?

If LaTeX hits an error, hit x and return for almost all errors (CTRL-D if it is a file missing error) to get out of LaTeX, then search above for the error, its location, and its probably cause.

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\} \)


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