david bernstein - james madison universityjames university® madison formatting basics descriptions...

60
JAMES UNIVERSITY® MADISON An Introduction to T E Xand L A T E X David Bernstein James Madison University February 2012 David Bernstein (www.cs.jmu.edu) LAT E X February 2012 1 / 57

Upload: others

Post on 10-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

An Introduction to TEXand LATEX

David Bernstein

James Madison University

February 2012

David Bernstein (www.cs.jmu.edu) LATEX February 2012 1 / 57

Page 2: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Introduction

About TEXand LATEX

• TEX:A programmable/extensible application that formats text

• LATEX:A markup language written in TEX

• Descendants:

LATEX 2ε The most recent complete version of LATEX

BIBTEX An auxiliary program that automatically constructs bibliographisfor LATEXdocuments

AMS-LATEX Extensions to LATEXwritten by the American MathematicalSociety

David Bernstein (www.cs.jmu.edu) LATEX February 2012 2 / 57

Page 3: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Creating a Document

Editors

• AUCTEX

• Eclipse (TeXlipse plugin)

• Emacs

• Gedit

• Lyx

• Many others!

David Bernstein (www.cs.jmu.edu) LATEX February 2012 3 / 57

Page 4: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Creating a Document

The Structure of a Document

\documentclass{}\begin{document}

\section{}

\subsection{}

\subsection{}

\section{}

\end{document}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 4 / 57

Page 5: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Creating a Document

Some Document Classes

• articleThe standard article class

• bookThe standard book class

• beamerA popular class for presentations

• memoirA popular (and flexible) class for books and other long documents

• acm proc article-sp (and sigcomm-alternate)Some classes used by the ACM

David Bernstein (www.cs.jmu.edu) LATEX February 2012 5 / 57

Page 6: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Creating a Document

Metadata

\title{}

\author{}

\date{}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 6 / 57

Page 7: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Generating and Viewing Output

Generating Output

• The Standard Process1. latex name.tex2. latex name.tex3. dvips name.dvi -o name.ps4. ps2pdf name.ps name.pdf (Requires Ghostscript)

• An Alternate Process1. pdflatex name.tex2. pdflatex name.tex

David Bernstein (www.cs.jmu.edu) LATEX February 2012 7 / 57

Page 8: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Generating and Viewing Output

Viewing Output

• .dvi Filesxdvi

• .ps FilesGhostview

• .pdf FilesAcrobat Reader

David Bernstein (www.cs.jmu.edu) LATEX February 2012 8 / 57

Page 9: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Font Attributes

Input

\textrm{roman},\texttt{typewriter},\textsf{sans serif}

\textit{italic},\textsl{slanted},\textsc{small caps}

\textmd{medium},\textbf{bold}

Output

roman, typewriter, sans serifitalic, slanted, SMALL CAPS

medium, bold

David Bernstein (www.cs.jmu.edu) LATEX February 2012 9 / 57

Page 10: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Font Sizes

Input

\tiny tiny\scriptsize scriptsize\footnotesize footnotesize\small small\normalsize normal\large large\Large Large\LARGE LARGE\huge huge\Huge Huge

Output

tiny scriptsize footnotesize small normal large

Large LARGE huge

Huge

David Bernstein (www.cs.jmu.edu) LATEX February 2012 10 / 57

Page 11: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Centering

Input

\begin{center}Computer Science Dept.\\James Madison University\end{center}

Output

Computer Science Dept.James Madison University

David Bernstein (www.cs.jmu.edu) LATEX February 2012 11 / 57

Page 12: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Indenting

Input

\begin{quote}The Analytical Engine weaves Algebraical patterns just asthe Jacquard loom weaves flowers and leaves.\end{quote}\begin{flushright}Ada Augusta\end{flushright}

Output

The Analytical Engine weaves Algebraical patterns just as the Jacquardloom weaves flowers and leaves.

Ada Augusta

David Bernstein (www.cs.jmu.edu) LATEX February 2012 12 / 57

Page 13: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Bulleted Lists

Input

\begin{itemize}\item CS349\item CS462\end{itemize}

Output

• CS349

• CS462

