Thesis Sample Report
Thesis Sample Report
Thesis Sample Report
Claire Connelly
Department of Mathematics
May, 2019
Copyright © 2019 Claire Connelly.
The author grants Harvey Mudd College and the Claremont Colleges Library the
nonexclusive right to make this work available for noncommercial, educational
purposes, provided that this copyright statement appears on the reproduced
materials and notice is given that the copying is by permission of the author. To
disseminate otherwise or to republish requires written permission from the author.
Abstract
To Melissa O’Neill, Lesley Ward, Michael Raugh, Barbara Schade, and Jeremy
Rouse, without whom this document would not exist in its present form.
Contents
Abstract iii
Acknowledgments v
1 Introduction 1
1.1 What Is LATEX? . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 This Document . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Structured Writing 3
2.1 Document Classes . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Structural Commands . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Labels and References . . . . . . . . . . . . . . . . . . . . . . 5
2.5 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.7 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Mathematical Notation 13
3.1 Sums and Products . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 More Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 Aligning Equations . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Adjusting Spacing . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.7 Specifying Equation Numbers or Names . . . . . . . . . . . . 17
3.8 Sizing Delimiters . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.9 Theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10 Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
viii Contents
5 Typesetting 31
5.1 Getting to Paper . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 PDF for the Web . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 General Comments . . . . . . . . . . . . . . . . . . . . . . . . 32
5.4 Additional Programs . . . . . . . . . . . . . . . . . . . . . . . 33
7 Resources 43
7.1 Online Documentation . . . . . . . . . . . . . . . . . . . . . . 43
7.2 UK-TUG FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3 comp.text.tex . . . . . . . . . . . . . . . . . . . . . . . . . 44
8 Books 45
Bibliography 49
List of Figures
Introduction
Structured Writing
Command Notes
\part book & report only
\chapter book & report only
\section
\subsection
\subsubsection
\paragraph
\subparagraph
2.2 Packages
LATEX packages, or style files, define additional commands and environments,
or change the way that previously defined commands and environments
work. By loading packages, you can change the fonts used in your document,
write your document in a non-English language with a non-Ascii font
encoding, include graphics, format program listings, add custom headers
and footers to your document, and much more.
A typical TEX installation includes hundreds of style files, and hundreds
more are available from the Comprehensive TEX Archive Network (CTAN),
at http://www.ctan.org/.
or
On page~\pageref{fig:gordian-knot}, we illustrated...
2.5 Commands
LATEX uses commands for changes that are very limited in scope (a few
words) or are unlimited in scope (the rest of a document). For example, the
commands
\textbf{bold}
\emph{italic (emphasized)}
\textsf{sans serif}
2.6 Environments
LATEX provides a number of environments that affect the appearance of text,
and are generally used for more structurally significant purposes. For
example, the command list in Section 2.3 was typeset inside a verbatim
environment that was, in turn, typed inside a quote environment. The
typeset results were typeset inside a quote environment.
Environments use special commands to start and close—\begin and
\end—followed by the name of the environment in braces, as in
\begin{quote}
‘‘This is disgusting---I can’t eat this. That
arugala is so bitter\ldots{} It’s like my
algebra teacher on bread.’’
\flushright -- Julia Roberts in \emph{Full Frontal}
\end{quote}
producing
Environments 7
\begin{math}
a^{2} + b^{2} = c^{2}
\end{math}
\begin{displaymath}
f(x) = \int^{\infty}_{0} \left( \frac{x^2 + x^3}{1} \right)dx
\end{displaymath}
or
\[
f(x) = \int^{\infty}_{0} \left( \frac{x^2 + x^3}{1} \right)dx
\]
Generally, you’ll want to use the $ delimited form for inline math, and
the \[ \] form for display math environments. [Besides being easy to type,
these forms are also robust, which means that they can be used in moving
arguments: elements that TEX may need to typeset in more than one place
(such as a table of contents) or adjust (such as footnotes).]
2.7 Fonts
Generally you’ll want to let LATEX handle the fonts for you—Knuth’s Computer
Modern fonts are used by default, and include a wide range of variations
that can cover almost any use you can think of. Document classes may also
specify particular fonts (for example, many of the classes developed for
Mudd specify Palatino as the roman font, and Helvetica as the sans-serif
font).
If you want to get fancy (and portable; see Section 6.7), you can use Type 1
PostScript fonts, such as Times, Palatino, Utopia, and so forth. These font
sets are accessible with packages with names like times, palatino, and utopia.
There are others, as well—a command such as \locate psnfss | grep
sty will find most of them.
If you have a TEX system installed on your own machine, you can also
get both bitmap and Type 1 fonts from CTAN (see Section 2.2). There’s even
support for TrueType fonts in some TEX systems.
If you’re using TEX on turing or the mathematics cluster, and you need
some special fonts, you should ask the systems staff about having those fonts
installed system wide.
which produces
with
10 Structured Writing
Command Result
\emph emphasized text
\textsf sans-serif text
\texttt typewriter text
\textbf bold text
\textsc small caps text
\textsl slanted text
\textit italic text
which produces
He loved Titanic.
For complicated font changes, or for special font usages that you’re typing
a lot, creating a macro (Section 2.8) is the way to go. I often just write, tossing
in custom commands as I go, and wait to define them until just before I
compile the document. (LATEX will stop each time it encounters an undefined
command; you can use this feature to help you remember what commands
you made up. Defining them in advance works fine, too, of course.)
2.8 Customization
The main advantage of using commands and environments is that they
allow you to organize your writing. A useful side-effect is that you can later
change your mind about the way a particular element is typeset, and change
the appearance of every use of that element in your document by editing one
piece of code. For example, in this document the names of environments
have been set in “typewriter text” using a command I created called \env,
which is defined as
\newcommand{\env}[1]{\texttt{#1}\xspace}
\newcommand{\env}[1]{\textsf{#1}\xspace}
Customization 11
You can do the same with almost anything you can conceptualize—
key terms, people’s names (especially names of people from non-English-
speaking countries), files, functions, and so on.
Chapter 3
Mathematical Notation
3.2 Matrices
It’s a little more difficult to create matrices, but not too bad:
2 1 2 −2 1 2 1 0 0
1 0 2 3 −2 −2 0 1 0 . (3.2)
2 1 1
1
0 −1 0 0 1
14 Mathematical Notation
v
u
α β γ δ ζ
u
u
u
u
η θ ι κ λ µ
u
u
u
u
ν ξ o ρ π σ
u
u
u
u
τ υ φ χ ψ ω .
u
u
u
u
u
Γ ∆ Θ Λ Ξ Π
u
u
u
t
Σ Υ Φ Ψ Ω ϕ
. ..
. . . .. . : ·
···
3.3 Symbols
LATEX provides an enormous number of symbols. Additional packages
(loaded with \usepackage) may provide additional symbols and fonts.
For example, N, Z, Q, R, and C require you to load the amsfonts package
(which is automatically loaded by the icmmcm class). These symbols are
generated by \mathbb, which only works in math mode.
Subscripts and superscripts are easy—$a_{n}$ produces a n , and $x^{2}$
produces x 2 . Ordinal numbers, such as 3rd , n th , and so forth,1 can be
produced with code like $3^{\textrm{rd}}$, $n^{\textrm{th}}$.
Equation 3.3 shows a formula with a superscript.
∫ π
cos2n+1 x dx 0 ∀ n ∈ N. (3.3)
0
Notice that \cos produces a nice roman cos in math mode. There are similar
commands for common functions like \log, \exp, and so forth. More can
be defined with the \DeclareMathOperator command provided by the
amsmath package.
You can stack symbols over other symbols in math formulas:
m xÜ + γ xÛ + kx 0, (3.4)
LATEX has lots of Greek letters and ellipses too, some of which are shown
in Figure 3.1.
See Grätzer (2000), pp. 455–474, or Kopka and Daly (1999), pp. 123–127,
for lists of the symbols available. Intext, you might see some of these symbols
used as
1Some fonts may include their own ordinals that can be accessed with special commands.
More Math 15
Notice that in the lists of integers, the ellipsis was made using the \ldots
command, and that the periods were nicely spaced between the commas.
In the sum, the dots were made with \cdots and were centered on the
line. The amsmath package provides a “smart” \dots command that can
generally get things right based on the context.
So, with \dots alone, the previous examples come out as
1, 2, . . . , n
n 1, . . . , k
1, 2, 3, . . .
1 + 2 + · · · + n n(n + 1)/2.
and
2α+1 − 1 3a
σ(a) > α
a≥ ,
2 2
where α is the greatest power of 2 that divides a, φ(a) is the number of
integers less than a and relatively prime to a, and σ(a) is the sum of the
divisors of a (including 1 and a).
Typeset a piecewise function using the cases environment (from the
amsmath package) as follows:
(
x, if x ≥ 0;
|x|
−x, otherwise.
Equations 3.10–3.13 show the same set of equations aligned with the
Adjusting Spacing 17
align environment.
1 4 1 4
3x 4 + 4
x 4 + 4x 2 + 6 + 2 + 4 − 4x 2 − 6 − 2 (3.10)
x x x x
4
1 4
x+ − 4x 2 − 6 − 4 (3.11)
x x
4
1 4
x+ − 4x 4 − 8 − +8−6 (3.12)
x x4
4 2
1 1
x+ −4 x+ − 6. (3.13)
x x
you want ∫∫
1
dx dy. (3.15)
1 − xy
The integral signs have been moved closer together using the “negative
space” command \!. Extra space has been added between the elements of
integration, dx and dy, and between those elements and the integrand with
the “thin space” command, \,.
Table 3.1 shows the spacing commands available in math mode. There
are additional spacing commands provided by the amsmath package, not
shown here. See Tables A.9 and B.6 in Grätzer (2000) for all the spacing
commands provided by LATEX and the amsmath package.
LATEX Command
Name Short Long
Positive Space
thinspace \, \thinspace
medspace \:
thickspace \;
1 em \quad
2 em \qquad
Negative Space
thinspace \! \negthinspace
For example, √
∞
π
∫
−x 2
e dx . (42),
0 2
or √
∞
π
∫
−x 2
e dx . (cool formula),
0 2
Note that you have to specify the parentheses in the argument to the
\eqno command. If you name a formula, you will also have to enclose the
text within a command such as \mathrm, or it will be set as if it was a string
of variables (and without any spaces—for example, $a cool formula$
gives you acool f ormula).
If you’d like to have many aligned equations without numbers, use the
starred form of the align environment, align*, as in
Specifying Equation Numbers or Names 19
ah a
K
2
ab
sin C
2
rs
p
s(s − a)(s − b)(s − c)
abc
4R
a 2 sin B sin C
2 sin A
2R sin A sin B sin C,
2
If you wanted to number the final derived equation, you could use the
normal (unstarred) form of align and precede each line you don’t want to
be numbered with a \notag command, as in
ah a
K
2
ab
sin C
2
rs
p
s(s − a)(s − b)(s − c)
abc
4R
a 2 sin B sin C
2 sin A
2R sin A sin B sin C,
2
(3.16)
Note that the \notag command could appear after the linebreak com-
mand (\\) on all lines except the first and the next-to-last. (Commands
following the linebreak apply to the following line.)
20 Mathematical Notation
You can also use commands such as \big, \Big, \bigg, or \Bigg to specify
larger delimiters (useful if you have multiple levels of delimiters), as in
or !
(a + b) + c + d + e + f
3.9 Theorems
The theorem environment provides you with an easy way to typeset
theorems in your document. To use it, type a \newtheorem command in
the preamble of your document, such as
\newtheorem{Theo1}{Theorem}
\newtheorem{Theo1}{Theorem}
\newtheorem{Theo2}{Theorem}[section]
\newtheorem{Lemma}[Theo2]{Lemma}
which show you some of the possibilities available. Examples of each appear
below.
3.10 Proofs
Adding a proof is even easier, courtesy of the proof environment. For
example,
LATEX provides two “float” environments, figure and table. Float envi-
ronments are so called because they can be typeset on a later page in your
document than their location in the source code.
The table environment is generally used for—surprise!—tables. The
figure environment is often used for graphs or diagrams, but could also
be used for other illustrative graphics.
The basic float environments don’t format their contents specially. If
you want an illustration or table to be centered, you will need to type it
inside a center environment or add a \centering command after the
\begin{float} command.
4.1 Captions
By adding a \caption command, you can specify a caption that will appear
with the float. Its position in your typeset document depends on where in the
environment you type it—if the command is at the top of the environment,
the caption will be typeset above its contents; if at the bottom, the caption
will appear beneath its contents. Captions should usually be set at the
bottom of a float, but if a particular publisher or journal prefers the captions
on top, you can accommodate them.
Captions should generally be written as brief, complete sentences, ending
with a period. They should either be capitalized as normal sentences. So
Production Statistics from Soviet Russia, 1977–1987.
24 Figures and Tables—LATEX’s Float Environments
or
rather than
Whichever style you choose, be consistent! (See The Chicago Manual of Style
(2003: 12.8, 12.31–51) for more details.)
Avoid explaining the whole float in the caption. Do your explanation in
the text that refers to the float.
The \caption command takes an optional argument, which is typed
inside brackets ([ ]). This argument is used in the list of tables or list of
figures in place of your actual caption.
4.1.2 Labels
The \label command for a float is generally typed immediately after the
\caption command.
4.2 Figures
4.2.1 Including Graphics
The figure environment is often used for including graphic images. The
state-of-the-art method requires you to load the graphics or graphicx package.
Both packages provide the same functionality, but take arguments in a
slightly different format.1 More information about the graphics package is
available in its manual, grfguide (Carlisle, 1999), which is included in DVI,
1The graphicx package defines commands that take their arguments in key–value pairs.
Figures 25
PostScript, or PDF format with most TEX systems. See Section 7.1 for ways
to find documentation.
The standard graphic format used with TEX is called Encapsulated
PostScript, or EPS. EPS files are special PostScript files that define a tight
“bounding box”, may include a bitmap representation for use in previewers,
and are restricted from using some PostScript operators.
EPS files are generally created with a vector-graphics application such as
Adobe Illustrator, Dia, OmniGraffle, or Visio. They can also be created from
TEX files by using the -E flag with dvips.
With the development of PDFTEX, generating Portable Document Format
files has become much easier. PDFTEX requires you to have your graphic
files available in PDF (or PNG or JPEG, if the images are bitmaps). See
Section 6.6 for some hints on converting your EPS figures to PDF.
The following code tells TEX to include the graphic shown in Figure 4.1:
\begin{figure}[ht]
\begin{center}
\scalebox{.50}{\includegraphics{shapes}}
\end{center}
\caption[Some shapes]{Some shapes.}%
\label{fig:an-eps-graphic}
\end{figure}
Notice that we didn’t specify the .eps extension in the filename argu-
ment to the \includegraphics command. By dropping the extension,
we can typeset this document with PDFLATEX without making any other
changes, provided that we have the graphic available as a PDF file. The
\includegraphics command searches for different graphic formats de-
pending on the typeset document’s format.
26 Figures and Tables—LATEX’s Float Environments
Small Multiples
Sometimes you need (or want) to include more than one image in a figure,
such as when you have several close variations on a single image, as shown
in Figure 4.2, which has subfigures a or (b). You could also refer to the
subfigures as Figure 4.2c or Figure 4.2(d).
a. Original image.
b. Turned 45°.
c. Turned 90°.
d. Turned 135°.
F0 F3 F2 F1
0 t 1
Figure 4.3 A step function with a peak at t .
4.3 Tables
Tables are a complicated subject, not because they’re difficult to do in LATEX,
but because they’re difficult to do right. Most books on LATEX cover tables, but
present what Simon Fear, author of the booktabs package, calls “tableaux”.
One such tableau is illustrated in Table 4.1a.
Simon argues that such a tableau would be better presented as the table
shown in Table 4.1b. The Chicago Manual of Style, (University of Chicago
Press, 2003), and Edward Tufte (1983) support his assertion, and provide
excellent references and inspiration.
The booktabs package, which is automatically loaded by the icmmcm
class, has some special commands for creating lines of different thicknesses
for use as top, bottom, and midrules. It also has some code that provides
28 Figures and Tables—LATEX’s Float Environments
Item
Animal Description Price ($)
Gnat per gram 13.65
each 0.01
Gnu stuffed 92.50
Emu stuffed 33.33
Armadillo frozen 8.99
b. The tableau as a table.
the \cmidrule command, for creating spanner rules for decked spanner
heads. The rest is up to you and your style guide.
As an example of a table to strive toward, Table 4.2 is taken from The
Chicago Manual of Style. Also, all of the tables (except for those in the section
describing tables, alas) in George Grätzer’s Math into LATEX were prepared
with booktabs.
Tables 29
Provincial Assembly
Conservative 35.6 47 26.0 37 30.9 52
Socialist 12.4 18 27.1 44 24.8 39
Christian Democrat 49.2 85 41.2 68 39.2 59
Other 2.8 0 5.7 1 5.1 0
Total 100.0 150 100.0 150 100.0 150
National Assembly
Conservative 32.6 4 23.8 3 28.3 3
Socialist 13.5 1 27.3 3 24.1 2
Christian Democrat 52.0 7 42.8 6 46.4 8
Other 1.8 0 6.1 0 1.2 0
Total 100.0 12 100.0 12 100.0 13
Typesetting
So you’ve got a LATEX source document. How do you get a typeset document
that you can print or put on the web?
The process of typesetting a document is referred to as “TEXing”, “com-
piling”, or “typesetting”. Generally, your goal is to end up with a PostScript
file (for printing) or a PDF file (for printing or placing on the web). There
are multiple ways to do both tasks.
6.2 Accents
There are a variety of commands for producing diacritical accents, as in
Paul Erdős s’est reveillé tôt pour enseigner le français à son frère
et sa sœur.
See Section 2.4.7 in Math into LATEX (Grätzer, 2000) for information about
accents (and some handy charts!).
of a line, with or without text, and it will make the end of the line (including
the linebreak!) disappear.
For example,
will typeset as
Notice the lack of a space in “endof” on the last line of the typeset output.
TEX expects to find a carriage-return character at the end of a line, and
interprets that carriage return as an interword space. If you comment out
the end of a line, you also comment out the carriage return on that line, and
you’ll have words run into one another unless you have a space before the %.
TEX collapses multiple spaces into one, and ignores whitespace at the
beginning of a line. Thus
No spaces.
Five spaces.
Quotes and Dashes 37
A tab.
typesets as
No spaces.
Five spaces.
A tab.
(The lines are indented because they are at the start of a paragraph. You
can suppress paragraph indentation with \noindent.)
Paragraphs are delimited by two carriage returns (with or without
whitespace between them).
To convert a whole slew of files, you could use a command such as the
following (with the csh):
6.8 Debugging
One of the trickiest things about using LATEX is interpreting LATEX’s sometimes
cryptic error messages.
In particular, the line numbers that LATEX reports are often not the line
numbers where the problem is, but the line numbers where LATEX noticed
there was a problem.
One useful way of getting a bit more context to help you understand the
problem is to put the line
\setcounter{errorcontextlines}{1000}
in the preamble of your document, which will provide you with a (perhaps
excessive) amount of context for an error.
The most common errors are
• Using one of the special characters (see Section 6.1)
1. Create a new file, and copy your preamble into it, followed by an empty
document environment
3. Try typesetting the new document—if you have an error, the problem
is in your preamble
4. If the document typesets, get rid of the single word you’d put in the
document environment, copy half of your original document’s body
into the new file, and typeset that
5. If you see your error, then continue halving the document until you
narrow it down to the problem section
\includeonly{
a,
% b,
% c,
Debugging 41
d}
will allow you to typeset the contents of the files a and d, without typesetting
the contents of b and c. A nice side-effect is that the auxilliary files for these
files are not changed, so that references to labels in the files not being typeset
will still be expanded in the files that are typeset. (If the pagination changes,
of course, any \pageref commands will be incorrect; the same applies
if any additional structural commands are added at the same level as the
topmost level in the excluded files—that is, if you add a new chapter in a file
called aa between the line that includes a and b, the chapter numbers will be
incremented for the typeset files but not for the files you’re not typesetting.
Chapter 7
Resources
There are lots of great resources available for using TEX and LATEX. Here are
a few (there are also links available online at
http://www.math.hmc.edu/computing/support/tex/).
7.1.1 \texdoctk
Our current teTEX installation includes the texdoctk program, which gives
you a graphical window into the documentation installed on the system.
You start texdoctk by typing its name at a shell prompt. A window
(Figure 7.1) will appear with buttons corresponding to broad categories
of documentation; clicking on one will open another dialog box with the
titles of available documentation (with the names of the actual packages in
parentheses).
7.3 comp.text.tex
If you can’t find an answer in the UK-TUG FAQ, then your next step is
to check comp.text.tex, the Usenet newsgroup devoted to TEX and
LATEX. Chances are, whatever your problem is, someone else already had it,
asked about it on c.t.t, and got an answer. Thanks to Google, Usenet’s
past is preserved in an easily searchable format. Go to Google Groups
(http://groups.google.com/), type in some search terms, and check out the
answers. (If you specify group:comp.text.tex at the end of your search
terms, you’ll only see results from comp.text.tex.)
Chapter 8
Books
1Which I edited.
Appendix A