summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/withesis/figs.tex
blob: 776db75b4e7022cb7949debdc119fa6e32cbaf2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
\chapter{Figures and Tables}\label{quad}
This chapter\footnote{Most of the text in this chapter's introduction is from {\em How to
\TeX{} a Thesis: The Purdue Thesis Styles}} shows some example ways of incorporating tables and figures into \LaTeX{}.
Special environments exist for tables and figures and are special because they are
allowed to {\em float}---that is, \LaTeX{} doesn't always put them in the exact place
that they occur in your input file.  An algorithm is used to place the floating environments,
or floats, at locations which are typographically correct.  This may cause endless frustration
if you want to have a figure or table occur at a specific location.  There are a few
methods for solving this.

You can exert some influence on \LaTeX{}'s float placement algorithm by using
{\em float position specifiers}.  These specifiers, listed below, tell \LaTeX{}
what you prefer.
\begin{tabbing}
{\tt hhhhhh} \= ``bottom'' \=  \kill
{\tt h}\> ``here'' \> do not move this object \\
{\tt p}\> ``page'' \> put this object on a page of floats \\
{\tt b}\> ``bottom'' \> put this object at the bottom of a page\\
{\tt t}\> ``top'' \> put this object at the top of a page\\
\end{tabbing}

Any combination of these can be used:
\begin{quote}\tt\singlespace\begin{verbatim}
\begin{figure}[htbp]
 ...
\caption{A Figure!}
\end{figure}
\end{verbatim}\end{quote}

In this example, we asked \LaTeX{} to ``put the figure `here' if possible.  If it
is not possible (according to the rule encoded in the float algorithm), put it on the
next float page.  A float page is a page which contains nothing but floating objects,
{\em e.g.} a page of nothing but figures or tables.  If this isn't possible, try to put it
at the `top' of a page.  The last thing to try is to put the figure at the `bottom' of
a page.''

The remainder of this chapter deals with some examples of what to put into the figure,
the ellipsis (\ldots ) in the example above.

\section{Tables}
Table~\ref{pde.tab1} is an example table from the UW Math Department.
\begin{table}[htbp]
\centering
\caption{PDE solve times, $15^3+1$
equations.\label{pde.tab1}}
\begin{tabular}{||l|l|l|l|l|l||}\hline
Precond. & Time & Nonlinear & Krylov
& Function & Precond. \\
 & & Iterations & Iterations & calls & solves \\ \hline
None & 1260.9u & 3 & 26 & 30 & 0  \\
 &(21:09) & & & &  \\ \hline
FFT  & 983.4u & 2  & 5  & 8  & 7 \\
&(16:31) & & & & \\ \hline
\end{tabular}
\end{table}
The code to generate it is as follows:
\begin{quote}\tt\singlespace\begin{verbatim}
\begin{table}[htbp]
\centering
\caption{PDE solve times, $15^3+1$
equations.\label{pde.tab1}}
\begin{tabular}{||l|l|l|l|l|l||}\hline
Precond. & Time & Nonlinear & Krylov
& Function & Precond. \\
 & & Iterations & Iterations & calls & solves \\ \hline
None & 1260.9u & 3 & 26 & 30 & 0  \\
 &(21:09) & & & &  \\ \hline
FFT  & 983.4u & 2  & 5  & 8  & 7 \\
&(16:31) & & & & \\ \hline
\end{tabular}
\end{table}
\end{verbatim}\end{quote}

\section{Figures}
There are many different ways to incorporate figures into a \LaTeX{}
document.  \LaTeX{} has an internal {\tt picture} environment and
some programs will generate files which are in this format and can
be simply {\tt include}d.  In addition to \LaTeX{} native {\tt picture}
format, additional packages can be loaded in the {\tt\verb|\documentstyle|}
command (or using the {\tt input} command) to allow \LaTeX{} to process
non-native formats such as PostScript.

\subsection{\tt gnuplot}
The graph of Figure~\ref{gelfand.fig2}
 was created by gnuplot. For simple graphs this is a
 great utility.  For example, if you want a sin curve in your thesis
 try the following:
\begin{quote}\tt\singlespace\begin{verbatim}
 (terminal window): gnuplot
 (in gnuplot):
                 set terminal latex
                 set output "foo.tex"
                 plot sin(x)
                 quit
\end{verbatim}\end{quote}
This will generate a file called {\tt foo.tex} which can be read in
with the following statements.
\begin{figure}[htbp]
\centering
\input{fig2.tex}
\caption{Gelfand equation on the ball, $3\leq n \leq 9$.
\label{gelfand.fig2}}
\end{figure}
\begin{quote}\tt\singlespace\begin{verbatim}
\begin{figure}[htbp]
\centering
\input{fig2.tex}
\caption{Gelfand equation on the ball, $3\leq n \leq 9$.
\label{gelfand.fig2}}
\end{figure}
\end{verbatim}\end{quote}
One advantage to using the native \LaTeX{} {\tt picture} environment
is that the fonts will be assured to agree and the pictures can be viewed
in the {\tt .dvi} viewer.

\subsection{PostScript}
Many drawing applications now allow the export of a graphic to the
{\em Encapsulated PostScript} format.  These files have a suffix of
{\tt .EPS} or {\tt .EPSF} and are similar to a regular PostScript
file except that they contain a {\em bounding box} which describes
the dimensions of the figure.

In order to include PostScript figures, the {\tt epsfig} (or {\tt psfig}
depending on the system you are using) style file must be included in either
the {\tt\verb|\documentstyle|} command or the preamble using the {\tt input} command.

Figure~\ref{vwcontr} is a plot from Matlab.
\begin{figure}[htbp]
\centerline{
\psfig{figure=vwcontr.eps,width=5in,angle=0}
           }
\caption{$\sigma$ as a Function of Voltage and Speed, $\alpha = 20$}
\label{vwcontr}
\end{figure}
The commands to include this figure are
\begin{quote}\tt\singlespace\begin{verbatim}
\begin{figure}[htbp]
\centerline{
\psfig{figure=vwcontr.ps,width=5in,angle=0}
           }
\caption{$\sigma$ as a Function of Voltage and Speed, $\alpha = 20$}
\label{vwcontr}
\end{figure}
\end{verbatim}\end{quote}

Observe that the {\tt \verb|\psfig|} command allows the scaling of the figure
by setting either the {\tt width} or {\tt height} of the figure.  If only one
dimension is specified, the other is computed to keep the same aspect ratio.
The figure can also be rotated by setting {\tt angle} to the desired value in
degrees.