David Bernstein (www.cs.jmu.edu) LATEX February 2012 13 / 57

Page 14: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Enumerated Lists

Input

\begin{enumerate}\item Compile\item Link\item Execute\end{enumerate}

Output

1. Compile

2. Link

3. Execute

David Bernstein (www.cs.jmu.edu) LATEX February 2012 14 / 57

Page 15: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Descriptions

Input

\begin{description}\item[multi] is from theLatin word ‘‘multus’’,which means ‘‘numerous’’\item[media] is from theLatin word ‘‘medium’’,which means ‘‘center’’

\end{description}

Output

multi is from the Latin word“multus”, whichmeans “numerous”

media is from the Latin word“medium”, whichmeans “center”

David Bernstein (www.cs.jmu.edu) LATEX February 2012 15 / 57

Page 16: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Footnotes and Marginal Notes

\footnote{The text of the note.}

\marginpar{Important!}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 16 / 57

Page 17: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Basics

Colors

\usepackage{color}

\definecolor{cornsilk}{rgb}{1.00,0.96,0.86}\definecolor{darkolivegreen}{rgb}{0.33,0.42,0.18}\definecolor{gainsboro}{rgb}{0.86,0.86,0.86}\definecolor{indianred}{rgb}{0.80,0.36,0.36}\definecolor{khaki}{rgb}{0.94,0.90,0.55}\definecolor{orange}{rgb}{1.00,0.65,0.00}\definecolor{skyblue}{rgb}{0.53,0.81,0.92}

\definecolor{code-color}{rgb}{0.86,0.86,0.86}

\colorbox{cornsilk}{Text}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 17 / 57

Page 18: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Tables

Input

\begin{tabular}{cc|cc}P & Q & P or Q& P xor (P or Q) \\\hlineT & T & T & F \\T & F & T & F \\F & T & T & T \\F & F & F & F \\\end{tabular}

Output

P Q P or Q P xor (P or Q)T T T FT F T FF T T TF F F F

David Bernstein (www.cs.jmu.edu) LATEX February 2012 18 / 57

Page 19: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Floating Tables

\begin{table}[tb]\begin{tabular}{lrl}\hline\hlineCourse & Enrollment & Prerequisites \\\hlineCS239 & 150 & CS139 \\CS462 & 65 & CS240, CS460 \\\hline\hline\end{tabular}\caption{Computer Science Courses}\end{table}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 19 / 57

Page 20: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Floating Tables (cont.)

Course Enrollment PrerequisitesCS239 150 CS139CS462 65 CS240, CS460

Table: Computer Science Courses

David Bernstein (www.cs.jmu.edu) LATEX February 2012 20 / 57

Page 21: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Figures

\usepackage{graphics}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 21 / 57

Page 22: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Figures (cont.)

Input

\includegraphics[width=1in]{ellipse-radialdistance.eps}

Output

David Bernstein (www.cs.jmu.edu) LATEX February 2012 22 / 57

Page 23: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Tables and Figures

Floating Figures

\begin{figure}[tb]\includegraphics[width=1in]{ellipse-radialdistance.eps}\caption{The Radial Distance}\end{figure}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 23 / 57

Page 24: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Mathematical Environments

Text:

\begin{math} formula \end{math}\( formula \)$ formula $

Displayed:

\begin{equation} formula \end{equation}\begin{equation*} formula \end{equation*}\begin{displaymath} formula \end{displaymath}\begin{eqnarray} formula \end{eqnarray}\begin{eqnarray*} formula \end{eqnarray*}\[ formula \]

David Bernstein (www.cs.jmu.edu) LATEX February 2012 24 / 57

Page 25: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Constants and Variables

Input

$x y z$

$5x 3y 2z$

$3.1415$

$\alpha \beta \gamma$

$\Gamma \Delta \Theta$

Outputxyz5x3y2z3.1415αβγΓ∆Θ

David Bernstein (www.cs.jmu.edu) LATEX February 2012 25 / 57

Page 26: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Math Accents

Input

$\hat{a} \tilde{b} $

$\dot{u} \ddot{v} $

$\bar{x} \vec{y} $

