CMSC 601 LaTeX Spring 2011 Tim Finin

advertisement
CMSC 601
LaTeX
Spring 2011
Tim Finin
finin@cs.umbc.edu
Objective
• Understand the role of LaTeX in your research
• Learn how to create a simple LaTeX2e
document
– Create a LaTeX source file
– Create and include figures
– Reference figures and sections
– Create lists
– Include other tex files
– Generate pdf output
– Cite bibliographic references
History: TeX and LaTeX
• Donald Knuth created TeX in the late 70s
so he could typeset his famous Art of
Computer Programming books
• TeX produced great output and was very
powerful (and programmable) but also
very obscure
• Leslie Lamport of SRI produced LaTeX in
the ealry 80s as a macro package making
TeX easy to use
• I’ve never know anyone who used TeX
directly
Other Options
• Microsoft Word is a great product
– Track changes is a great feature
– You can’t beat it for small documents
• HTML is fine if your target is a screen
– The W3C does all of its documentation in HTML
– The Kindle ebook format is HTML
• Google Docs is up and coming
– great for real-time collaboration
• That’s about it these days
– No one uses Tj6, Scribe, Pub, troff, WordPerfect, …
Why LaTeX?
Why LaTeX
• It’s good for complex documents
like a dissertation
• It’s the standard for Computer Science,
Mathematics and many other STEM fields
– Many conferences have their own LaTex document
– Elsevier uses LaTeX to typeset all their journals
• LaTeX’s bibliography system, BibTex, is the best
• LaTex is programmable!
• LaTeX is open source software, has a large
community of users and developers and a good
infrastructure (e.g., CTAN)
Accessing LaTeX
• Latex and associated tools are typically preinstalled on Linux and Mac OS X
• They are also on the CSEE servers and gl
• Use Miktex for Windows
sample.tex
\documentclass[12pt]{article}
\usepackage{times}
\begin{document}
\title{Hello World in LaTeX}
\author{My Name Goes Here}
\maketitle
Hello, world!
{\em Hello, world!}
{\bf Hello, world!}
{\Large \bf Hello, world!!!}
\end{document}
Latex comands start with a backslash,
required args are in {}, options in []s
Start by declaring the document type (article)
and use the 12pt option setting the font size
Loads required packages defining commands
or setting parameters
LaTex uses begin|end commands for blocks.
Every document must have a document block
The title and author command set document
variables and the maketitle command
generates the output text
Paragraphs are separated by blank lines
{}s introduce un-named blocks and control
scope. \em for italics, \bf for bold, \Large to
increase font size
Compiling with pdflatex
> pdflatex sample
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)
entering extended mode
(./sample.tex
LaTeX2e <2009/09/24> ...
(/usr/local/texlive/2009/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX
document class
(/usr/local/texlive/2009/texmf-dist/tex/latex/base/size12.clo))
...
Output written on sample.pdf (1 page, 29675 bytes).
Transcript written on sample.log.
f.tex
pdflatex
f.aux
f.pdf
Compiling, old school
> latex sample
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)
f.tex
latex
...
Output written on sample.dvi (1 page, 652 bytes).
Transcript written on sample.log.
> dvips sample -o sample.ps
This is dvips(k) 5.98 Copyright 2009 Radical Eye Software
(www.radicaleye.com)
' TeX output 2011.01.31:0857' -> sample.ps
...
> ps2pdf sample.ps
>
f.dvi
dvips
f.ps
ps2pdf
f.pdf
Output files
> ls -l sample*
-rw-r--r-- 1 finin staff
8 Jan 31 08:57 sample.aux
-rw-r--r-- 1 finin staff 652 Jan 31 08:57 sample.dvi
-rw-r--r-- 1 finin staff 3363 Jan 31 08:57 sample.log
-rw-r--r--@ 1 finin staff 3336 Jan 31 09:00 sample.pdf
-rw-r--r-- 1 finin staff 10664 Jan 31 08:58 sample.ps
-rw-r--r-- 1 finin staff 237 Jan 31 08:33 sample.tex
Files LaTeX Uses
• Input source file (.tex)
• Files containing structure and layout
definitions (.sty)
• Tex formatted output file (.dvi)
• Others:
.toc (table of contents), .lof (list of figures), .lot (list of
tables), .bib (bibliography)
Document Classes
• There are standard document classes: article,
report, book, slides, letter
\documentclass[11pt,letterpaper]{article}
• Conferences and journals publish their own
\documentclass[10pt,journal,compsoc]{IEEEtran}
\documentclass[runningheads,a4paper]{llncs}
• These an be further customized via packages
\usepackage{graphicx}
\usepackage{algorithm}
Including Other LaTeX Files
• Supports modularity
– a single LaTeX document can
consist of multiple LaTeX files
– Very useful for group work,
e.g., many authors using SVN
• \input{intro}
– used to include other Latex
files
– Latex filename is intro.tex
A typical top level file
\documentclass[letterpaper]{article}
\usepackage{aaai}
\usepackage{times}
\usepackage{graphicx}
% comment: more here
\begin{document}
\include{title}
\include{intro}
\include{motivation}
\include{related}
\include{approach}
\include{evaluation}
\include{conclusion}
\include{bibliograph}
\end{document}
More Complex LaTeX File
\documentclass[12pt]{article}
\usepackage{doublespace,epsfig}
\usepackage{../custom}
\begin{document}
\input{abstract}
\section{Sample Section}
\label{s:sample}
Text goes here...
\end{document}
Fall 1998
CPS 470 Software
15
Cross-references
• \label{key-string}
– assigns the key key-string to the current element of
the document
• \ref{key-string}
– inserts a string identifying the element to which keystring refers
• \pageref{key-string}
– inserts the page number on which the element
referenced by key-string appears
Cross-reference Example
Figure~\ref{f:figexample} in Section~\ref{s:sample}
is on page~\pageref{f:figexample}.
Figure 1 in Section 1 is on page 1.
Fall 1998
CPS 470 Software
17
Including a Figure
\begin{figure} [htbp]
\centerline{\epsfig{figure=figname.eps,
height=2.5in,silent=,clip=}}
\caption{\label{f:figexample} Example of a figure.}
\end{figure}
Making a List
\begin{itemize}
% \begin{enumerate}
\item Text for this item.
\item Text for this item.
\end{itemize}
% \end{enumerate}
Fall 1998
CPS 470 Software
19
Table of Contents
• Contains section headings and page
number where each section starts.
• \tableofcontents
Causes LaTeX to generate a .toc file
• Must run LaTeX on the file at least twice:
–On the first pass, LaTeX collects information
– On the second pass, LaTeX reads back
information and typesets it.
List of Figures
• Contains caption text of the figures and page
number where each figure appears.
• \listoffigures
– Causes LaTeX to generate .lof file.
• As for the table of contents, must run LaTeX at
least twice.
Bibliographies and BIBTeX
• Must create a bibliography “database”
– .bib file
– formatted by keyword, readable by BIBTeX
• Bibliographies can have different formats yet
the same .bib file (alphabetical, order of
citation, etc.)
• BIBTeX formats entries based on the
bibliography style chosen (.bst or .sty)
– ieeetr, plain, alpha, acm, etc.
BIBTeX Entry
• Entry type
– book, article, inproceedings, etc.
• Keyword identifying publication
– should be unique for each entry
• Series of fields for each type
– author, title, journal, etc.
Referencing .bib entry
• \cite{keyword}
• \nocite{key1, key2, key3,…}
• example:
In \cite{pressman97}, the characteristics of software
are discussed.
In [1], the characteristics of software are discussed.
BIBTex and LaTeX
• Command sequence
– latex file.tex
– bibtex file
– latex file
– May have to latex file again if unresolved references
• Sections
Format
– \section{…}
= 1. Latex is Great
– \subsection{…} = 1.1 Why Latex is Great
– \subsubsection{…} = 1.1.1 Reason One
– \appendix - changes numbering scheme
– \chapter{…} - To be used with book and report document
classes
• Titles, Authors and others
– \title{…}
\author{…}
– \footnote{…}
Lists
• Source
– \begin{itemize}
– \item Apple
– \item Orange
– \end{itemize}
• Result
– Apple
– Orange
Group
• Group is some text between { and }
• Many commands work until the end of the
group
• Code
– put {one word \bf in bold} here
• Result
– put one word in bold here
Alignment
• Environments center, flushleft,
flushright
• Example
– \begin{flushright}
– Right aligned
– \end{flushright}
• Result
Right aligned
Font size
\tiny \scriptsize \footnotesize
\small \normalsize
\large \Large
\LARGE \huge
\Huge
Example of Latex document
\documentclass{article}
\title{Simple Example}
\author{Andrei Gurtov}
\date{March 2000}
\begin{document}
\maketitle
Hello world!
\end{document}
• Columns
Tabular
– \begin{tabular}{|…|…|}
Two Columns
– \end{tabular}
• Rows
– & - Split text into columns
– \\ - End a row
– \hline - Draw line under row
– e.g. 123123 & 34.00\\ \hline
l = automatically adjust
size, left justify
r = automatically adjust
size, right justify
p = set size
e.g p{4.7cm}
c = centre text
Example of table
\begin{tabular}{|l|r|c|} \hline
Date & Price & Size \\ \hline
Yesterday & 5 & big \\ \hline
Today & 3 & small \\ \hline
\end{tabular}
Date
Price
Size
Yesterday
5
Big
Today
3
Small
Floating
Objects
• Floating objects can stop splitting of tables and
images over pages.
\begin{figure}[options]
\end{figure}
\begin{table}[options]
\end{table}
• They will now appear in the
– List of Figures (LOF) and
– List of Tables (LOT).
Options (recommendations)
h = place table here
t = place at top of page
b = place at bottom of page
Example of floating figure
• \begin{figure}[ht]
• \centering\epsfig{file=uni.ps, width=5cm}
• \caption{University of Helsinki}
• \label{uni}
• \end{figure}
Figure~\ref{uni}
shows...
• Use epsfig package
Images
• \usepackage{epsfig}
• Including images in main body
• \epsfig{file=filename.eps, width=10cm,
height=9cm, angle=90}
• Creating EPS - Use xv and/or xfig.
• MS Power Point, save as GIF and convert to EPS.
Bibliography by hand
\begin{thebibliography}{}
\bibitem[Come95]{Come95} Comer,
D. E., {\it Internetworking with TCP/IP:
Principles, Protocols and Architecture},
volume 1, 3rd edition. Prentice-Hall,
1995.
\end{thebibliography}
Bibliography using Bibtex
• Bibliography information is stored in a *.bib
file, in Bibtex format.
• Include chicago package
– \usepackage{chicago}
• Set referencing style
– \bibliographystyle{chicago}
• Create reference section by
– \bibliography{bibfile with no extension}
Bibliography using Bibtex
@book{Come95,
author=“D. E. Comer”,
title={Internetworking with TCP/IP: Principles, Protocols
and Architecture},
publisher=“Prentice-Hall”,
year=1995,
volume=1,
edition=“Third”}
Bibliography
contd.
• Citing references in text
– \cite{cuc98} = (Cuce 1998)
– \citeN{cru98} = Crud (1998)
– \shortcite{tom98} = (Tom, et. al. 1998)
• Creating Bibtex Files
– Use Emacs with extensions.
– or copy Bibtex entries from bibliography database.
Some Math
\begin{center}
{\large
$$ y=\frac{a^3+2c_{x}}{1+\sqrt{b_{x}}} $$ \\
\vspace{0.2in}
$$
Q=\sum_{i=1}^{j}\int_{\mu}^{\infty}f(x_{j})
dx $$ \\
\vspace{0.2in}
$$ \Psi = \oint_{\infty}^{\infty}f_{xy}({\frac{\partial
Qx}{\partial Qy}})^{\Im_{\pi}^ \prime} $$ \\ }
UNIX based systems
Tools
– xdvi, ghostview, fixps, emacs with latex/bibtex
support.
Windows 98/NT
– Ghostview, Acrobat Distiller, Acrobat Reader,
Scientific Workplace (not the best), the Bibtex
viewer is good. Paint Shop Pro, Latex and Emacs
Conclusions
• Latex is optimal for master and phd thesis?
• Mathematical formulae are easy.
• Use bibtex search engines
• Consider converting Postscript files to PDF
(more widespread in Windows world) and to
conserve space.
Download