cmsc 601 latex spring 2011 tim finin [email protected]
TRANSCRIPT
![Page 2: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/2.jpg)
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
![Page 3: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/3.jpg)
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
![Page 4: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/4.jpg)
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, …
![Page 5: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/5.jpg)
Why LaTeX?
![Page 6: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/6.jpg)
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)
![Page 7: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/7.jpg)
Accessing LaTeX
• Latex and associated tools are typically pre-installed on Linux and Mac OS X
• They are also on the CSEE servers and gl• Use Miktex for Windows
![Page 8: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/8.jpg)
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}
Start by declaring the document type (article) and use the 12pt option setting the font sizeStart by declaring the document type (article) and use the 12pt option setting the font size
Loads required packages defining commands or setting parametersLoads required packages defining commands or setting parameters
LaTex uses begin|end commands for blocks. Every document must have a document blockLaTex 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
The title and author command set document variables and the maketitle command generates the output text
Latex comands start with a backslash, required args are in {}, options in []sLatex comands start with a backslash, required args are in {}, options in []s
Paragraphs are separated by blank linesParagraphs are separated by blank lines
{}s introduce un-named blocks and control scope. \em for italics, \bf for bold, \Large to increase font size
{}s introduce un-named blocks and control scope. \em for italics, \bf for bold, \Large to increase font size
![Page 9: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/9.jpg)
f.auxf.aux
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.texf.tex
pdflatexpdflatex
f.pdff.pdf
![Page 10: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/10.jpg)
Compiling, old school> latex sample
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009)...
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.texf.tex
latexlatex
dvipsdvips
f.dvif.dvi
f.psf.ps
ps2pdfps2pdf
f.pdff.pdf
![Page 11: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/11.jpg)
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
![Page 12: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/12.jpg)
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)
![Page 13: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/13.jpg)
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}
–Using additional packages
![Page 14: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/14.jpg)
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
\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}
\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}
A typical top level file
![Page 15: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/15.jpg)
Fall 1998 CPS 470 Software Engineering
15
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}
![Page 16: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/16.jpg)
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 key-
string refers
• \pageref{key-string}– inserts the page number on which the element
referenced by key-string appears
![Page 17: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/17.jpg)
Fall 1998 CPS 470 Software Engineering
17
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.
![Page 18: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/18.jpg)
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}
![Page 19: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/19.jpg)
Fall 1998 CPS 470 Software Engineering
19
Making a List
\begin{itemize}% \begin{enumerate}
\item Text for this item.
\item Text for this item.
\end{itemize}% \end{enumerate}
![Page 20: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/20.jpg)
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.
![Page 21: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/21.jpg)
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.
![Page 22: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/22.jpg)
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.
![Page 23: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/23.jpg)
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.
![Page 24: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/24.jpg)
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.
![Page 25: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/25.jpg)
BIBTex and LaTeX
• Command sequence– latex file.tex–bibtex file– latex file–May have to latex file again if unresolved references
![Page 26: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/26.jpg)
Format• Sections– \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{…}
![Page 27: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/27.jpg)
Lists
• Source–\begin{itemize}–\item Apple–\item Orange–\end{itemize}
• Result–Apple–Orange
![Page 28: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/28.jpg)
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
![Page 29: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/29.jpg)
Alignment
• Environments center, flushleft, flushright
• Example–\begin{flushright}–Right aligned–\end{flushright}
• ResultRight aligned
![Page 30: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/30.jpg)
Font size
\tiny \scriptsize \footnotesize
\small \normalsize \large \Large
\LARGE \huge
\Huge
![Page 31: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/31.jpg)
Example of Latex document
\documentclass{article}
\title{Simple Example}
\author{Andrei Gurtov}
\date{March 2000}
\begin{document}
\maketitle
Hello world!
\end{document}
![Page 32: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/32.jpg)
Tabular• Columns– \begin{tabular}{|…|…|}– \end{tabular}
• Rows– & - Split text into columns– \\ - End a row– \hline - Draw line under row– e.g. 123123 & 34.00\\ \hline
Two Columns
l = automatically adjust size, left justifyr = automatically adjust size, right justifyp = set size e.g p{4.7cm}c = centre text
![Page 33: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/33.jpg)
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
![Page 34: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/34.jpg)
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 heret = place at top of pageb = place at bottom of page
![Page 35: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/35.jpg)
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...
![Page 36: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/36.jpg)
Images • Use epsfig package• \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.
![Page 37: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/37.jpg)
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}
![Page 38: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/38.jpg)
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}
![Page 39: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/39.jpg)
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”}
![Page 40: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/40.jpg)
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.
![Page 41: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/41.jpg)
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{\
partialQx}{\partial Qy}})^{\Im_{\pi}^ \prime} $$ \\ }
![Page 42: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/42.jpg)
ToolsUNIX based systems
–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
![Page 43: CMSC 601 LaTeX Spring 2011 Tim Finin finin@cs.umbc.edu](https://reader030.vdocuments.us/reader030/viewer/2022020111/56649eb55503460f94bbd634/html5/thumbnails/43.jpg)
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.