Output

abuvx�y

David Bernstein (www.cs.jmu.edu) LATEX February 2012 26 / 57

Page 27: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Operators

Input

$x + 5 + 9 = z$

$(3 + x) \approx (2+y)$

$x > 7 \forall x \in X$

$(x \leq 7)\Rightarrow(A \cup B \subseteq C)$

Output

x + 5 + 9 = z(3 + x) ≈ (2 + y)x > 7∀ x ∈ X(x ≤ 7) ⇒ (A ∪ B ⊆ C)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 27 / 57

Page 28: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Functions

Input

$\sin(x)$

$\log(100)$

$a = \max(x,y,z)$

Output

sin(x)log(100)a = max(x, y, z)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 28 / 57

Page 29: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Exponents and Indices

Input

$aˆ2 + bˆ2 = cˆ2$

$xˆ{2n}$

$yˆ2_i$

$\lim_{x\to\infty} x/xˆ2$

$Aˆ{xˆ2_i}$

Output

a2 + b2 = c2

x2n

y2i

limx→∞ x/x2

Ax2i

David Bernstein (www.cs.jmu.edu) LATEX February 2012 29 / 57

Page 30: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Fractions

Input

$\frac{1}{x}$

\[\frac{\frac{a}{x-y}+\frac{b}{x+y}}

{1 + \frac{aˆ2 - bˆ2}{a + b}}\]

Output1x

ax−y +

bx+y

1+ a2−b2a+b

David Bernstein (www.cs.jmu.edu) LATEX February 2012 30 / 57

Page 31: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Roots

Input

\[\sqrt{xˆ2 + yˆ2 + 2xy} = x + y\]

\[\sqrt[n]{\frac{1}{x+y}}\]

Output

√x2 + y2 + 2xy = x + y

n

√1

x+y

David Bernstein (www.cs.jmu.edu) LATEX February 2012 31 / 57

Page 32: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Sums, Products, Integrals, etc...

Input

\[\sum_{a \in A}\int_0ˆ{f_a} c(x) dx\]\[\prod_{i=0}ˆ{n} x_i\]\[ \bigcup_{A \subset X} A\]

Output

∑a∈A

∫ fa0 c(x)dx

∏ni=0 xi

⋃A⊂X A

David Bernstein (www.cs.jmu.edu) LATEX February 2012 32 / 57

Page 33: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

Binomial Coeficients

Input

\[{n+1 \choose k} = {n \choose k} + {n \choose k-1}\]

Output

(n+1k

)=

(nk

)+

( nk−1

)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 33 / 57

Page 34: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Formatting Mathematics

An Example of Text and Displayed Formulae

Input

$\sum_{n=0}ˆ\infty (n+1) xˆn =\frac{1}{(1-x)ˆ2} \mbox{ for } |x|<1$

\begin{equation}\sum_{n=0}ˆ\infty (n+1) xˆn =\frac{1}{(1-x)ˆ2} \mbox{ for } |x|<1\end{equation}

Output∑∞

n=0(n + 1)xn = 1(1−x)2 for | x |< 1

∞∑n=0

(n + 1)xn =1

(1 − x)2for | x |< 1 (1)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 34 / 57

Page 35: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Internal References

Introduction

• The Issue:It is often necessary to refer to items in a document (e.g., a particular equation orfigure).

• The Problem with the Traditional Approach:When you move an item its number changes and, hence, all references to it mustchange.

• The Approach in LATEX:Associate items with textual labels

Refer to those textual labels

David Bernstein (www.cs.jmu.edu) LATEX February 2012 35 / 57

Page 36: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Internal References

An Ordinary Reference

Input

\begin{equation}\sum_{j=0}ˆ8 (2ˆ{j+1}-2ˆj)\label{telescoping-sum}\end{equation}Now, since $(2ˆ{j+1}-2ˆj) = (2 \cdot 2ˆj - 2ˆj) = 2ˆj$,it follows that (\ref{telescoping-sum}) is just the sum of

Output

8∑j=0

(2j+1 − 2j) (2)

Now, since (2j+1 − 2j) = (2 · 2j − 2j) = 2j, it follows that (2) is just the sum of

David Bernstein (www.cs.jmu.edu) LATEX February 2012 36 / 57

Page 37: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Internal References

A Forward Reference

Input

Consider the conjecture given in (\ref{conjecture}) below:

\begin{equation}\frac{1}{1 \cdot 2} + \frac{1}{2 \cdot 3} + \cdots+ \frac{1}{n \cdot (n+1)} = \frac{n}{n+1}\label{conjecture\end{equation}

Output

Consider the conjecture given in (3) below:

11 · 2

+1

2 · 3+ · · · + 1

n · (n + 1)=

nn + 1

(3)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 37 / 57

Page 38: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Program Listings

Setup

\usepackage{listings}

\lstset{language=Java}\lstset{basicstyle=\small\ttfamily}\lstset{commentstyle=\small\ttfamily}\lstset{morecomment=[is]{/*}{*/}} % Discard comments\lstset{backgroundcolor=\color{code-color}}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 38 / 57

Page 39: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Program Listings

Literal Code

Input

\begin{lstlisting}public int gcd(int a,int b){int x = Math.abs(a);int y = Math.abs(b);while (y != 0) {

int r = x % y;x = y; y = r;

}return x;

}\end{lstlisting}

Output

public int gcd(int a,int b){int x = Math.abs(a);int y = Math.abs(b);while (y != 0) {

int r = x % y;x = y; y = r;

}return x;

}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 39 / 57

Page 40: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Program Listings

Including External Code

\lstinputlisting{RectilinearMetric.java}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 40 / 57

Page 41: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Program Listings

Including External Code (cont.)

public class RectilinearMetric implements Metric{

public double distance(double[] x, double[] y){

double result;int n;

result = 0.0;n = Math.min(x.length, y.length);for (int i=0; i<n; i++) result += Math.abs(x[i]-y[i]);

return result;}

}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 41 / 57

Page 42: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Program Listings

Including a Fragment

Setup:

\lstset{rangeprefix=//}\lstset{rangesuffix=.}\lstset{includerangemarker=false}

An Example:

\lstinputlisting[linerange=\[quadcurve-\]quadcurve]{SimpleShapeCanvas.java}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 42 / 57

Page 43: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Requirements in Z

A State Space Schema

Input

\begin{schema}{DateBook}known: \power NAME \\bd: NAME \pfun DATE

\whereknown=\dom bd

\end{schema}

Output

DateBookknown : P NAMEbd : NAME �→ DATE

known = dom bd

David Bernstein (www.cs.jmu.edu) LATEX February 2012 43 / 57

Page 44: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

For Computer Science Requirements in Z

An Operation Schema

Input

\begin{schema}{AddBday}\Delta DateBook \\name?: NAME \\date?: DATE

\wherename? \notin known

\alsobd’ =bd \cup\{name? \mapsto date?\}

\end{schema}

Output

AddBday∆DateBookname? : NAMEdate? : DATE

name? /∈ known

bd′ = bd ∪ {name? �→ date?}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 44 / 57

Page 45: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Bibliographic References

Two Approaches

• LATEXA bibliography can be created using the thebibliography environment (whichcontains bibitem elements).The problem is that one often refers to the same book/article in multiple documents.

• BIBTEXA bibliographic database that can be used with LATEX

David Bernstein (www.cs.jmu.edu) LATEX February 2012 45 / 57

Page 46: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Bibliographic References

An Example Database

@BOOK{Fox,AUTHOR = "Christopher Fox",TITLE = "Introduction to Software Engineering Design",PUBLISHER = "Addison-Wesley Publishing Company",ADDRESS = "Reading, Massachusetts",YEAR = "2006" }

@BOOK{GOF,AUTHOR = "Erich Gamma and Richard Helm and Ralph Johnson

and John Vlissides",TITLE = "Design Patterns: Elements of Reusable

Object-Oriented Software",PUBLISHER = "Addison-Wesley Publishing Company",ADDRESS = "Reading, Massachusetts",YEAR = "1995" }

David Bernstein (www.cs.jmu.edu) LATEX February 2012 46 / 57

Page 47: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Bibliographic References

Referring to the Database

As defined, for example, in \cite{Fox}, a{\em method signature} includes the name,parameters (including types), return type,‘‘receiver’’, and scope.

David Bernstein (www.cs.jmu.edu) LATEX February 2012 47 / 57

Page 48: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Bibliographic References

Including the Database

In the LATEXDocument:

\bibliographystyle{abbrv}\bibliography{design} % The file is design.bib

In the Command Shell:

bibtex name.tex

creates the .bbl file that is used in the last pass of latex.

David Bernstein (www.cs.jmu.edu) LATEX February 2012 48 / 57

Page 49: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Basics

Beamer

• Explained:A document class that can be used to create presentation materials.

• An Example:This presentation.

David Bernstein (www.cs.jmu.edu) LATEX February 2012 49 / 57

Page 50: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Basics

The Slides

Individual slides are created using the frame environment.

David Bernstein (www.cs.jmu.edu) LATEX February 2012 50 / 57

Page 51: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Basics

Environments in Slides

\begin{itemize}\end{itemize}

\begin{enumerate}\end{enumerate}

\begin{block}\end{block}

\begin{exampleblock}\end{exampleblock}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 51 / 57

Page 52: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

Motivation for Overlays

• A Common Need:Slides that change in response to key presses/mouse clicks.

• The Solution:Include different versions of the slide in sequence.

David Bernstein (www.cs.jmu.edu) LATEX February 2012 52 / 57

Page 53: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

An Example

\begin{itemize}\spread\item<1-> \texttt{article}: The standard article class

\item<2-> \texttt{book}: The standard book class

\item<3-> \texttt{beamer}: A popular class forpresentations

\item<4-> \texttt{memoir}: A popular (and flexible)class for books andother long documents

\end{itemize}

David Bernstein (www.cs.jmu.edu) LATEX February 2012 53 / 57

Page 54: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

The Output of the Example

• article: The standard article class

• book: The standard book class

• beamer: A popular class for presentations

• memoir: A popular (and flexible) class for books and other long documents

David Bernstein (www.cs.jmu.edu) LATEX February 2012 54 / 57

Page 55: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

The Output of the Example

• article: The standard article class

• book: The standard book class

• beamer: A popular class for presentations

• memoir: A popular (and flexible) class for books and other long documents

David Bernstein (www.cs.jmu.edu) LATEX February 2012 54 / 57

Page 56: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

The Output of the Example

• article: The standard article class

• book: The standard book class

• beamer: A popular class for presentations

• memoir: A popular (and flexible) class for books and other long documents

David Bernstein (www.cs.jmu.edu) LATEX February 2012 54 / 57

Page 57: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Presentations Overlays

The Output of the Example

• article: The standard article class

• book: The standard book class

• beamer: A popular class for presentations

• memoir: A popular (and flexible) class for books and other long documents

David Bernstein (www.cs.jmu.edu) LATEX February 2012 54 / 57

Page 58: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Going Farther

Other Extensions

• Hypertext:href

• Internationalization:babel

• Layout:longtable

multicols

• Textual References (e.g., on the previous page):varioref

David Bernstein (www.cs.jmu.edu) LATEX February 2012 55 / 57

Page 59: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Going Farther

Documentation

• Books:Kopka, H. and P.W. Daly (2003) A Guide to LATEX, Addison-Wesley.Mittelbach, F., M. Goossens, J. Braams, D. Carlisle, and C. Rowley (2004) TheLATEXCompanion, Addison-Wesley.

• WWW Sites:TEXUsers Group (http://www.tug.org/)

David Bernstein (www.cs.jmu.edu) LATEX February 2012 56 / 57

Page 60: David Bernstein - James Madison UniversityJAMES UNIVERSITY® MADISON Formatting Basics Descriptions Input \begin{description} \item[multi] is from the Latin word ‘‘multus’’,

JAMES

U N I V E R S I T Y®

MADISON

Going Farther

Resources

Comprehensive TEXArchive Networkhttp://www.ctan.org/

ftp://ctan.org/

David Bernstein (www.cs.jmu.edu) LATEX February 2012 57 / 57