0% found this document useful (0 votes)
49 views229 pages

LaTeX - Wikibook - Part2

Uploaded by

Alex Gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views229 pages

LaTeX - Wikibook - Part2

Uploaded by

Alex Gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 229

moderncv

\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{ \textit{Grade} }{Description}
% arguments 3 to 6 can be left empty
\cvitem{title}{ \emph{Title} }
\cvitemwithcomment{Language 1}{Skill level}{Comment}
\cvdoubleitem{category X}{XXX, YYY, ZZZ}{category Y}{XXX, YYY, ZZZ}
\cvlistitem{Item 1}
\cvlistdoubleitem{Item 2}{Item 3}
%% ...

\bibliography{publications}
\end{document}

43.3.2. Theme previews

Figure 161 Banking black theme

505
Curriculum Vitae

Figure 162 Classic green theme

43.4. Multilingual support


It is especially convenient for résumés to have only one document for several output
languages, since many parts are shared among versions (personal data, structure, etc.).
LaTeX with appropriate macros provide a comfortable way to manage it. See Interna-
tionalization3 .

43.5. References
sr:LaTeX/Кратка биографија4

3 Chapter 12 on page 131


4 https://sr.wikibooks.org/wiki/LaTeX%2F%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%B0%20%D0%B1%D0%B8%D0%BE%D0%B3%D1

506
Part VII.

Creating Graphics

507
44. Introducing Procedural Graphics
In the Importing Graphics1 chapter, you learned that you can import or link graphics
into LaTeX, such as graphics that you have created in another program or obtained
elsewhere. In this chapter, you will learn how to create or embed graphics directly in
a LaTeX document. The graphics is marked up using commands similar to those for
typesetting bold text or creating mathematical formulas, as the following example of
embedded graphics shows:

\begin{displaymath}
\xymatrix{ \bullet \ar[r] \ar@{.>}[r] & \bullet }
\end{displaymath}

Figure 163

There are several packages supporting the creation of graphics directly in LaTeX, includ-
ing picture2 , xy-Pic3 and PGF/TikZ4 , described in the following sections.
Compared to WYSIWIG tools like Xfig or Inkscape, this approach is more time consum-
ing, but leads to much better results. Furthermore, the output is flawlessly integrated to
your document (no contrast in size nor fonts).
See the Importing Graphics5 for more details on graphics importation and some attempts
to circumvent to integration issue.

44.1. Overview
The picture environment allows programming pictures directly in LaTeX. On the one
hand, there are rather severe constraints, as the slopes of line segments as well as the
radii of circles are restricted to a narrow choice of values. On the other hand, the picture
environment of LaTeX2e brings with it the \qbezier command, ”q” meaning quadratic.
Many frequently-used curves such as circles, ellipses, and catenaries6 can be satisfactorily

1 Chapter 17 on page 211


2 Chapter 46 on page 513
3 Chapter 49 on page 559
4 Chapter 47 on page 527
5 Chapter 17 on page 211
6 https://en.wikipedia.org/wiki/catenary

509
Introducing Procedural Graphics

approximated by quadratic Bézier curves, although this may require some mathematical
toil. If a programming language like Java is used to generate \qbezier blocks of LaTeX
input files, the picture environment becomes quite powerful.
Although programming pictures directly in LaTeX is severely restricted, and often rather
tiresome, there are still reasons for doing so. The documents thus produced are ”small”
with respect to bytes, and there are no additional graphics files to be dragged along.
Packages like epic, eepic or pstricks enhance the original picture environment, and
greatly strengthen the graphical power of LaTeX.
While the former two packages just enhance the picture environment, the
pstricks package has its own drawing environment, pspicture. The power of
pstricks stems from the fact that this package makes extensive use of PostScript possibil-
ities. Unfortunately it has one big shortcoming: it doesn’t work together with pdfLaTeX,
as such. To generate a PDF document from TeX source, you have to go from TeX to
DVI to PDF, losing hyperlinks, metadata, and microtypographic features of pdflatex in
the process.
In addition, numerous packages have been written for specific purposes. One of them
is XY-pic, described at the end of this chapter. A wide variety of these packages are
described in detail in The LaTeX Graphics Companion (not to be confused with The
LaTeX Companion).
Perhaps the most powerful graphical tool related with LaTeX is MetaPost7 , the twin
of Donald E. Knuth’s METAFONT8 . MetaPost has the very powerful and mathemati-
cally sophisticated programming language of METAFONT. Contrary to METAFONT,
which generates bitmaps, MetaPost generates encapsulated PostScript files, which can
be imported in LaTeX. For an introduction, see A User’s Manual for MetaPost. A very
thorough discussion of LaTeX and TEX strategies for graphics (and fonts) can be found
in TEX Unbound.
The last but certainly not least are the PGF/TikZ and Asymptote systems. While the
previous systems (picture, epic, pstricks or metapost) focus on the how to draw, TikZ
and Asymptote focus more on the what to draw. One could say that TikZ and Asymptote
are to drawing in LaTeX as LaTeX is to digital typesetting. It’s recommended to use one
of these if your LaTeX distribution includes it. TikZ is a pure (La)TeX system, not reliant
on external software, while Asymptote9 is an external system which integrates seamlessly
with (La)TeX. If using Asymptote, it is very helpful to use latexmk10 to manage the
compilation steps.
In many cases, especially for more advanced diagrams, it may be easier to draw the graph-
ics using external vector graphics software, and then import the file into the document
(see ../Importing Graphics11 ). However most software does not support LaTeX fonts or
mathematical notation, which can result in not suitable and inconsistent graphics. There
are several solutions to this problem.
sr:LaTeX/Представљање процедуралних графика12

7 https://en.wikipedia.org/wiki/MetaPost
8 https://en.wikipedia.org/wiki/METAFONT
9 https://en.wikipedia.org/wiki/Asymptote%20%28vector%20graphics%20language%29
10 http://www.ctan.org/pkg/latexmk/
11 Chapter 17 on page 211
12 https://sr.wikibooks.org/wiki/LaTeX%2F%D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D1%99%D0%B0%D1%9A

510
45. MetaPost

511
46. Picture
The picture environment allows programming pictures directly in LaTeX. On the one
hand, there are rather severe constraints, as the slopes of line segments as well as the
radii of circles are restricted to a narrow choice of values. On the other hand, the picture
environment of LaTeX2e brings with it the \qbezier command, ”q” meaning quadratic.
Many frequently-used curves such as circles, ellipses, and catenaries1 can be satisfactorily
approximated by quadratic Bézier curves, although this may require some mathematical
toil. If a programming language like Java is used to generate \qbezier blocks of LaTeX
input files, the picture environment becomes quite powerful.
Although programming pictures directly in LaTeX is severely restricted, and often rather
tiresome, there are still reasons for doing so. The documents thus produced are ”small”
with respect to bytes, and there are no additional graphics files to be dragged along.
Packages like pict2e, epic, eepic or pstricks enhance the original picture environment,
and greatly strengthen the graphical power of LaTeX.

46.1. Basic commands


A picture environment is available in any LaTeX distribution, without the need of
loading any external package. This environment is created with one of the two commands
\begin{picture}(x, y)
...
\end{picture}
or
\begin{picture}(x, y)(x0, y0)
...
\end{picture}
The first pair, (x, y), affects the reservation, within the document, of rectangular space
for the picture.
The optional second pair, (x0 , y0 ), assigns arbitrary coordinates to the bottom left corner
of the reserved rectangle.
The numbers x, y, x0, y0 are numbers (lengths) in the units of \unitlength, which can
be reset any time (but not within a picture environment) with a command such as
\setlength{\unitlength}{1.2cm}
The default value of \unitlength is 1pt.
Most drawing commands have one of the two forms
\put(x, y){object}
or
\multiput(x, y)(dx, dy){n}{object}
Bézier curves are an exception. They are drawn with the command

1 https://en.wikipedia.org/wiki/catenary

513
Picture

\qbezier(x1, y1)(x2, y2)(x3, y3)


With the package picture absolute dimension (like 15pt) and expression are allowed, in
addition to numbers relative to \unitlength.

46.2. Line segments


Line segments are drawn with the command:
\put(x, y){ \line(x1, y1){length} }
The \line command has two arguments:
1. a direction vector,
2. a ”length” (sort of: this argument is the vertical length in the case of a vertical line
segment and in all other cases the horizontal distance of the line, rather than the
length of the segment itself).
The components of the direction vector are restricted to the integers (−6, −5, ... , 5, 6)
and they have to be coprime (no common divisor except 1). The figure below illustrates
all 25 possible slope values in the first quadrant. The length is relative to \unitlength.

\setlength{\unitlength}{5cm}
\begin{picture}(1,1)
\put(0,0){\line(0,1){1}}
\put(0,0){\line(1,0){1}}
\put(0,0){\line(1,1){1}}
\put(0,0){\line(1,2){.5}}
\put(0,0){\line(1,3){.3333}}
\put(0,0){\line(1,4){.25}}
\put(0,0){\line(1,5){.2}}
\put(0,0){\line(1,6){.1667}}
\put(0,0){\line(2,1){1}}
\put(0,0){\line(2,3){.6667}}
\put(0,0){\line(2,5){.4}}
\put(0,0){\line(3,1){1}}
\put(0,0){\line(3,2){1}}
\put(0,0){\line(3,4){.75}}
\put(0,0){\line(3,5){.6}}
\put(0,0){\line(4,1){1}}
\put(0,0){\line(4,3){1}}
\put(0,0){\line(4,5){.8}}
\put(0,0){\line(5,1){1}}
\put(0,0){\line(5,2){1}}
\put(0,0){\line(5,3){1}}
\put(0,0){\line(5,4){1}}
\put(0,0){\line(5,6){.8333}}
\put(0,0){\line(6,1){1}}
\put(0,0){\line(6,5){1}}
\end{picture}

Figure 164

46.3. Arrows
Arrows are drawn with the command

514
Circles

\put(x, y){\vector(x1, y1){length}}


For arrows, the components of the direction vector are even more narrowly restricted
than for line segments, namely to the integers (−4, −3, ... , 3, 4). Components also
have to be coprime (no common divisor except 1). Notice the effect of the \thicklines
command on the two arrows pointing to the upper left.

\setlength{\unitlength}{0.75mm}
\begin{picture}(60,40)
\put(30,20){\vector(1,0){30}}
\put(30,20){\vector(4,1){20}}
\put(30,20){\vector(3,1){25}}
\put(30,20){\vector(2,1){30}}
\put(30,20){\vector(1,2){10}}
\thicklines
\put(30,20){\vector(-4,1){30}}
\put(30,20){\vector(-1,4){5}}
\thinlines
\put(30,20){\vector(-1,-1){5}}
\put(30,20){\vector(-1,-4){5}}
\end{picture}

Figure 165

46.4. Circles
The command
\put(x, y){\circle{diameter}}
draws a circle with center (x, y) and diameter (not radius) specified by diameter. The
picture environment only admits diameters up to approximately 14mm, and even below
this limit, not all diameters are possible. The \circle* command produces disks (filled
circles). As in the case of line segments, one may have to resort to additional packages,
such as eepic, pstricks, or tikz.

515
Picture

\setlength{\unitlength}{1mm}
\begin{picture}(60, 40)
\put(20,30){\circle{1}}
\put(20,30){\circle{2}}
\put(20,30){\circle{4}}
\put(20,30){\circle{8}}
\put(20,30){\circle{16}}
\put(20,30){\circle{32}}
\put(40,30){\circle{1}}
\put(40,30){\circle{2}}
\put(40,30){\circle{3}}
\put(40,30){\circle{4}}
\put(40,30){\circle{5}}
\put(40,30){\circle{6}}
\put(40,30){\circle{7}}
\put(40,30){\circle{8}}
\put(40,30){\circle{9}}
\put(40,30){\circle{10}}
\put(40,30){\circle{11}}
\put(40,30){\circle{12}}
\put(40,30){\circle{13}}
\put(40,30){\circle{14}}
\put(15,10){\circle*{1}}
\put(20,10){\circle*{2}}
\put(25,10){\circle*{3}}
\put(30,10){\circle*{4}}
\put(35,10){\circle*{5}}
\end{picture}

Figure 166

There is another possibility within the picture environment. If one is not afraid of doing
the necessary calculations (or leaving them to a program), arbitrary circles and ellipses

516
\multiput and \linethickness

can be patched together from quadratic Bézier curves. See Graphics in LaTeX2e for
examples and Java source files.

46.5. Text and formulae


As this example shows, text and formulae can be written in the environment with the
\put command in the usual way:

\setlength{\unitlength}{0.8cm}
\begin{picture}(6,5)
\thicklines
\put(1,0.5){\line(2,1){3}}
\put(4,2){\line(-2,1){2}}
\put(2,3){\line(-2,-5){1}}
\put(0.7,0.3){$A$}
\put(4.05,1.9){$B$}
\put(1.7,2.95){$C$}
\put(3.1,2.5){$a$}
\put(1.3,1.7){$b$}
\put(2.5,1.05){$c$}
\put(0.3,4){$F=\sqrt{s(s-a)(s-b)(s-c)}$}
\put(3.5,0.4){$\displaystyle s:=\frac{a+b+c}{2}$}
\end{picture}

Figure 167

46.6. \multiput and \linethickness


The command

517
Picture

\multiput(x, y)(dx, dy ){n}{object}


has 4 arguments: the starting point, the translation vector from one object to the next,
the number of objects, and the object to be drawn. The \linethickness command
applies to horizontal and vertical line segments, but neither to oblique line segments, nor
to circles. It does, however, apply to quadratic Bézier curves!

\setlength{\unitlength}{2mm}
\begin{picture}(30,20)
\linethickness{0.075mm}
\multiput(0,0)(1,0){26}%
{\line(0,1){20}}
\multiput(0,0)(0,1){21}%
{\line(1,0){25}}
\linethickness{0.15mm}
\multiput(0,0)(5,0){6}%
{\line(0,1){20}}
\multiput(0,0)(0,5){5}%
{\line(1,0){25}}
\linethickness{0.3mm}
\multiput(5,0)(10,0){2}%
{\line(0,1){20}}
\multiput(0,5)(0,10){2}%
{\line(1,0){25}}
\end{picture}

Figure 168

46.7. Ovals
The command

518
Ovals

\put(x, y){\oval(w, h)}


or
\put(x, y){\oval(w, h)[position]}
produces an oval centered at (x, y) and having width w and height h. The optional po-
sition arguments b, t, l, r refer to ”top”, ”bottom”, ”left”, ”right”, and can be combined,
as the example illustrates. Line thickness can be controlled by two kinds of commands:
\linethickness{''length''} on the one hand, \thinlines and \thicklines on the
other. While \linethickness{''length''} applies only to horizontal and vertical lines
(and quadratic Bézier curves), \thinlines and \thicklines apply to oblique line seg-
ments as well as to circles and ovals.

\setlength{\unitlength}{0.75cm}
\begin{picture}(6,4)
\linethickness{0.075mm}
\multiput(0,0)(1,0){7}%
{\line(0,1){4}}
\multiput(0,0)(0,1){5}%
{\line(1,0){6}}
\thicklines
\put(2,3){\oval(3,1.8)}
\thinlines
\put(3,2){\oval(3,1.8)}
\thicklines
\put(2,1){\oval(3,1.8)[tl]}
\put(4,1){\oval(3,1.8)[b]}
\put(4,3){\oval(3,1.8)[r]}
\put(3,1.5){\oval(1.8,0.4)}
\end{picture}

Figure 169

519
Picture

46.8. Multiple use of predefined picture boxes


A picture box can be declared by the command
\newsavebox{name}
then defined by
\savebox{name}(width,height)[position]{content}
and finally arbitrarily often be drawn by
\put(x, y){\usebox{name}}
The optional position parameter has the effect of defining the ”anchor point” of the save-
box. In the example it is set to ”bl” which puts the anchor point into the bottom left
corner of the savebox. The other position specifiers are top and right.
The name argument refers to a LaTeX storage bin and therefore is of a command nature
(which accounts for the backslashes in the current example). Boxed pictures can be
nested: In this example, \foldera is used within the definition of \folderb. The \oval
command had to be used as the \line command does not work if the segment length is
less than about 3 mm.

\setlength{\unitlength}{0.5mm}
\begin{picture}(120,168)
\newsavebox{\foldera}
\savebox{\foldera}
(40,32)[bl]{% definition
\multiput(0,0)(0,28){2}
{\line(1,0){40}<!---->}
\multiput(0,0)(40,0){2}
{\line(0,1){28}<!---->}
\put(1,28){\oval(2,2)[tl]}
\put(1,29){\line(1,0){5}<!---->}
\put(9,29){\oval(6,6)[tl]}
\put(9,32){\line(1,0){8}<!---->}
\put(17,29){\oval(6,6)[tr]}
\put(20,29){\line(1,0){19}<!---->}
\put(39,28){\oval(2,2)[tr]}
}

\newsavebox{\folderb}
\savebox{\folderb}
(40,32)[l]{% definition
\put(0,14){\line(1,0){8}<!---->}
\put(8,0){\usebox{\foldera}<!---->}
}

\put(34,26){\line(0,1){102}}
\put(14,128){\usebox{\foldera}}
\multiput(34,86)(0,-37){3}
{\usebox{\folderb}}
\end{picture}

520
Quadratic Bézier curves

Figure 170

46.9. Quadratic Bézier curves


The command
\qbezier(x1, y1)(x, y)(x2, y2)
draws a quadratic bezier curve where P1 = (x1 , y1 ), P2 = (x2 , y2 ) denote the end points,
and S = (x, y) denotes the intermediate control point. The respective tangent slopes, m1
and m2 , can be obtained from the equations
{
x = m2 x2 −m 1 x1 −(y2 −y1 )
m2 −m1
y = yi + mi (x − xi ); (i = 1, 2 gives same solution)
See Graphics in LaTeX2e for a Java program which generates the necessary \qbezier
command line.

521
Picture

\setlength{\unitlength}{0.8cm}
\begin{picture}(6,4)
\linethickness{0.075mm}
\multiput(0,0)(1,0){7}
{\line(0,1){4}}
\multiput(0,0)(0,1){5}
{\line(1,0){6}}
\thicklines
\put(0.5,0.5){\line(1,5){0.5}}
\put(1,3){\line(4,1){2}}
\qbezier(0.5,0.5)(1,3)(3,3.5)
\thinlines
\put(2.5,2){\line(2,-1){3}}
\put(5.5,0.5){\line(-1,5){0.5}}
\linethickness{1mm}
\qbezier(2.5,2)(5.5,0.5)(5,3)
\thinlines
\qbezier(4,2)(4,3)(3,3)
\qbezier(3,3)(2,3)(2,2)
\qbezier(2,2)(2,1)(3,1)
\qbezier(3,1)(4,1)(4,2)
\end{picture}

Figure 171

As this example illustrates, splitting up a circle into 4 quadratic Bézier curves is not sat-
isfactory. At least 8 are needed. The figure again shows the effect of the \linethickness
command on horizontal or vertical lines, and of the \thinlines and the \thicklines
commands on oblique line segments. It also shows that both kinds of commands affect
quadratic Bézier curves, each command overriding all previous ones.

46.10. Catenary

522
Catenary

\setlength{\unitlength}{1cm}
\begin{picture}(4.3,3.6)(-2.5,-0.25)
\put(-2,0){\vector(1,0){4.4}}
\put(2.45,-.05){$x$}
\put(0,0){\vector(0,1){3.2}}
\put(0,3.35){\makebox(0,0){$y$}}
\qbezier(0.0,0.0)(1.2384,0.0)
(2.0,2.7622)
\qbezier(0.0,0.0)(-1.2384,0.0)
(-2.0,2.7622)
\linethickness{.075mm}
\multiput(-2,0)(1,0){5}
{\line(0,1){3}}
\multiput(-2,0)(0,1){4}
{\line(1,0){4}}
\linethickness{.2mm}
\put( .3,.12763){\line(1,0){.4}}
\put(.5,-.07237){\line(0,1){.4}}
\put(-.7,.12763){\line(1,0){.4}}
\put(-.5,-.07237){\line(0,1){.4}}
\put(.8,.54308){\line(1,0){.4}}
\put(1,.34308){\line(0,1){.4}}
\put(-1.2,.54308){\line(1,0){.4}}
\put(-1,.34308){\line(0,1){.4}}
\put(1.3,1.35241){\line(1,0){.4}}
\put(1.5,1.15241){\line(0,1){.4}}
\put(-1.7,1.35241){\line(1,0){.4}}
\put(-1.5,1.15241){\line(0,1){.4}}
\put(-2.5,-0.25){\circle*{0.2}}
\end{picture}

Figure 172

In this figure, each symmetric half of the catenary y = cosh x − 1 is approximated by a


quadratic Bézier curve. The right half of the curve ends in the point (2, 2.7622), the
slope there having the value m = 3.6269. Using again equation (*), we can calculate

523
Picture

the intermediate control points. They turn out to be (1.2384, 0) and (−1.2384, 0).
The crosses indicate points of the real catenary. The error is barely noticeable, being
less than one percent. This example points out the use of the optional argument of
the \begin{picture} command. The picture is defined in convenient ”mathematical”
coordinates, whereas by the command
\begin{picture}(4.3,3.6)(-2.5,-0.25)
its lower left corner (marked by the black disk) is assigned the coordinates (−2.5,−0.25).

46.11. Plotting graphs

\setlength{\unitlength}{1cm}
\begin{picture}(6,6)(-3,-3)
\put(-1.5,0){\vector(1,0){3}}
\put(2.7,-0.1){$\chi$}
\put(0,-1.5){\vector(0,1){3}}
\multiput(-2.5,1)(0.4,0){13}
{\line(1,0){0.2}}
\multiput(-2.5,-1)(0.4,0){13}
{\line(1,0){0.2}}
\put(0.2,1.4)
{$\beta=v/c=\tanh\chi$}
\qbezier(0,0)(0.8853,0.8853)
(2,0.9640)
\qbezier(0,0)(-0.8853,-0.8853)
(-2,-0.9640)
\put(-3,-2){\circle*{0.2}}
\end{picture}

Figure 173

The control points of the two Bézier curves were calculated with formulas (*). The
positive branch is determined by P1 = (0, 0), m1 = 1 and P2 = (2, tanh 2), m2 = 1/ cosh2 2.

524
The picture environment and gnuplot

Again, the picture is defined in mathematically convenient coordinates, and the lower left
corner is assigned the mathematical coordinates (−3,−2) (black disk).

46.12. The picture environment and gnuplot


The powerful scientific plotting package gnuplot2 has the capability to output directly to
a LaTeX picture environment. It is often far more convenient to plot directly to LaTeX,
since this saves having to deal with potentially troublesome postscript files. Plotting
scientific data (or, indeed, mathematical figures) this way gives much greater control,
and of course typesetting ability, than is available from other means (such as postscript).
Such pictures can then be added to a document by an \include{} command.
N.B. gnuplot is a powerful piece of software with a vast array of commands. A full
discussion of gnuplot lies beyond the scope of this note. See http://www.gnuplot.info/
files/tutorial.pdf3 http:// for a tutorial.
sr:LaTeX/Слика4

2 https://en.wikipedia.org/wiki/gnuplot
3 Chapter 1 on page 5
4 https://sr.wikibooks.org/wiki/LaTeX%2F%D0%A1%D0%BB%D0%B8%D0%BA%D0%B0

525
47. PGF/TikZ

Figure 174 Example of graphics done with Tikz.


Note the slightly translucent top layer.

One way to draw graphics directly with TeX commands is PGF/TikZ1 . TikZ can produce
portable graphics in both PDF and PostScript formats using either plain (pdf)TEX,
(pdf)Latex or ConTEXt. It comes with very good documentation2 and an extensive
collection of examples: http://www.texample.net/tikz/
PGF (”portable graphics format”) is the basic layer, providing a set of basic commands
for producing graphics, and TikZ (”TikZ ist kein Zeichenprogramm”) is the frontend layer
with a special syntax, making the use of PGF easier. TikZ commands are prevalently
similar to Metafont, the option mechanism is similar to PsTricks syntax.
While the previous systems (picture, epic, pstricks or metapost) focus on the how to
draw, TikZ focuses more on the what to draw. One could say that TikZ is to drawing
in LaTeX as LaTeX is to digital typesetting. It’s recommended to use it if your LaTeX
distribution includes it.
Other packages building on top of TikZ (e.g., for drawing electrical circuits) can
be found here: http://ftp.dante.de/tex-archive/help/Catalogue/bytopic.html#
pgftikzsection
In the following some basics of TikZ are presented.

47.1. Loading Package, Libraries - tikzpicture


environment
Using TikZ in a LaTeX document requires loading the tikz package:

1 https://en.wikipedia.org/wiki/PGF%2FTikZ
2 http://ftp.fau.de/ctan/graphics/pgf/base/doc/pgfmanual.pdf

527
PGF/TikZ

\usepackage{tikz}
somewhere in the preamble. This will automatically load the pgf package. To load further
libraries use
\usetikzlibrary{⟨list of libraries separated by commas⟩}
Examples for libraries are ”arrows”, ”automata”, ”backgrounds”, ”calendar”,
”chains”, ”matrix”, ”mindmap”, ”patterns”, ”petri”, ”shadows”, ”shapes.geometric”,
”shapes.misc”, ”spy”, ”trees”.
Drawing commands have to be enclosed in an tikzpicture environment
\begin{tikzpicture}[⟨options⟩]
⟨tikz commands⟩
\end{tikzpicture}
or alternatively
\tikz[⟨options⟩]{⟨tikz commands⟩}
One possible option useful for inlined graphics is
baseline=⟨dimension⟩
Without that option the lower end of the picture is put on the baseline of the surrounding
text. Using this option, you can specify that the picture should be raised or lowered such
that the height ⟨dimension⟩ is on the baseline.
Another option to scale the entire picture is
scale=⟨factor⟩
or different for height and width, e.g:
xscale=2.5, yscale=0.5

47.2. Specifying Coordinates


Coordinates are specified in round brackets in an arbitrary TEX dimension either using
Cartesian coordinates (comma separated), e.g. 1cm in the x direction and 2pt in the y
direction
(1cm,2pt)
or using polar coordinates (colon separated), e.g. 1cm in 30 degree direction
(30:1cm)
Without specifying a unit (1,2), the standard one is cm (1cm,2cm).
Relative coordinates to the previous given point are given by adding one or two plus
signs in front of the coordinate. With ”++” the last point of the path becomes the current
position, with ”+” the previous point stays the current path position. Example: 2 standard
units to the right of the last point used:
++(2,0)

47.3. Syntax for Paths


A path is a series of straight and curved line segments(in a simplified explanation). The
instruction has to end with a semicolon.
\path[<options>]⟨specification⟩;

528
Drawing straight lines

One instruction can spread over several lines, or several instructions can be put on one
line.

47.3.1. Path actions


Options for path actions are e.g: ”draw”, ”fill”, ”pattern”, ”shade” (a variation on filling
that changes colors smoothly from one to another), ”clip” (all subsequent drawings up
to the end of the current scope are clipped against the current path and the size of sub-
sequent paths will not be important for the picture size), ”use as bounding box”. The
”\path” command with these options can be combined to: ”\draw”, ”\fill”, ”\filldraw”,
”\pattern”, ”\shade”, ”\shadedraw”, ”\clip”, ”\useasboundingbox” .

47.3.2. Geometric path actions


Geometric path options: ”rotate=<angle in degree>”, ”xshift=<length>”,
”yshift=<length>”, ”scaling=<factor>”, ”xscale=<factor>”, ”yscale=<factor>”.

47.3.3. Color
Color options for drawing paths: ”color=<color name>”, ”draw=<line color>”, ”opac-
ity=<factor>”. Following colors are predefined: red, green, blue, cyan , magenta, yellow,
black, gray, darkgray, lightgray, brown, lime, olive, orange, pink, purple, teal, violet and
white.

47.3.4. Line width


Line width options: ”line width=<dimension>”, and abbreviations ”ultra thin” for
0.1pt, ”very thin” for 0.2pt, ”thin” for 0.4pt (the default width), ”semithick” for 0.6pt,
”thick” for 0.8pt, ”very thick” for 1.2pt, ”ultra thick” for 1.6pt.

47.3.5. Line end


Line end, line join options: ”line cap=<type: round, rect, or butt>”, ”ar-
rows=<start arrow kind>-<end arrow kind>”, ”rounded corners”, ”rounded cor-
ners=<size>”, ”line join=<type: round, bevel, or miter>”.

47.3.6. Line pattern


Line pattern options: ”dash pattern=<dash pattern>” (e.g. ”dash pattern=on 2pt
off 3pt on 4pt off 4pt”), ”dash phase=⟨dash phase⟩”, ”solid”, ”dashed”, ”dotted”,
”dashdotted”, ”densely dotted”, ”loosely dotted”, ”double”.
Options for filling paths are e.g. ”fill=<fill color>”, ”pattern=<name>”, ”pattern
color=<color>”

47.4. Drawing straight lines


Straight lines are given by coordinates separated by a double minus,

529
PGF/TikZ

\draw (1,0) -- (0,0) -- (0,1);

Figure 175

The first coordinate represents a move-to operation. This is followed by a series of “path
extension operations”, like ”-- (coordinates)”.
The same path with some drawing options:

\draw[red, dashed, very thick, rotate=30] (1,0) -- (0,0) -- (0,1);

530
Drawing straight lines

Figure 176

A connected path can be closed using the ”--cycle” operation:

\draw (1,0) -- (0,0) -- (0,1) -- cycle;

531
PGF/TikZ

Figure 177

A further move-to operation in an existing path starts a new part of the path, which is
not connected to the previous part of the path. Here: Move to (0,0) straight line to (2,0),
move to (0,1) straight line to (2,1):

\draw (0,0) -- (2,0) (0,1) -- (2,1);

532
Drawing straight lines

Figure 178

Two points can be connected by straight lines that are only horizontal and vertical. For
a connection that is first horizontal and then vertical, use

\draw (0,0) - (1,1);

533
PGF/TikZ

Figure 179

or first vertical then horizontal, use

\draw (0,0) - (1,1);

534
Drawing curved paths

Figure 180

47.5. Drawing curved paths


Curved paths using a Bezier curve can be created using the ”..controls() ..()” com-
mand, with one or two control points.

\draw (0,0) .. controls (1,1) .. (4,0)


(5,0) .. controls (6,0) and (6,1) .. (5,2);

535
PGF/TikZ

Figure 181

47.6. User-defined paths


User-defined paths can be created using the ”to” operation. Without an option it corre-
sponds to a straight line, exactly like the double minus command. Using the ”out” and
”in” option a curved path can created. E.g. ”[out=135,in=45]” causes the path to leave
at an angle of 135 degree at the first coordinate and arrive at an angle of 45 degree at
the second coordinate.

\draw (0,0) to (3,2);


\draw (0,0) to[out=90,in=180] (3,2);
\draw (0,0) to[bend right] (3,2);

Figure 182

536
User-defined paths

(The syntax for a bend to the right may seem a little counter-intuitive. Think of it as an
instruction to veer to the right at the beginning of the path and then smoothly curve to
the end point, not as saying that the path curves to the right throughout its length.)
For rectangles a special syntax exist. Use a move-to operation to one corner and after
”rectangle” the coordinates of the diagonal corner. The last one becomes the new current
point.

\draw (0,0) rectangle (1,1);


\shade[top color=yellow, bottom color=black] (0,0) rectangle (2,-1);
\filldraw[fill=green!20!white, draw=green!40!black] (0,0) rectangle (2,1);

Figure 183

The fill color ”green!20!white” means 20% green and 80% white mixed together.

537
PGF/TikZ

47.7. Circles, ellipses


Circles and ellipses paths are defined beginning with their center then using the ”circle
command” either with one length as radius of a circle or with two lengths as semi-axes of
an ellipse.

\draw (0,0) circle [radius=1.5];


\draw (0,0) circle (2cm); % old syntax
\draw (0,0) circle [x radius=1.5cm, y radius=10mm];
\draw (0,0) circle (1.2cm and 8mm); % old syntax
\draw (0,0) circle [x radius=1cm, y radius=5mm, rotate=30];
\draw[rotate=30] (0,0) ellipse (20pt and 10pt); % old syntax

Figure 184

538
Special curves

47.8. Arcs
The command ”arc” creates a part of a circle or an ellipse:

\draw (0,0) arc (0:270:8mm);


\draw (0,0) arc (0:315:1.75cm and 1cm);
\filldraw[fill=cyan, draw=blue] (0,0) -- (12mm,0mm) arc (0:30:12mm) -- (0,0);

Figure 185

Or in an alternative syntax:
\draw (0,0) arc[radius = 8mm, start angle= 0, end angle= 270];
\draw (0,0) arc[x radius = 1.75cm, y radius = 1cm, start angle= 0, end angle=
315];

47.9. Special curves


There are many more predefined commands for special paths, like ”grid”, ”parabola”,
”sin”, ”cos” (sine or cosine curve in the interval [0,π/2]).

\draw[help lines] (0,0) grid (2,3);


\draw[step=0.5, gray, very thin] (-1.4,-1.4) grid (1.4,1.4);
\draw (0,0) parabola (1,1.5) parabola[bend at end] (2,0);
\draw (0,0) sin (1,1) cos (2,0) sin (3,-1) cos (4,0) sin (5,1);

539
PGF/TikZ

Figure 186

The option ”help lines” denotes ”fine gray”.


To add arrow tips there are simple options for the drawing command:

\draw [->] (0,0) -- (30:20pt);


\draw [<->] (1,0) arc (180:30:10pt);
\draw [<<->] (2,0) -- ++(0.5,10pt) -- ++(0.5,-10pt) -- ++(0.5,10pt);

Figure 187

A loop can be realized by ”\foreach ⟨variable⟩ in {⟨list of values⟩} ⟨com-


mands⟩”.

\foreach \x in {0,...,9}
\draw (\x,0) circle (0.4);

Figure 188

540
Special curves

PGF also has a math engine which enables you to plot functions:
\draw [domain=<xmin>:<xmax>] plot (\x, {function});
Many functions are possible, including factorial(\x), sqrt(\x), pow(\x,y), exp(\x), ln(\x),
log10(\x), log2(\x), abs(\x), mod(\x,y), round(\x), floor(\x), ceil(\x), sin(\x), cos(\x),
tan(x), min(\x,y,), and max(\x,y). The trigonometric functions assume that x is in
degrees; to express x in radians follow it with the notation ”r”, e.g., sin(\x r). Two useful
constants are e, which is equal to 2.718281828, and pi, which is equal to 3.141592654.
An example with two functions:

\draw [help lines] (-2,0) grid (2,4);


\draw [->] (-2.2,0) -- (2.2,0);
\draw [->] (0,0) -- (0,4.2);
\draw [green, thick, domain=-2:2] plot (\x, {4-\x*\x});
\draw [domain=-2:2, samples=50] plot (\x, {1+cos(pi*\x r});

Figure 189

541
PGF/TikZ

47.10. Nodes
A node is typically a rectangle or circle or another simple shape with some text on it. In
the simplest case, a node is just some text that is placed at some coordinate. Nodes are
not part of the path itself, they are added to the picture after the path has been drawn.
Inside a path operation use the following syntax after a given coordinate:
node[<options>](<name>){<text>}
The ”(<name>)” is a name for later reference and it is optional. If you only want to name
a certain position without writing text there are two possibilities:
node[<options>](<name>){}
coordinate[<options>](<name>)
Writing text along a given path using the node command is shown as a simple example:

\draw[dotted]
(0,0) node {1st node}
-- (1,1) node {2nd node}
-- (0,2) node {3rd node}
-- cycle;

542
Nodes

Figure 190

Possible options for the node command are e.g. ”inner sep=<dimension>”, ”outer
sep=<dimension>”, ”minimum size=<dimension>”, ”shape aspect=<aspect ratio>”,
”text=<color>”, ”font=”, ”align=<left_right_center>”.
A node is centered at the current coordinate by default. Often it would be better to
have the node placed beside the actual coordinate: Right (”right” or ”anchor=west”),
left (”left” or ”anchor=east”), above (”above” or ”anchor=south”), below (”below” or
”anchor=north”). Combinations are also possible, like ”anchor=north east” or ”below
left”.

\fill[fill=yellow]
(0,0) node {1st node}
-- (1,1) node[circle,inner sep=0pt,draw] {2nd node}
-- (0,2) node[fill=red!20,draw,double,rounded corners] {3rd node};

543
PGF/TikZ

Figure 191

To place nodes on a line or a curve use the ”pos=<fraction>” option, where fraction is a
floating point number between 0 representing the previous coordinate and 1 representing
the current coordinate.

\draw (0,0) -- (3,1)


node[pos=0]{0} node[pos=0.5]{1/2} node[pos=0.9]{9/10};

544
Nodes

Figure 192

There exist some abbreviations: ”at start” for ”pos=0”, ”very near start” for
”pos=0.125”, ”near start” for ”pos=0.25”, ”midway” for ”pos=0.5”, ”near end” for
”pos=0.75”, ”very near end” for ”pos=0.875”, ”at end” for ”pos=1”.
The ”sloped” option causes the node to be rotated to become a tangent to the curve.
Since nodes are often the only path operation on paths, there are special commands for
creating paths containing only a node, the first with text ouput, the second without:
\node[<options>](<name>) at (<coordinate>){<text>};
\coordinate[<options>](<name>) at (<coordinate>);
One can connect nodes using the nodes’ labels as coordinates. Having ”\path(0,0)
node(x) {} (3,1) node(y) {};” defined, the node at (0,0) got the name ”(x)” and the
one at (3,1) got the name ”(y)”.

\path (0,0) node(x) {}


(3,1) node(y) {};
\draw (x) -- (y);

Figure 193

Equivalent to
\coordinate (x) at (0,0);
\coordinate (y) at (3,1);
\draw (x) -- (y);

545
PGF/TikZ

Multiline text can be included inside a node. A new line is indicated by double backslash
”\\”, but additionally you have to specify the alignment using the node option ”align=”.
Here an example:

\filldraw
(0,0) circle (2pt) node[align=left, below] {test 1\\is aligned left} --
(4,0) circle (2pt) node[align=center, below] {test 2\\is centered} --
(8,0) circle (2pt) node[align=right, below] {test 3\\is right aligned};

Figure 194

Path construction operations try to be clever, such that the path starts at the border of
the node’s shape and not from the node’s center.

\path (0,0) node(x) {Hello World!}


(3,1) node[circle,draw](y) {$\int_1^2 x \mathrm d x$};
\draw[->,blue] (x) -- (y);
\draw[->,red] (x) - node[near start,below] {label} (y);
\draw[->,orange] (x) .. controls +(up:1cm) and +(left:1cm) .. node[above,sloped]
{label} (y);

Figure 195

Once the node x has been defined, you can use anchors as defined above relative to (x)
as ”(x.<anchor>)”, like ”(x.north)”.

47.11. Examples
47.11.1. Example 1

546
Examples

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[thick,rounded corners=8pt] (0,0) -- (0,2) -- (1,3.25)
-- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
\end{tikzpicture}
\end{document}

Figure 196

47.11.2. Example 2

547
PGF/TikZ

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw[step=.5cm, gray, very thin] (-1.2,-1.2) grid (1.2,1.2);
\filldraw[fill=green!20,draw=green!50!black] (0,0) -- (3mm,0mm) arc (0:30:3mm) -- cycle;
\draw[->] (-1.25,0) -- (1.25,0) coordinate (x axis);
\draw[->] (0,-1.25) -- (0,1.25) coordinate (y axis);
\draw (0,0) circle (1cm);
\draw[very thick,red] (30:1cm) -- node[left,fill=white] {$\sin \alpha$} (30:1cm - x axis);
\draw[very thick,blue] (30:1cm - x axis) -- node[below=2pt,fill=white] {$\cos \alpha$} (0,0);
\draw (0,0) -- (30:1cm);
\foreach \x/\xtext in {-1, -0.5/-\frac{1}{2}, 1}
\draw (\x cm,1pt) -- (\x cm,-1pt) node[anchor=north,fill=white] {$\xtext$};
\foreach \y/\ytext in {-1, -0.5/-\frac{1}{2}, 0.5/\frac{1}{2}, 1}
\draw (1pt,\y cm) -- (-1pt,\y cm) node[anchor=east,fill=white] {$\ytext$};
\end{tikzpicture}
\end{document}

Figure 197

548
Examples

47.11.3. Example 3: A Torus

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (-1,0) to[bend left] (1,0);
\draw (-1.2,.1) to[bend right] (1.2,.1);
\draw[rotate=0] (0,0) ellipse (100pt and 50pt);
\end{tikzpicture}
\end{document}

Figure 198

47.11.4. Example 4: Some functions

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[domain=0:4]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red] plot (\x,\x) node[right] {$f(x) =x$};
\draw[color=blue] plot (\x,{sin(\x r)}) node[right] {$f(x) = \sin x$};
\draw[color=orange] plot (\x,{0.05*exp(\x)}) node[right] {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}
\end{document}

549
PGF/TikZ

Figure 199

550
48. PSTricks
PSTricks is a set of extensions. The base package is pstricks, other packages may be
loaded when required.
The xcolor extension gets loaded along PSTricks, so there is no need to load it manually.
PSTricks has one technical specification: it uses PostScript internally, hence the name.
Thus you cannot use the pdftex or pdflatex compilers, you will need to use dvips to
get your proper document. It is still possible to get PDF from PS files thanks to ps2pdf.
There is also the possibility to use the PDFTricks extension, which makes it feasible to
use pdflatex together with PSTricks commands.
However, if you have installed the package xetex-pstricks, you can use pstricks with
xetex or xelatex without modification of source file.

48.1. The pspicture environment


PSTricks commands are usually placed in a
pspicture
environment.
\begin{pspicture}(x1,y1)
% ...
\end{pspicture}
The first argument between parentheses specifies the coordinates of the upper-right corner
of the picture. The bottom-left corner is at (0,0) and is placed at the reference point of
the next character in the LaTeX document.
It is also possible to specify the coordinates (x0,y0) of the bottom-left corner:
\begin{pspicture}(x0,y0)(x1,y1)
% ...
\end{pspicture}
Thus the size of the picture is (x1-x0)x(y1-y0). The default unit for coordinates is cen-
timeters (cm); this can be changed with
\psset
, as in
\psset{unit=1bp}
. Any TeX dimension is allowed.

48.2. Fundamental objects


48.2.1. Lines and polylines
A simple line gets printed with
\psline(x0,y0)(x1,y1)
To get a vector, add an arrow as parameter:

551
PSTricks

\psline{->}(x0,y0)(x1,y1)
You can add as many points as you want to get a polyline:
\psline(x0,y0)(x1,y1)(x2,y3)…(xn,yn)
To get rounded corners, add the following option:
\psline[linearc=0.2]{->}(0,0)(2,1)(1,1)
or
\psline[linearc=0.2,arrows=->](0,0)(2,1)(1,1)

48.2.2. Rectangles

\psframe(x0,y0)(x1,y1)
\psframe*(x0,y0)(x1,y1)
The starred version prints a filled rectangle. Use the following parameter to get rounded
corners:
\psframe[framearc=0.2](x0,y0)(x1,y1)

48.2.3. Polygons
Polygons are always closed. The syntax is the same as for
\psline
:
\pspolygon(x0,y0)(x1,y1)(x2,y2)...(xn,yn)
As for rectangles, the starred version prints a filled polygon. And the
linearc=0.2
option will print rounded corners.

48.2.4. Circles, arc and ellipses


Starred version fills the shape.
For circles, you need to provide center coordinates and radius:
\pscircle(x,y){r}
To restrict the drawing to an arc, append the starting and ending angles in trigonometric
notation:
\psarc(x,y){r}{angle1}{angle2}
Finally, ellipses:
\psellipse(x,y)(horizontal_axis,vertical_axis)

48.2.5. Curves

\psparabola(x0,y0)(x1,y1)
will print a symmetric parabola with vertical asymptote, vertex (x1,y1) and ending at
(x0,y0).
Use
\psbezier

552
Text

to print a Bézier curve with an arbitrary number of control points. Arcs have at most 4
control points. Use the
showpoints=true
option to print the control points and the tangents.
Use
\pscurve
to print the interpolation of the given points. The
\psecurve
command omits the first and the last arcs.

48.3. Text
Use
\rput(x,y){text}
to print text. Provide an angle to rotate the text.
\rput{angle}(x,y){text}
You can provide the anchor of the text which will be at the specified coordinate.
\rput[t]{45}(5,5){text}
Available anchors:
• B, Bl, Br: baseline center, left and right.
• t, tl, tr: top center, left and right.
• b, bl, br: bottom center, left and right.
There is also the
\uput
command with further options:
\uput{distance}[angle](x,y){text}
The
distance
parameter is the distance from the coordinate.
PSTricks features several frame style for text.
• \psframebox{text}: rectangle.
• \psdblframebox{text}: double rectangle.
• \psshadowbox{text}: shaded rectangle.
• \pscirclebox{text}: circle.
• \psovalbox{text}: oval.
• \psdiabox{text}: diamond.
• \pstribox{text}: triangle.
Example:
\rput(5,5){\psdiabox*[fillcolor=green]{text}}
Using the
pst-text
extension, it is possible to draw a text path.
\pstextpath{shape}{text}
To print a text following a path without printing the path, you need to use

553
PSTricks

\psset{linestyle=none}
.
Example:
\usepackage{pst-text}

% ...
\begin{pspicture}(5,5)
\psset{linestyle=none}
\pstextpath{\psline(0,0)(1,1)(2,0)}{triangle text}
\end{pspicture}

48.4. Grids
Without any parameter, the
\psgrid
command will print a grid all over the pspicture, with a spacing of 0.2 (i.e. 2mm). You
can specify parameters:

\psgrid(xmax,ymax)
: prints a grid from (0,0) to (xmax,ymax).

\psgrid(xmin,ymin)(xmax,ymax)
: prints a grid from (xmin,ymin) to (xmax,ymax).

\psgrid(x0,y0)(xmin,ymin)(xmax,ymax)
: prints a grid from (xmin,ymin) to (xmax,ymax), one of the node is at (x0,y0).

griddots=value
: the full line of the main graduations is replaced by a dotted line. The value is the
number of dots per graduation.

subgriddots=value
: same as
griddots
but for sub-graduations.

gridcolor=color,subgridcolor=color
: color of graduations and sub-graduations.

gridwidth=value,subgridwidth=value
: width of the lines.

subgriddiv=value
: number of subgraduations between two main graduations.

gridlabels=value
: size of the label numbers.

ticksize=value
: self-explanatory.

ticksize=valueneg valuepos
: same as above, but valueneg specifies the size for negative coordinates, valuepos for
positive coordinates.

554
Generic parameters


ticklinestyle=value
: self-explanatory. value may be one of
solid, dashed, dotted
. This is useful for huge graduations (i.e.
ticksize
is high).
Example
\psgrid[griddots=5, subgriddiv=0, gridlabels=0pt](-1,-1)(5,5)
Axis
If you want to add axes, use the pstricks-add extension with the following commands:
\psaxes(xmin,ymin)(xmax,ymax)
\psaxes(x0,y0)(xmin,ymin)(xmax,ymax)
(xmin,ymin) and (xmax,ymax) being the extreme, (x0,y0) being the intersection.
Options

Dx=value
and
Dy=value
defines the spacing between graduations.

comma
lets you use the comma as decimal separator.
• As for lines,
{->}
adds arrows on axes.
Example
\usepackage{pstricks-add}
% ...
\begin{pspicture}(-1,-1)(5,5)
\psaxes[comma,Dx=0.5,Dy=0.5]{->}(0,0)(3,3)
\end{pspicture}

48.5. Generic parameters


48.5.1. All shapes
These are to be added between square brackets.

linewidth=value
: if value is without unit, then the default unit is used.

linecolor=color
: color is as defined by the xcolorpackage.

linestyle=value
: value is one of
dashed,dotted
.

doubleline=true

555
PSTricks

.

showpoints=true
: highlights points.

dotscale=value
specifies the size of the points.

dotstyle=value
where value is among:
• *: disc
• o: circle
• +,x: cross
• square, squarre*: starred version is filled.
• diamond, diamond*
• triangle, triangle*
• etc.
For example
\pscircle[linewidth=0.2,linestyle=dashed,linecolor=blue](0,0){1}
To apply parameters globally:
\psset{linewidth=0.2,linestyle=dashed,linecolor=blue}
\pscircle(0,0){1}
This command also lets you change the default unit for lengths.

unit=value

xunit=value
and
yunit=value
value is a number with or without unit. This changes the scale of the drawings, but will
not change the width of lines.

48.5.2. Open shapes


You can define the extreme of an open shape (line, polyline, arc, etc.) with an optional
parameter
{symbol1-symbol2}
. There is a decent list of available symbols.
• < or >: arrow.
• << or >>: double arrow.
• |: bar.
• |*: centered bar.
• oo: circle.
• o: centered circle.
• **: disk.
• *: centered disk.
• |< or >|: arrow plus bar.
• cc: rounded extreme.
• c: centered rounded extreme.
Example:

556
Object location

\psline{|->>}(x0,y0)(x1,y1)

48.5.3. Closed shapes


For closed shape you may define the fillstyle.

fillstyle=value
: pattern. Possible values:
crosshatch, crosshatch*, vlines, vlines*, hlines, hlines*, solid
.

fillcolor=color
.

hatchcolor=color
.

hatchwidth=value
.

hatchsep=value
.

hatchangle=value
.
Example:
\pscircle[hatchcolor=blue,fillstyle=vlines](0,0){1}

48.6. Object location


The
\rput
and
\uput
commands can be used to move any object.
Example
\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\rput(1,1){\psline{->}(0,0)(1,1)}
\end{pspicture}
or
\begin{pspicture}(5,5)
\psline{->}(0,0)(1,1)
\psline{->}(1,1)(2,2)
\end{pspicture}
You can repeat the operation with
\multirput
:
\multirput(x0,y0)(xoffset, yoffset){times}{object}
You can use the same options as for

557
PSTricks

\rput
:
\multirput[reference]{angle}(x0,y0)(xoffset, yoffset){times}{object}
With no text but with graphics only, you can use the
\multips
command:
\multips(x0,y0)(xoffset, yoffset){times}{object}
\multips{angle}(x0,y0)(xoffset,yoffset){times}{object}

48.7. The PDFTricks extension


The original PSTricks package does not work with pdflatex, but thankfully
PDFTricks allows us to bypass this limitation.
Usage
• Declare the PDFTricks packages in the preamble.
• Place all PSTricks extensions in a
psinputs
environment; place all PSTricks commands in a
pdfpic
environment.
• Compile with pdflatex -shell-escape <file>.
The -shell-escape parameter enables shell command calls. It is required for
PDFTricks to run.
Example
\documentclass{article}

\usepackage{pdftricks}
\begin{psinputs}
\usepackage{pstricks}
\usepackage{multido}
\end{psinputs}

% ...

\begin{document}

% ...

\begin{pdfpic}
\psset{unit=\linewidth}
\begin{pspicture}(0,0)(10,10)
[...]
\end{pspicture}
\end{pdfpic}

% ...

\end{document}
Another way to use PSTricks with pdflatex is the pst-pdf package.
sr:LaTeX/PSTricks1

1 https://sr.wikibooks.org/wiki/LaTeX%2FPSTricks

558
49. Xy-pic
xy is a special package for drawing diagrams. To use it, simply add the following line to
the preamble of your document:
\usepackage[all]{xy}
where ”all” means you want to load a large standard set of functions from Xy-pic, suitable
for developing the kind of diagrams discussed here.
The primary way to draw Xy-pic diagrams is over a matrix-oriented canvas, where each
diagram element is placed in a matrix slot:

\begin{displaymath}
\xymatrix{A & B \\
C & D }
\end{displaymath}

Figure 200

The \xymatrix command must be used in math mode. Here, we specified two lines and
two columns. To make this matrix a diagram we just add directed arrows using the
\ar command.

\begin{displaymath}
\xymatrix{ A \ar[r] & B \ar[d] \\
D \ar[u] & C \ar[l] }
\end{displaymath}

559
Xy-pic

Figure 201

The arrow command is placed on the origin cell for the arrow. The arguments are the
direction the arrow should point to (up, down, right and left).

\begin{displaymath}
\xymatrix{
A \ar[d] \ar[dr] \ar[r] & B \\
D & C }
\end{displaymath}

Figure 202

To make diagonals, just use more than one direction. In fact, you can repeat directions
to make bigger arrows.

\begin{displaymath}
\xymatrix{
A \ar[d] \ar[dr] \ar[drr] & & \\
B & C & D }
\end{displaymath}

560
The PDFTricks extension

Figure 203

We can draw even more interesting diagrams by adding labels to the arrows. To do this,
we use the common superscript and subscript operators.

\begin{displaymath}
\xymatrix{
A \ar[r]^f \ar[d]_g & B \ar[d]^{g'} \\
D \ar[r]_{f'} & C }
\end{displaymath}

Figure 204

As shown, you use these operators as in math mode. The only difference is that that
superscript means ”on top of the arrow”, and subscript means ”under the arrow”. There
is a third operator, the vertical bar: | It causes text to be placed in the arrow.

\begin{displaymath}
\xymatrix{
A \ar[r]f \ar[d]g & B \ar[d]{g'} \\
D \ar[r]{f'} & C }
\end{displaymath}

561
Xy-pic

Figure 205

To draw an arrow with a hole in it, use \ar[...]|\hole. In some situations, it is


important to distinguish between different types of arrows. This can be done by putting
labels on them, or changing their appearance

\begin{displaymath}
\xymatrix{
\bullet\ar@{->}[rr] && \bullet\\
\bullet\ar@{.<}[rr] && \bullet\\
\bullet\ar@{~)}[rr] && \bullet\\
\bullet\ar@{=(}[rr] && \bullet\\
\bullet\ar@{~/}[rr] && \bullet\\
\bullet\ar@{^{(}->}[rr] && \bullet\\
\bullet\ar@2{->}[rr] && \bullet\\
\bullet\ar@3{->}[rr] && \bullet\\
\bullet\ar@{=+}[rr] && \bullet }
\end{displaymath}

562
The PDFTricks extension

Figure 206

Notice the difference between the following two diagrams:

\begin{displaymath}
\xymatrix{ \bullet \ar[r] \ar@{.>}[r] & \bullet }
\end{displaymath}

563
Xy-pic

Figure 207

\begin{displaymath}
\xymatrix{
\bullet \ar@/^/[r]
\ar@/_/@{.>}[r] &
\bullet }
\end{displaymath}

Figure 208

The modifiers between the slashes define how the curves are drawn. Xy-pic offers
many ways to influence the drawing of curves; for more information, check the Xy-
pic documentation.
If you are interested in a more thorough introduction then consult the Xy-pic Home Page1 ,
which contains links to several other tutorials as well as the reference documentation.
sr:LaTeX/Xy-pic2

1 http://xy-pic.sourceforge.net
2 https://sr.wikibooks.org/wiki/LaTeX%2FXy-pic

564
50. Creating 3D graphics
For creating three-dimensional graphics, there is basic functionality in the PGF/TikZ1
package, although drawing 3D graphics with PGF/TikZ is very non-flexible, mainly be-
cause it lacks functionality for identifying the surfaces that are covered by other surfaces
and should be excluded from the rendered image.
A package that can handle this correctly is the pst-solides3d2 package.
Another way to create 3D graphics is to use Asymptote3 .
Yet another way to create 3D graphics is to use Sketch4 .
sr:LaTeX/Прављење 3D графикa5

1 Chapter 47 on page 527


2 http://www.ctan.org/pkg/pst-solides3d
3 https://en.wikipedia.org/wiki/Asymptote%20%28vector%20graphics%20language%29
4 http://sketch4latex.sourceforge.net/
5 https://sr.wikibooks.org/wiki/LaTeX%2F%D0%9F%D1%80%D0%B0%D0%B2%D1%99%D0%B5%D1%9A%D0%B5%203D%20%D0%B3%D1%80

565
Part VIII.

Programming

567
51. Macros
Documents produced with the commands you have learned up to this point will look
acceptable to a large audience. While they are not fancy-looking, they obey all the
established rules of good typesetting, which will make them easy to read and pleasant
to look at. However, there are situations where LaTeX does not provide a command or
environment that matches your needs, or the output produced by some existing command
may not meet your requirements.
In this chapter, we will try to give some hints on how to teach LaTeX new tricks and how
to make it produce output that looks different from what is provided by default.
LaTeX is a fairly high-level language compared to Plain TeX and thus is more limited.
The next chapter1 will focus on Plain TeX and will explain advanced techniques for
programming.

51.1. New commands


To add your own commands, use the
\newcommand{name}[num]{definition}
command. Basically, the command requires two arguments: the name of the command
you want to create, and the definition of the command. Note that the command name can
but need not be enclosed in braces, as you like. The num argument in square brackets
is optional and specifies the number of arguments the new command takes (up to 9 are
possible). If missing it defaults to 0, i.e. no argument allowed.
The following two examples should help you to get the idea. The first example defines a
new command called \wbal that will print “The Wikibook about LaTeX”. Such a com-
mand could come in handy if you had to write the title of this book over and over again.

\newcommand{\wbal}{The Wikibook about \LaTeX}


This is ‘‘\wbal

This is “The Wikibook about LaTeX” … “The Wikibook about LaTeX”

The next example illustrates how to define a new command that takes one argument.
The #1 tag gets replaced by the argument you specify. If you wanted to use more than
one argument, use #2 and so on, these arguments are added in an extra set of brackets.

1 Chapter 52 on page 577

569
Macros

\newcommand{\wbalsup}[1] {
This is the Wikibook about LaTeX
supported by #1}
\newcommand{\wbalTwo}[2] {
This is the Wikibook about LaTeX
supported by #1 and #2}
% in the document body:
\begin{itemize}
\item \wbalsup{Wikimedia}
\item \wbalsup{lots of users!}
\item \wbalTwo{John Doe}{Anthea Smith}
\end{itemize}

• This is the Wikibook about LaTeX supported by Wikimedia


• This is the Wikibook about LaTeX supported by lots of users!
• This is the Wikibook about LaTeX supported by John Doe and Anthea Smith

Name your new command \wbalTwo and not \wbal2 as digits cannot be used to name
macros — invalid characters will error out at compile-time.
LaTeX will not allow you to create a new command that would overwrite an existing one.
But there is a special command in case you explicitly want this: \renewcommand. It uses
the same syntax as the \newcommand command.
In certain cases you might also want to use the \providecommand command. It works
like \newcommand, but if the command is already defined, LaTeX will silently ignore the
new command.
With LaTex2e, it is also possible to add a default parameter to a command with the
following syntax:
\newcommand{name}[num][default]{definition}
If the default parameter of \newcommand is present, then the first of the number of
arguments specified by num is optional with a default value of default; if absent, then
all of the arguments are required.

\newcommand{\wbalTwo}[2][Wikimedia]{
This is the Wikibook about LaTeX
supported by {#1} and {#2}!}
% in the document body:
\begin{itemize}
\item \wbalTwo{John Doe}
\item \wbalTwo[lots of users]{John Doe}
\end{itemize}

• This is the Wikibook about LaTeX supported by Wikimedia and John Doe!
• This is the Wikibook about LaTeX supported by lots of users and John Doe!

Note

570
New environments

When the command is used with an explicit first parameter it is given enclosed with
brackets (here ”[lots of users]”).
Here is a common example: if you are writing a book about Mathematics and you have to
use vectors, you have to decide how they will look. There are several different standards,
used in many books. If a is a vector, some people like to add an arrow over it (⃗a), other
people write it underlined (a); another common version is to write it bold (a). Let us
assume you want to write your vectors with an arrow over them; then add the following
line in your mystyle.sty.
\newcommand{\myvec}[1]{\vec{#1}}
and write your vectors inside the new \myvec{...} command. You can call it as you
wish, but you’d better choose a short name because you will probably write it very often.
Then, if you change your mind and you want your vectors to look differently you just
have to change the definition of your \myvec{...}. Use this approach whenever you can:
this will save you a lot of time and increase the consistency of your document.

51.1.1. DeclareRobustCommand
Some commands are fragile, that is they fail in some environments. If a macro works in
body text but not in (for example) a figure caption, it’s worth trying to replace the \new-
command{\MyCommand}... declaration with \DeclareRobustCommand{\MyCommand}...
in the preamble. This is especially true for macros which, when expanded, produce text
that is written to a .aux file.

51.2. New environments


Just as with the \newcommand command, there is a command to create your own envi-
ronments. The \newenvironment command uses the following syntax:
\newenvironment{name}[num]{before}{after}
Again \newenvironment can have an optional argument. When the \begin{name} com-
mand (which starts the environment) is encountered, the material specified in the before
argument is processed before the text in the environment gets processed. The material
in the after argument gets processed when the \end{name} command (which ends the
environment) is encountered.
The num argument is used the same way as in the \newcommand command. LaTeX makes
sure that you do not define an environment that already exists. If you ever want to
change an existing environment, you can use the \renewenvironment command. It uses
the same syntax as the \newenvironment command.
The example below illustrates the usage of the \newenvironment command:

\newenvironment{king}
{ \rule{1ex}{1ex}\hspace{\stretch{1}} }
{ \hspace{\stretch{1}}\rule{1ex}{1ex} }

\begin{king}
My humble subjects \ldots
\end{king}

571
Macros

Figure 209

51.2.1. Extra space


When creating a new environment you may easily get bitten by extra spaces creeping in,
which can potentially have fatal effects. For example when you want to create a title
environment which suppresses its own indentation as well as the one on the following
paragraph. The \ignorespaces command in the begin block of the environment will
make it ignore any space after executing the begin block. The end block is a bit more
tricky as special processing occurs at the end of an environment. With the \ignores-
pacesafterend LaTeX will issue an \ignorespaces after the special ‘end’ processing has
occurred.

\newenvironment{simple}%
{\noindent}%
{\par\noindent}

\begin{simple}
See the space\\to the left.
\end{simple}
Same\\here.

See the space


to the left.

Same
here.

\newenvironment{correct}%
{\noindent\ignorespaces}%
{\par\noindent%
\ignorespacesafterend}

\begin{correct}
No space\\to the left.
\end{correct}
Same\\here.

No space
to the left.

Same
here.

572
Declare commands within new environment

Also, if you’re still having problems with extra space being appended at the end of your
environment when using the \input for external source, make sure there is no space
between the beginning, sourcing, and end of the environment, such as:
\begin{correct}\input{somefile.tex}\end{correct}
or
\begin{correct}%
\input{somefile.tex}%
\end{correct}

51.3. Declare commands within new environment


New commands can be declared within newenvironment. Commands declared within the
newenvironment refer to their arguments by doubling the # character. In the following
example, a new environment is declared along with a nested command:
\newenvironment{topics}{
\newcommand{\topic}[2]{ \item{##1 / ##2\} }
Topics:
\begin{itemize}
}
{
\end{itemize}
}
If, by mistake, the arguments passed to the \topics macro are defined with a single #
character, the following error message will be thrown:

! Illegal parameter number in definition of \topics.

51.4. Extending the number of arguments


The xkeyval packages will let you define key/value options for commands.
\mycommand[key1=value1, key3=value3]{some text}
The package is quite complete and documentation is exhaustive. We recommend that
package developers read it. http://www.ctan.org/pkg/xkeyval
Let’s provide a simple example2 :
\usepackage{xkeyval}
% ...

\makeatletter
\def\my@emphstyle#1{\csname my@style@#1\endcsname}
%% Predefined styles
\providecommand\my@style@default{\em}
\providecommand\my@style@bold{\bfseries}

\define@key{myemph}{code}{%
\def\my@emphstyle{#1}
}
\define@key{myemph}{style}{%
\def\my@emphstyle{\csname my@style@#1\endcsname}

2 tex.stackexchange.com ˆ{http://tex.stackexchange.com/questions/13270/
a-package-template-using-xkeyval}

573
Macros

}
\newcommand\setemph[1]{%
\setkeys{myemph}{#1}
}

\renewcommand\emph[1]{%
{\my@emphstyle #1}
}

\makeatother

Something \emph{important}

\setemph{style=bold}
Something \emph{important}

\setemph{code=\Large\sffamily}
Something \emph{important}

51.5. Arithmetic
UNKNOWN TEMPLATE Expand
LaTeX can manipulate numbers.
The calc package provides the common infix notation.
\usepackage{calc}
% ...
\newcounter{mine}
\setcounter{mine}{2*17}
\themine
For high-precision computations, you can use the fp3 package.
\usepackage{fp}

% Clip
\[
\FPmul\result{2}{7}
\FPclip\result\result
2*7 = \result
\]

% Infix
\[
\newcommand\result{11}
\sqrt{\sin(2+\result)} \approx
\FPeval\result{round(root(2,sin(result + 2.5)),2)}
\result
\]

% Postfix
\[
\FPupn\result{17 2.5 + 17.5 swap - 2 1 + * 2 swap /} % or \FPupn\result{2 17.5
17 2.5 + - 2 1 + * /}
\FPclip\result\result
(17+2.5 - 17.5) * (2+1) / 2 = \result
\]

% High precision
\[
\FPdiv\result{17}{7}
\frac{17}{7} \approx \FPtrunc\result\result{3}

3 ctan.mackichan.com ˆ{http://ctan.mackichan.com/macros/latex/contrib/fp/README}

574
Conditionals

\result
\]

51.6. Conditionals
LaTeX can use conditionals thanks to the ifthen package.
\usepackage{ifthen}
% ...

\ifthenelse{ \equal{\myvar}{true} }{
This is true.
}{
This is false.
}

51.7. Loops
The PGF/TikZ extension provides the \foreach command.
\usepackage{tikz}
% ...

\foreach \i/\q in {wheat/50g, water/1L, yeast/2g}{


\noindent\i\dotfill\q\\
}
If you are only using \foreach and not drawing graphics, you may instead use the
pgffor package directly.
Alternatively you can check out the multido package.

51.8. Strings
xstring provides a lot of features. From CTAN:
• testing a string’s contents
• extracting substrings
• substitution of substrings
• string length
• position of a substring
• number of recurrences of a substring
Examples:
\usepackage{xstring}
% ...

\newcommand\mystr{Hello World!}

The string ``\mystr'' has \StrLen{\mystr}{} characters.

Predicate ``\mystr{} contains the word Hello'' is


\IfSubStr{\mystr}{Hello}{true}{false}.

51.9. LaTeX Hooks


LaTeX provide two hooks:

575
Macros

• \AtBeginDocument will let you specify a set of commands that will be executed when
\begin{document} is met.
• \AtEndDocument does the same for \end{document}.
This gives you some more flexiblity for macros. It can be useful to override settings that
get executed after the preamble. These hooks can be called several times. The commands
will be executed in the order they were set.
For instance, let’s replace the page numbers with oldstylenums:
\usepackage{textcomp}

\AtBeginDocument{%
% Make the page numbers in text figures
\let\myThePage\thepage
\renewcommand{\thepage}{ \oldstylenums{\myThePage} }
}
There are also hooks for classes and packages. See Creating Packages4 .

51.10. Command-line LaTeX


If you work on a Unix-like OS, you might be using Makefiles or any kind of script to build
your LaTeX projects. In that connection it might be interesting to produce different
versions of the same document by calling LaTeX with command-line parameters. If you
add the following structure to your document:
\usepackage{ifthen}
%...

% default value.
\providecommand\blackandwhite{false}
%...

\ifthenelse{ \equal{\blackandwhite}{true} }{
% "black and white" mode; do something..
}{
% "color" mode; do something different..
}
Now you can call LaTeX like this:

latex '\providecommand{\blackandwhite}{true}\input{test.tex}'

First the command \blackandwhite gets defined and then the actual file is read with
input. By setting \blackandwhite to false the color version of the document would be
produced.

51.11. Notes and References

4 Chapter 53 on page 591

576
52. Plain TeX
While you play with LaTeX macros, you will notice that it is quite limited. You may
wonder how all these packages you are using every day have been implemented with so
little. In fact, LaTeX is a set of Plain TeX macros and most packages use Plain TeX
code. Plain TeX is much more low-level, it has much more capabilities at the cost of a
steep learning curve and complex programming.
Up to a few exceptions, you can use the full Plain TeX language within a valid LaTeX
document whereas the opposite is false.

52.1. Vocabulary
To avoid confusion it seems necessary to explain some terms.
• A group is everything after an opening brace and before the matching closing brace.
• A token is a character, a control sequence, or a group.
• A control sequence is anything that begins with a \. It is not printed as is, it is expanded
by the TeX engine according to its type.
• A command (or function or macro) is a control sequence that may expand to text, to
(re)definition of control sequences, etc.
• A primitive is a command that is hard coded in the TeX engine, i.e. it is not written
in Plain TeX.
• A register is the TeX way to handle variables. They are limited in numbers (256 for
each type of register in classic TeX, 32767 in e-TeX).
• A length is a control sequence that contains a length (a number followed by a unit).
See Lengths1 .
• A font is a control sequence that refers to a font file. See Fonts2 .
• A box is an object that is made for printing. Anything that ends on the paper is a box:
letters, paragraphs, pages... See Boxes3 .
• A glue is a certain amount of space that is put between boxes when they are being
concatenated.
• A counter is a register containing a number. See Counters4 .
There may be more terms, but we hope that it will do it for now.

52.2. Catcodes
In TeX some characters have a special meaning that is not to print the associated glyph.
For example, \ is used to introduce a control sequence, and will not print a backslash by
default.

1 Chapter 23 on page 287


2 Chapter 9 on page 93
3 Chapter 25 on page 299
4 Chapter 24 on page 295

577
Plain TeX

To distinguish between different meanings of the characters, TeX split them into category
codes, or catcodes for short. There are 16 category codes in TeX.
A powerful feature of TeX is its ability to redefine the language itself, since there is a
\catcode function that will let you change the category code of any characters.
However, this is not recommended, as it can make code difficult to read. Should you
redefine any catcode in a class or in a style file, make sure to revert it back at the end of
your file.
If you redefine catcodes in your document, make sure to do it after the preamble to
prevent clashes with package loading.

Code Description Default set


0 Escape character and control se- \
quences
1 Beginning of group {
2 End of group }
3 Math shift $
4 Alignment tab &
5 End of line ˆˆM (ASCII return)
6 Macro parameter #
7 Superscript ˆ and ˆˆK
8 Subscript _ and ˆˆA
9 Ignored character ˆˆ@ (ASCII null)
10 Space ␣ and ˆˆI (ASCII horizontal tab)
11 Letter A...Z and a...z
12 Other character everything not listed in the other
catcodes. Most notably, @.
13 Active character ˜ and ˆˆL (ASCII form feed)
14 Comment character %
15 Invalid character ˆˆ? (ASCII delete)

52.2.1. Active characters


Active characters resemble macros: they are single characters that will expand before any
other command.

\catcode` = 13
\def{\TeX}
...
This is a stupid example of .

This is a stupid example of TeX.

Note that an active character needs to be directly followed by a definition, otherwise the
compilation will fail.

578
Catcodes

52.2.2. Examples
Texinfo
Texinfo5 uses a syntax similar to TeX with one major difference: all functions are intro-
duced with a @ instead of a \. This is not by chance: it actually uses TeX to print the
PDF version of the files. What it basically does is inputting texinfo.tex which redefines
the control sequence character. Possible implementation:

\catcode`\@=0
@def@@{@char64} % To write '@' character.
\catcode`\\=13 @def\{{@tt @char92}}

The @TeX command was previously written '\TeX'. It is now written '@@TeX'.

The TeX command was previously written ’\TeX’. It is now written ’@TeX’.

With this redefinition, the ’@’ should now introduce every command, while the ’\’ will
actually print a backslash character.
Itemize
Some may find the LaTeX syntax of list environments a bit cumbersome. Here is a quick
way to define a wiki-like itemize:
\catcode` = 13
\def{\item {--}}
\def\itemize#1{{\leftskip = 40 pt #1 \par}}

\itemize{
First item
Second item
}
Dollar and math
If you have many ’dollar’ symbols to print, you may be better off to change the math
shift character.
\catcode`$ = 11
\catcode` = 3

It costs $100.
Let's do the math: 50+50=100. Let's highlight it:
50+50=100

52.2.3. \makeatletter and \makeatother


If you have done a bit of LaTeX hacking, you must have encountered those two commands,
\makeatletter and \makeatother.
In TeX the ’@’ characters belongs to catcode 11 letters by default. It means you can use
it for macro names. LaTeX makes use of the catcode to specify a rule: all non-public,
internal macros that are not supposed to be accessed by the end-user contains at least
one ’@’ character in their name. In the document, LaTeX changes the catcode of ’@’ to
12, others.

5 https://en.wikipedia.org/wiki/Texinfo

579
Plain TeX

That’s why when you need to access LaTeX internals, you must enclose all the commands
accessing private functions with \makeatletter and \makeatother. All they do is just
changing the catcode:
\def\makeatletter{\catcode`@ = 11}
\def\makeatother{\catcode`@ = 12}

52.3. Plain TeX macros


\newcommand and \renewcommand are LaTeX-specific control sequences. They check that
no existing command gets shadowed by the new definition.
In Plain TeX, the primitives for macro definition make no check on possible shadowing.
It’s up to you to make sure you are not breaking anything.
The syntax is
\def<macroname>#1<sep1>#2<sep2>{macro content, use of argument #1, blah, #2 ...}
You can use (almost) any sequence of character between arguments. For instance let’s
write a simple macro that will convert the decimal separator from point to comma. First
try:
\def\pointtocomma #1.#2{(#1,#2)}
%%...

\pointtocomma 123.456
This will print (123,4)56. We added the parentheses just to highlight the issue here.
Each parameter is the shortest possible input sequence that matches the macro definition,
separators included. Thus #1 matches all characters up to the first point, and #2 matches
the first token only, i.e. the first character, since there is no separator after it.
Solution: add a second separator. A space may seem convenient:
\def\pointtocomma #1.#2 {(#1,#2)}
As a general rule, everytime you expect several parameters with specific separators, think
out the last separator. If you do not want to play with separators, then Plain TeX macros
are used just as LaTeX macros (without default parameter):
\def\mymacro#1#2#3{{\bf #1}#2{\bf #3}}
%% ...
\mymacro{word1}{word2 word3}{!!!}

52.3.1. Expanded definitions


TeX has another definition command: \edef, which stands for expanded def. The syntax
remains the same:
\edef<macroname><argumentslist>{<expanded content>}
The content gets expanded (but not executed, i.e. printed) at the point where \edef is
used, instead of where the defined macro is used. Macro expansion is not always obvious...
Example:
\def\intro{Example}
\edef\example#1{\intro~---~#1}
\def\intro{Exercise}

\example{This is an example}
Here the redefinition of \intro will have no effect on \example.

580
Plain TeX macros

52.3.2. Global definitions


Definitions are limited to their scope. However it might be convenient sometimes to
define a macro inside a group that remain valid outside the group, and until the end of
the document. This is what we call global definitions.
{
\def\LocalTeX{Local\TeX}
\global\def\GlobalTeX{Global\TeX}
}
I can still access the \GlobalTeX{} macro here.
You can also use the \global command with \edef.
Both commands have a shortcut:
• \gdef for \global\def
• \xdef for \global\edef

52.3.3. Long definitions


The previous definition commands would not allow you to use them over multiple para-
graphs, i.e. text containing the \par command -- or double line breaks.
You can prefix the definition with the \long command to allow multi-paragraph argu-
ments.
Example:
\long\def\dummy#1{#1}
\dummy{First paragraph\par Second paragraph}

52.3.4. Outer definitions


This prefix macro prevent definitions from being used in some context. It is useful
to consolidate macros and make them less error-prone because of bad contexts. Outer
macros are meant to be used outside of any context, hence the name.
For instance the following code will fail:
\outer\def\test{a test}
\def\failure{\test}
Outer macros are not allowed to appear in:
• macro parameters
• skipped conditional
• ...

52.3.5. let and futurelet


\let<csname><token> is the same as \expandafter\def\expandafter<csname>\expandafter{<content>
It defines a new control sequence name which is equivalent to the specified token. The
token is usually another control sequence.
Note that \let will expand the token one time only, contrary to \edef which will expand
recursively until no further expansion is possible.
Example6 :

6 From tex.stackexchange.com ˆ{http://tex.stackexchange.com/questions/8163/


what-is-the-difference-between-let-and-edef} : What is the difference between \let and
\edef?

581
Plain TeX

Using let:\par
\def\txt{a}
\def\foo{\txt}
\let\bar\foo
\bar % Prints a
\def\txt{b}
\bar % Prints b

Using edef:\par
\def\txt{a}
\def\foo{\txt}
\edef\bar{\foo}
\bar % Prints a
\def\txt{b}
\bar % Prints a
\futurelet<csname><token1><token2>... works a bit differently. token2 is assigned
to csname; after that TeX processes the <token1><token2>... sequence. So \futurelet
allows you to assign a token while using it right after.

52.3.6. Special control sequence name


Some macros may have a name that is not directly writable as is. This is the case of
macros whose name is made up of macro names. Example:
\def\status{full}
\def\varempty{This is empty}
\def\varfull{This is full}

\csname var\status \endcsname


The last line will print a sentence depending on the \status.
This command actually does the opposite of \string which prints a control sequence
name without expanding it:

{\tt \string\TeX}

\TeX

52.3.7. Controlling expansion


\expandafter{token1}{token2} will expand token2 before token1. It is sometimes
needed when token2 expansion is desired but cannot happen because of token1.

{\tt \expandafter\string\csname TeX\endcsname}

\TeX

\noexpand is useful to have fine grained control over what gets expanded in an \edef.
Example:
\def\intro{Example}
\def\separator{~---~}

582
Registers

\edef\example#1{\intro\noexpand\separator#1}

\example{no expand makes the separator dynamic in an {\tt \string\edef}.}

\def\intro{For instance}
\def\separator{~:~}

\example{the separator changed, but not the first word.}


\the control sequence will let you see the content of various TeX types:
• catcodes
• chardef
• font parameters
• internal parameters
• lengths
• registers
• ...
Example:
Text dimensions: $ \the\hsize \times \the\vsize $

52.4. Registers
Registers are kind of typed variables. They are limited in numbers, ranging from 0 to
255. There are 6 different types:

Type Description
box one box
count an integer
dimen a length
muskip a glue (in mu unit)
skip a glue
toks a sequence of tokens

TeX uses some registers internally, so you would be better off not using them.
List of reserved registers:
• \box255 is used for the contents of a page
• \count0-\count9 are used for page numbering
Scratch registers (freely available):
• \box0-\box254
• \count255
• \dimen0-\dimen9
• \muskip0-\muskip9
• \skip0-\skip9
Assign register using the ’=’ control character. For box registers, use the \setbox com-
mand instead.
\count255=17
\setbox\mybox=\hbox{blah}
You may use one of the following reservation macro to prevent any clash:
\newbox
\newcount
\newdimen
\newmuskip

583
Plain TeX

\newskip
\newtoks
These macros use the following syntax: \new*<csname>. Example:
\newbox\mybox
\setbox\mybox=\hbox{blah}
These commands can not be used inside macros, otherwise every call to the macro would
reserve another register.
You can print a register using the \the command. For counters use the \number command
instead. For boxes use the \box command.
\the\hsize
\number\count255
\box\mybox

52.5. Arithmetic
The arithmetic capabilities of TeX are very limited, although this base suffice to extend
it to some interesting features. The three main functions:
\advance <register> by <number>
\multiply <register> by <number>
\divide <register> by <number>
register may be of type count, dimen, muskip or skip. It does not make sense for box
nor toks.

52.6. Conditionals
The base syntax is
\if* <test><true action>\fi
\if* <test><true action>\else<false action>\fi
where \if* is one command among the following.

Control sequence Description


\if <a><b> True if two character codes are equal.
\ifcat <a><b> True if two category codes are equal.
\ifdim <a><rel><b> Dimension relation, either <, > or =.
\ifeof True if End-Of-File or non-existent file.
\iffalse Always false.
\ifhbox <reg> True if box register contains a horizontal box.
\ifhmode True if in horizontal mode.
\ifinner True if in internal mode.
\ifmmode True if in math mode.
\ifnum <a><rel><b> Number relation, either <, > or =.
\ifodd <num> True if number is odd.
\iftrue Always true.
\ifvbox <reg> True if box register contains a vertical box.
\ifvmode True if in vertical mode.
\ifvoid <reg> True if box register is empty.
\ifx <a><b> True if two macros expands to the same, or if two char-
acter codes are equal, or if two category codes are equal.

584
Conditionals

Example:

\ifnum 5>6
This is true
\else
This is false
\fi

This is false

52.6.1. Self defined conditionals


You can create new conditionals (as a kind of boolean variables) with the \newif com-
mand. With this self defined conditionals you can control the output of your code in an
elegant way. The best way to illustrate the use of conditionals is through an example.
Two versions of a document must be generated. One version for group A the other one
for the rest of people (i.e. not belonging to group A):
1. We use \newif to define our conditional (i.e. boolean variable).
\newif\ifgroupA
2. In the following way we set a value (true or false) for our conditional
\groupAtrue % or
\groupAfalse
that is:
\<conditionalsname>true
\<conditionalsname>false
depending on which value we want to set in our conditional.
3. Now we can use our conditional anywhere after in an if control structure.
\ifgroupA
% Here we write the code of the document that is
% intended for the group A
\else
% Here we write the code of the document that is
% intended for the rest of the people
\fi
A full example is:

\newif\ifdirector

%I set the conditional to false


\directorfalse

\ifdirector
I write something for the director.
\else
I write something for common people.
\fi

I write something for common people.

585
Plain TeX

52.6.2. Case statement


The syntax is \ifcase <number><case0>\or<case1>\or...\else<defaultcase>\fi.
If number is equal to the case number, its content will be printed. Note that it starts at
0.

\ifcase 2 a\or b\or c\or d\else e\fi

\else is used to specify the default case (whenever none of the previous cases have
matched).

52.7. Loops
The base syntax is
\loop <content> \if*<condition><true action>\repeat
As always, content and true action are arbitrary TeX contents. \if* refers to any of
the conditionals7 . Note that there is no false action, you cannot put an \else between
\if* and \repeat. In some case this will be the opposite of what you want; you have to
change the condition or to define a new conditional using \newif. Example:
\count255 = 1
\loop
\TeX
\ifnum\count255 < 10
\advance\count255 by 1
\repeat
The above code will print TeX ten times.

52.8. Doing nothing


Sometimes it may be useful to tell TeX that you want to do nothing. There is two
commands for that: \relax and \empty.
Classic example:
\def\myspace{\hskip 25pt\relax}
\myspace{} plus 10pt
The \relax prevents undesired behaviour if a plus or a minus is encounter after the
command.
The difference between \empty and \relax lies in the expansion: \empty disappears after
macro expansion.

7 Chapter 52.6 on page 584

586
TeX characters

52.9. TeX characters


52.9.1. char
We can print all characters using the \char {charcode} command. The charcode is
actually the byte value. For example
\char65 = \char `A = \char `\A
Most characters correspond to the ASCII value (e.g. A-Za-z), some replace the non-
printable characters from ASCII.

52.9.2. chardef and mathchardef


You can define control sequence to expand to a specific char. The syntax is
\chardef<control sequence>=<charcode>. The following sequences do the same thing.
\chardef\myA=65
\chardef\myA=`A
\chardef\myA=`\A
Example:
\mathchardef\alphachar = "010B
$\alphachar$

52.9.3. Font encoding map


We can use the above primitive to print the font encoding map.
\count255 = 0
\loop
[\number\count255 =\char\number\count255]
\ifnum\count255 < 127
\advance\count255 by 1
\repeat
Another version, with different fonts, one entry per line:
\count255 = 0
\loop
[\number\count255 =
\char\number\count255 \
{\tt \char\number\count255}
{\it \char\number\count255}
]
\hfil\break
\ifnum\count255 < 127
\advance\count255 by 1
\repeat

52.10. Verbatim lines and spaces


It is rather confusing to discover (La)TeX treats all whitespace as the same type of spacing
glue. Plain TeX provides some commands to preserve the spacing and newlines as you
wrote it:
\begingroup
\obeylines
\obeyspaces
Relevant text here
\endgroup
which means that you will probably need to combine your own verbatim environment,
and your command:

587
Plain TeX

\newenvironment{myverbatim}{\begingroup \obeylines \obeyspaces}{\endgroup}


\newcommand{\mycommand}[n]{do something with #1 .. #n}
and then in your tex file:
\begin{myverbatim}
\mycommand{
whichever text it is important you
preserve the spacing and newslines
for, like when you want to generate
a verbatim block later on.
}
\end{myverbatim}

52.11. Macros defining macros


This is useful in some case, for example to define language commands as explained in
Multilingual versions8 , where the end user can write
\en{some english text}
\de{etwas deutscher Text}
and make sure it switches to the appropriate Babel language.
Let’s define a macros that will define language commands for instance. These commands
are simple: if the argument is the value of the \locale variable, then the corresponding
macro prints its content directly. Otherwise, it does nothing.
Basicly, what we want to do is extremely simple: define a bunch of macros like this:
\newcommand{\de}[1]{#1}
\newcommand{\en}[1]{}
\newcommand{\fr}[1]{}
In the previous snippet of code, only the \de command in going to output its content,
\en and \fr will print nothing at all. That’s what we want. The problem arises when
you want to automate the task, or if you have a lot of languages, and you want to change
the language selection. You just have to move the #1, but that’s not convenient and it
makes it impossible to choose the Babel language from command line. Think this out...
What we are going to do is to define the language commands dynamically following the
value of the \locale variable (or any variable of your choice). Hence the use of the
\equal command from the ifthen package.
Since it is hardly possible to write it in LaTeX, we will use some Plain TeX.
\def\locale{de}

\def\localedef#1{
\ifthenelse{ \equal{\locale}{#1} }{
%% Set the Babel language.
%% Define the command to print the content.
}{
%% Define the command to print nothing.
}
}
Another problem arises: how to define a command whose name is a variable? In most
programming languages that’s not possible at all. What we could be tempted to write is
\def\#1 #1{#1}
It will fail for two reasons.

8 Chapter 12.3 on page 133

588
Notes and References

1. The two last ’#1’ are supposed to refer to the arguments of the new macro, but they
get expanded to the \localedef macro first argument because they are in the body
of that macro.
2. \#1 gets expanded to two tokens: ’#’ and ’1’, and the \def command will fail as it
requires a valid control sequence name.
The solution to problem 1 is simple: use ’##1’, which will expand to ’#1’ when the
macro is executed.
For problem 2, it is a little bit tricky. It is possible to tell tex that a specific token is a
control sequence. This is what the \csname...\endcsname is used for. However
\def\csname#1\endcsname ##1{##1}
will fail because it will redefine \csname to ’#1’, which is not what we want, then tex will
encounter \endcsname, which will result in an error.
We need to delay the expansion of \def, i.e. to tell tex to expand the \csname
stuff first, then to apply \def on it. There is a command for that: \ex-
pandafter{token1}{token2}. It will expand {token2} before {token1}.
Finally if we want to set language from command line, we must be able to set the \locale
variable so that the one in the source code is the default value that can be overridden by
the one in the command line. This can be done with \provdecommand:
\providecommand\locale{fr}
The final code is
%% Required package.
\usepackage{ifthen}

%% TeX function that generates the language commands.


\def\localedef#1#2{
\ifthenelse{ \equal{\locale}{#1} }{
\selectlanguage{#2}
\expandafter\def\csname#1\endcsname ##1{##1}
}{
\expandafter\def\csname#1\endcsname ##1{}
}
}

%% Selected language. Can be placed anywhere before the language commands.


\providecommand\locale{fr}

%% Language commands.
\localedef{de}{ngerman}
\localedef{en}{english}
\localedef{fr}{frenchb}
%% ...
And you can compile with

latex '\providecommand\locale{en}\input{mydocument.tex}'

52.12. Notes and References


Further reading
• The TeXbook9 , Donald Knuth

9 http://www.ctan.org/pkg/texbook

589
Plain TeX

• TeX by Topic10 , Victor Eijkhout


• TeX for the Impatient11 , Paul W. Abrahams, Karl Berry and Kathryn A. Hargreaves

10 http://www.ctan.org/pkg/texbytopic
11 http://www.ctan.org/pkg/impatient

590
53. Creating Packages
If you define a lot of new environments and commands, the preamble of your document
will get quite long. In this situation, it is a good idea to create a LaTeX package or
class containing all your command and environment definitions. It can be made dynamic
enough to fit to all your future documents.
Classes are .cls files, packages are stored in .sty files. They are very similar, the main
difference being that you can load only one class per document.
After deciding to create an own package or class, you should think about which license
the package/class has. A license is of great importance, either to protect your file, or to
make it available for others.

53.1. makeatletter and makeatother


By default, LaTeX will allow the use of the ’@’ characters for control sequences from
within package and class files, but not from within an end-user document. This way it is
possible to protect commands, i.e. to make them accessible from packages only.
However it is possible to override this security with the duo \makeatletter and
\makeatother. These commands only make sense in a regular document, they are not
needed in package or class files.
\documentclass{...}
%...

\begin{document}

\makeatletter
\@author
\makeatother

\end{document}

53.2. Creating your own package


Your package can be made available in your document just like any other package: using
the \usepackage command. Writing a package basically consists of copying the contents
of your document preamble into a separate file with a name ending in .sty.
Let’s write a first custom.sty file as an example package:
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{custom}[2013/01/13 Custom Package]

\RequirePackage{lmodern}

%% 'sans serif' option


\DeclareOption{sans}{
\renewcommand{\familydefault}{\sfdefault}
}

591
Creating Packages

%% 'roman' option
\DeclareOption{roman}{
\renewcommand{\familydefault}{\rmdefault}
}

%% Global indentation option


\newif\if@neverindent\@neverindentfalse
\DeclareOption{neverindent}{
\@neverindenttrue
}

\ExecuteOptions{roman}

\ProcessOptions\relax

%% Traditional LaTeX or TeX follows...


% ...

\newlength{\pardefault}
\setlength{\pardefault}{\parindent}
\newcommand{\neverindent}{ \setlength{\parindent}{0pt} }
\newcommand{\autoindent}{ \setlength{\parindent}{\pardefault} }

\if@neverindent
\neverindent
\fi

% ...

\endinput
• \NeedsTeXFormat{...} specifies which version of TeX or LaTeX is required at least to
run your package. The optional date may be used to specify the version more precisely.
• \ProvidesPackage{<name>}[<version>] A package introduces itself using this com-
mand. <name> should be identical to the basename of the file itself. The
<version> should begin with a date in the format YYYY/MM/DD. Version infor-
mation should be kept updated while developing a package.
• Next you may write some TeX or LaTeX code like loading package, but write only the
bare minimum needed for the package options set below.
• \RequirePackage is equivalent to \usepackage.
• \DeclareOptions are end-user parameters. Each option is declared by one such com-
mand.
• \ExecuteOptions{...} tells which are the default.
• \ProcessOptions\relax terminates the option processing.
• Write whatever you want in it using all the LaTeX commands you know. Normally
you should define new commands or import other packages.
• \endinput: this must be the last command.
Once your package is ready, we can use it in any document. Import your new package
with the known command \usepackage{mypack}. The file custom.sty and the LaTeX
source you are compiling must be in the same directory.
\documentclass{...}
\usepackage[neverindent,sans]{custom}
%...

\begin{document}

Blah...

\end{document}

592
Creating your own class

For a more convenient use, it is possible to place the package within $TEXMFHOME (which
is ˜/texmf by default) according to the TeX Directory Structure (TDS). That would be

$TEXMFHOME/tex/latex/custom/custom.sty

On Windows ’˜’ is often C:\Users\username.


You may have to run texhash (or equivalent) to make your TeX distribution index the
new file, thus making it available for use for any document. It will allow you to use your
package as detailed above, but without it needing to be in the same directory as your
document.

53.3. Creating your own class


It is also possible to create your own class file. The process is similar to the creation of
your own package, you can call your own style file in the preamble of any document by
the command:
\documentclass{myclass}
The name of the class file is then myclass.cls. Let’s write a simple example:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myclass}[2011/12/23 My Class]

%% Article options
\DeclareOption{10pt}{
\PassOptionsToClass{\CurrentOption}{article}
}

%% Custom package options


\DeclareOption{sansserif}{
\PassOptionsToPackage{\CurrentOption}{paxcommands}
}
\DeclareOption{neverindent}{
\PassOptionsToPackage{\CurrentOption}{paxcommands}
}

%% Fallback
\DeclareOption*{
\ClassWarning{myclass}{Unknown option '\CurrentOption'}
}

%% Execute default options


\ExecuteOptions{10pt}

%% Process given options


\ProcessOptions\relax

%% Load base
\LoadClass[a4paper]{article}

%% Load additional packages and commands.


\RequirePackage{custom}

%% Additional TeX/LaTeX code...

\endinput
• \ProvidesClass is the counterpart of \ProvidesPackage.
• \PassOptionsToClass and \PassOptionsToPackage are used to automatically invoke
the corresponding options when the class or the package is loaded.

593
Creating Packages

• \DeclareOption*: the starred version lets you handle non-implemented options.


• \ClassWarning will show the corresponding message in the TeX compiler output.
• \LoadClass specifies the unique parent class, if any.

53.4. Hooks
There are also hooks for classes and packages.
• \AtEndOfPackage
• \AtEndOfClass
They behave as the document hooks. See LaTeX Hooks1 .

1 Chapter 51.9 on page 575

594
54. Themes
Newcomers to LaTeX often feel disappointed by the lack of visual customization offered
by the system. Actually this is done on purpose: the LaTeX philosophy takes a point at
doing the formatting while the writer focuses on the content.
In this chapter, we will show what we can achieve with some efforts.

54.1. Introduction
In the following we will write the theme, a package that will only change the appearance
of the document, so that our document will work with or without the theme.
Note that if it may look eye-candy, this is absolutely not a model of typography. You
should not use such theme for serious publications. This is more a technogical example
to exhibit LaTeX capabilities.

Figure 210 Custom theme (TOC)

595
Themes

Figure 211 Custom theme

Figure 212 Custom theme (red)

596
Package configuration

54.2. Package configuration


Nothing much to say here. This is a direct application of the Creating Packages1 chapter.
We load the required packages.
• needspace is used to prevent page break right after a sectioning command.
• tikz is used to draw the fancy material.
We define a color option, you may use as much as you want. Defining colors with specific
names makes it very flexible. We also use an option to toggle the fancy reflection effect
which might be a little too much!
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{theme-fancy}[2013/01/13 v1.0 fancy theme]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Packages

\RequirePackage{geometry}
\RequirePackage{needspace}
\RequirePackage[svgnames]{xcolor}

\RequirePackage{hyperref}
\hypersetup{colorlinks=true}

\RequirePackage{fancyhdr}

\RequirePackage{tikz}
\usetikzlibrary{
calc,
decorations.pathmorphing,
fadings,
shadows,
shapes.geometric,
shapes.misc,
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Options

%% Toggle reflection.
\newif\if@mirrors\@mirrorsfalse
\DeclareOption{mirrors}{
\@mirrorstrue
}

%% Colors.
\newif\if@red\@redfalse
\DeclareOption{red}{
\@redtrue
}

\ExecuteOptions{}
\ProcessOptions\relax

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Configuration

\renewcommand{\familydefault}{\sfdefault}
\setlength{\parskip}{0.5\baselineskip}

%% Colors
\colorlet{toctitle}{DarkGray!50!black}
\colorlet{titlebg}{MidnightBlue}

1 Chapter 53 on page 591

597
Themes

\colorlet{titlefg}{LightBlue}
\colorlet{titletxt}{MidnightBlue}
\colorlet{sectionfg}{MidnightBlue}
\colorlet{subsectionfg}{SteelBlue}
\colorlet{subsubsectionfg}{LightSteelBlue!60!black}

\if@red
\colorlet{toctitle}{DarkGray!50!black}
\colorlet{titlebg}{DarkRed}
\colorlet{titlefg}{FireBrick!50}
\colorlet{titletxt}{DarkRed}
\colorlet{sectionfg}{DarkRed}
\colorlet{subsectionfg}{Crimson!50!black}
\colorlet{subsubsectionfg}{LightSteelBlue!60!black}
\fi

54.3. Header and footer


We use TikZ to draw a filled semicircle.
fancyhdr is used to set header and footer. We take care of using the fancy style and to
start from scratch by erasing the previous header and footer with \fancyhf{}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Header and Footer

\tikzstyle{foliostyle}=[fill=Lavender, text=MidnightBlue, inner sep=5pt,


semicircle]

\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{
\vskip 3pt
\begin{tikzpicture}
\node[foliostyle]
{\bfseries\thepage};
\end{tikzpicture}
}

\renewcommand{\headrulewidth}{0.8pt}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\headrule}{\color{LightGray}\hrule}
\fancyhead[LE]{ \textcolor{gray}{\slshape \rightmark} }
\fancyhead[RO]{ \textcolor{gray}{\slshape \leftmark} }

54.4. Table of contents


We redefine commands used by \tableofcontents.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Table of contents

\newcommand{\sectiontoccolor}{sectionfg}
\newcommand{\subsectiontoccolor}{subsectionfg}
\newcommand{\subsubsectiontoccolor}{subsubsectionfg}

\renewcommand*\l@section{\color{\sec
tiontoccolor}\def\@linkcolor{\sectiontoccolor}\@dottedtocline{1}{1.5em}{2.3em}}
\renewcommand*\l@subsection{\color{\subsectio
ntoccolor}\def\@linkcolor{\subsectiontoccolor}\@dottedtocline{1}{2.3em}{3.1em}}
\renewcommand*\l@subsubsection{\color{\subsubsectionto
ccolor}\def\@linkcolor{\subsubsectiontoccolor}\@dottedtocline{1}{3.1em}{3.9em}}
\def\contentsline#1#2#3#4{%
\ifx\\#4\\%

598
Sectioning

\csname l@#1\endcsname{#2}{#3}%
\else
\csname l@#1\endcsname{\hyper@linkstart{link}{#4}{#2}\hyper@linkend}{%
\hyper@linkstart{link}{#4}{#3}\hyper@linkend
}%
\fi
}

%% New title format -- 'section' is used by default.


\newcommand{\tocformat}[1]{{\Huge\bf#1}}

\renewcommand\tableofcontents{%
\tocformat{
\textcolor{toctitle}{\contentsname}
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}
}%
\@starttoc{toc}%
}

54.5. Sectioning
This is definitely the most complex part. It is not that hard since the code is almost the
same for \section, \subsection and \subsubsection.
We use \needspace to make sure there is no line break right after a sectioning command.
We enclose the command in a group where we set a font size since the space we need is
\baselineskip which depends on the font size.
Starred commands will not set the counters (LaTeX detault behaviour). You can choose
to handle starred command differently by resetting the counters for instance.
We preceed the section printing by a \noindent. We make sure to end the section printing
by a \par command to make sure following text gets printed properly.
For \subsection we make use of the mirrors option to change the appearance accord-
ingly.
To handle the PDF bookmarks properly we need the following lines at the end of the
definitions.
\phantomsection
\addcontentsline{toc}{section}{\thesection~#1}
Finally, for \section only, we want it to print in the header, so we call the \sectionmark
command. Here we changed the behaviour of the starred command over the original
LaTeX version, since we define and use the \sectionmarkstar command.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Section style

\renewcommand\section{
\@ifstar
\my@sectionstar
\my@section
}

%% Note: to justify, text width must be set to \textwidth - 2*(inner sep).


\tikzstyle{sectionstyle}=[
inner sep=5pt,
text width=\textwidth-10pt,
left color=sectionfg!100!white,
right color=sectionfg!50!white,
rounded corners,
text=Ivory,
rectangle
]

599
Themes

\newcommand\my@section[1]{
\stepcounter{section}
{\Large\needspace{\baselineskip}}
\noindent
\begin{tikzpicture}
\node[sectionstyle] {\bfseries\Large\thesection\quad#1};
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{section}{\thesection~#1}
\sectionmark{#1}
}

\newcommand{\sectionmarkstar}[1]{\markboth{\MakeUppercase{#1}}{}}

\newcommand\my@sectionstar[1]{
{\Large\needspace{\baselineskip}}
\noindent
\begin{tikzpicture}
\node[sectionstyle] {\bfseries\Large#1};
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{section}{#1}
\sectionmarkstar{#1}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Subsection style

\renewcommand\subsection{
\@ifstar
\my@subsectionstar
\my@subsection
}

\tikzstyle{subsectionstyle}=[
left color=subsectionfg!50!white,
right color=subsectionfg!100!white,
text=Ivory,
ellipse,
inner sep=5pt
]

\newcommand\my@subsection[1]{
\stepcounter{subsection}
{\Large\needspace{\baselineskip}}
\noindent
\begin{tikzpicture}
\node[subsectionstyle,anchor=west] (number) at (0,0)
{\bfseries\Large\thesubsection};
\if@mirrors
\node[above right,subsectionfg,anchor=south west] at
($(number.east)+(0.1,-0.1)$) {\large\bfseries#1};
\node[yscale=-1, scope fading=south, opacity=0.4, above, anchor=south west,
subsectionfg] at ($(number.east)+(0.1,0.1)$) {\large\bfseries#1};
\else
\node[above right,subsectionfg,anchor=west] at ($(number.east)+(0.1,0)$)
{\large\bfseries#1};
\fi
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{subsection}{\thesubsection~#1}
}

600
Notes and References

\newcommand\my@subsectionstar[1]{
{\Large\needspace{\baselineskip}}
\noindent
\begin{tikzpicture}
\node[subsectionstyle,anchor=west] (number) at (0,0)
{\bfseries\Large\phantom{1}};
%
\if@mirrors
\node[above right,subsectionfg,anchor=south west] at
($(number.east)+(0.1,-0.1)$) {\large\bfseries#1};
\node[yscale=-1, scope fading=south, opacity=0.4, above, anchor=south west,
subsectionfg] at ($(number.east)+(0.1,0.1)$) {\large\bfseries#1};
\else
\node[above right,subsectionfg,anchor=west] at ($(number.east)+(0.1,0)$)
{\large\bfseries#1};
\fi
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{subsection}{#1}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Subsubsection style

\renewcommand\subsubsection{
\@ifstar
\my@subsubsectionstar
\my@subsubsection
}

\tikzstyle{subsubsectionstyle}=[
left color=subsubsectionfg!50!white,
right color=subsubsectionfg!100!white,
text=Ivory,
shape=trapezium,
inner sep=5pt
]

\newcommand\my@subsubsection[1]{
\stepcounter{subsubsection}
\noindent
\begin{tikzpicture}
\node[subsubsectionstyle] (number) {\bfseries\large\thesubsubsection};
\node[subsubsectionfg, right of=number, anchor=west] {\large\bfseries#1};
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{subsubsection}{\thesubsubsection~#1}
}

\newcommand\my@subsubsectionstar[1]{
\noindent
\begin{tikzpicture}
\node[subsubsectionstyle] (number) {\bfseries\large\vphantom{1}};
\node[subsubsectionfg, right of=number, anchor=west] {\large\bfseries#1};
\end{tikzpicture}
\par
\phantomsection
\addcontentsline{toc}{subsubsection}{#1}
}

\endinput

54.6. Notes and References

601
Part IX.

Miscellaneous

603
55. Modular Documents
During this guide we have seen what is possible to do and how this can be achieved, but
the question is: I want to write a proper text with LaTeX, what to do then? Where
should I start from? This is a short step-by-step guide about how to start a document
properly, keeping a good high-level structure. This is all about organizing your files using
the modular capabilities of LaTeX. This way it will be very easy to make modifications
even when the document is almost finished. These are all just suggestions, but you might
take inspiration from that to create your own document.

55.1. Project structure


Create a clear structure of the whole project this way:
1. create a directory only for the project. We’ll refer to that in the following parts as
the root directory
2. create two other directories inside the root, one for LaTeX documents, the other one
for images. Since you’ll have to write their name quite often, choose short names.
A suggestion would be simply tex and img.
3. create your document (we’ll call it document.tex, but you can use the name you
prefer) and your own package (for example mystyle.sty); this second file will help
you to keep the code cleaner.
If you followed all those steps, these files should be in your root directory, using ”/” for
each directory:

./document.tex
./mystyle.sty
./tex/
./img/

nothing else.

55.2. Getting LaTeX to process multiple files


As your work grows, your LaTeX file can become unwieldy and confusing, especially if
you are writing a long article with substantial, discrete sections, or a full-length book.
In such cases it is good practice to split your work into several files. For example, if you
are writing a book, it makes a lot of sense to write each chapter in a separate .tex file.
LaTeX makes this very easy thanks to two commands:
\input{filename}
and
\include{filename}

605
Modular Documents

55.2.1. Comparing the methods: input vs include


The differences between these two ways to include files is explained below. What they
have in common is that they process the contents of filename.tex before continuing
with the rest of the base file (the file that contains these statements). When the compiler
processes your base file and reaches one of the commands \input or \include, it reads
filename.tex and processes its content in accordance with the formatting commands
specified in the base file. This way you can put all the formatting options in your base
file and write the contents using \input or \include in the files which contain the actual
content of your work. This means that the important part of your working process, i.e.
writing, is kept largely separate from formatting choices. This is one of the main reasons
why LaTeX is so good for serious writing! You will thus be dealing solely with text and
very basic commands such as \section, \emph etc. Your document will be uncluttered
and much easier to work with.
The second method of including a file, \include{filename}, differs from the first in some
important ways. You cannot nest \include statements within a file added via \include,
whereas \input, on the other hand, allows you to call files which themselves call other
files, ad infinitum (well, nearly!). You can, however, \include a file which contains one
or more \input commands. Please resist the temptation to nest files in this way simply
because the system can do it: you will end up with just another kind of complexity!
Another important difference is that using \include will force a page break (which makes
it ideal for a book’s chapters), whereas the \input command does not (which in turn
makes it ideal for use within, say, a long article with discrete sections, which of course
are not normally set on a new page).
In either case the .tex filename extension is optional.
Working on discrete parts of your documents has consequences for how the base file is
compiled; these will be dealt with below.

55.2.2. Using different paths


When the LaTeX compiler finds a reference to an external file in the base file, it will
look for it in the same directory. However, you can in principle refer to any file on your
system, using both absolute and relative paths.
An absolute path is a full path- and filename with every element specified. So,
filename.tex might have the full path,
\input{/home/user/texfiles/filename.tex}
If you had created the directory myfiles for your writing project, in your
texfiles directory, its full path would be,
\input{/home/user/texfiles/myfiles/filename.tex}
Obviously, using absolute paths is inefficient if you are referring to a file in the current
directory. If, however, you need to include a file which is always kept at a specific place
in your system, you may refer to it with an absolute path, for example,
\input{/home/user/documents/useful/foo.tex}
In practice, an absolute file path is generally used when one has to refer to a file which
is quite some way away in the file system (or perhaps even on a different server!). One
word of warning: do not leave empty spaces in the filenames, they can cause ambiguous
behaviour. Either leave no spaces or use underscores _ instead.

606
Getting LaTeX to process multiple files

You may, however, need to make your source portable (to another computer or to a
different location of your harddisk), in which case relative paths should be used if you
wish to avoid unnecessary rewriting of path names. Or, a relative path may simply be
a more efficient and elegant way of referring to a file. A relative path is one which is
defined in relation to the current directory, in our case the one which contains the base
file. LaTeX uses the standard UNIX notation: with a simple dot . you refer to the current
directory, and by two dots .. you refer to the previous directory, that is the one above
the current directory in the file system tree. The slash / is used to separate the different
components of a pathname: directories and filenames. So by ./ you refer to the current
directory, by ../ you refer to the previous directory, by ../../ you refer to a directory
which is two steps upwards in the filesystem tree. Writing
\input{./filename.tex}
will have exactly the same effect as writing
\input{filename.tex}
but if you found it more convenient to put all your files in a sub-directory of your current
directory, called myfiles, you would refer to that file by specifying
\input{./myfiles/filename.tex}
Indeed, in our example of the absolute path above, you could refer to that file relatively,
too:
\input{../../documents/useful/foo.tex}
Of course, all commonly used file systems – Linux, Mac OS X and Windows – also feature
the UNIX ./, ../ facility outlined above. Do note, however, that LaTeX uses forward
slashes / even on Microsoft Windows platforms, which use backslashes \ in pathnames.
LaTeX implementations for Windows systems perform this conversion for you, which
ensures that your document will be valid across all installations.
This flexibility, inherent in the way in which LaTeX is integrated with modern file systems,
lets you input files in a way which suits your particular set-up.
When using relative paths within a LaTeX file imported by \input or \include, it is
important to note that the paths are relative to the directory in which the main .tex file
resides, not to the directory in which the included (or input) file is found. This is likely
to be an issue if using a folder per chapter, with the figures in each chapter’s folder, and
using \include to read the chapter source into a main LaTeX file in a parent folder.

55.2.3. Compiling the base file


When you compile your document, page references and the like will change according to
your use of the \input and \include commands. Normally LaTeX users only run the
compiler on parts of the document to check that an individual chapter is syntactically
correct and looks as the writer intended. A full run is generally only performed for
producing a full draft or the final version. In such cases, it is invariably necessary to run
LaTeX twice or more to resolve all the page numbers, references, etc. (especially if you
are using bibliographic software such as BiBTeX, too).
The simplest way to check that one or more of the various components of your work is
syntactically robust, is to comment out the command with a percentage sign, for example:
\documentclass{article}
\begin{document}
%\input{Section_1}

607
Modular Documents

%\input{Section_2}
%\input{Section_3}
\input{Section_4}
%\input{Section_5}
\end{document}
This code will process your base file with the article conventions but only the material
in the file Section_4.tex will be processed. If that was, say, the last thing you needed
to check before sending off to that major journal, you would then simply remove all the
percentage signs and rerun LaTeX, repeating the compiling process as necessary to resolve
all references, page numbers and so on.

55.2.4. Using \includeonly


Using this command provides more complex, and hence more useful possibilities. If you
include the following command in your preamble, i.e. before \begin{document},
\includeonly{filename1,filename2,...}
only the files specified between the curly braces will be included. Note that you can
have one or more files as the argument to this command: separate them with a comma,
no spaces. If you are using absolute or relative paths to the files, type in the complete
reference.
This requires that there are \include commands in the document which specify these
files. The filename should be written without the .tex file extension:
\documentclass{book}
\includeonly{Chapter_1,Chapter_4} % compile just chapters 1 and 4, space
characters not permitted
\begin{document}
\include{Chapter_1} % omit the '.tex' extension
\include{Chapter_2}
\include{Chapter_3}
\include{Chapter_4}
\end{document}
This code would process the base file but only include the content of the author’s first
and fourth chapters (Chapter_1.tex and Chapter_4.tex). Importantly, this alternative
retains as much of the .aux information as possible from the previous run, so messes up
your cross-references much less than the makeshift suggestion above.

55.2.5. Separate compilation of child documents


A disadvantage of solely using \input and \include is that only the base document can
be compiled. However, you may decide that you work better on individual sections of
text and wish to edit and compile those separate from the main file. There are a few
packages available to address this problem.

Subfiles
The subfiles package1 provides a way to compile sections of a document using the same
preamble as the main document.
In the main document, the package must be loaded as:
\usepackage{subfiles}

1 http://www.ctan.org/pkg/subfiles

608
Getting LaTeX to process multiple files

Instead of using \input and \include, child documents must be loaded as follows:
\subfile{filename}
The child documents must start with the following statements:
\documentclass[main.tex]{subfiles}
\begin{document}
and end with:
\end{document}
It is possible to add parts that will only be applied if the child document is compiled by
its own, by defining an ”identity” command \newcommand{\onlyinsubfile}[1]{#1} in
the main document and then overwriting it after \begin{document} using
\renewcommand{\onlyinsubfile}[1]{}. Similarly, the same can be done for parts to
appear only if compiled by the main document.
In summary, the base document (main.tex) looks like:
\documentclass{book}
\usepackage{subfiles}
\newcommand{\onlyinsubfile}[1]{#1}
\newcommand{\notinsubfile}[1]{}

\begin{document}
\renewcommand{\onlyinsubfile}[1]{}
\renewcommand{\notinsubfile}[1]{#1}
%% my document content
\subfile{chapter1}
%% more of my document content
\end{document}
and Chapter 1 (chapter1.tex) looks like:
\documentclass[main.tex]{subfiles}
\begin{document}
%% my chapter 1 content
\onlyinsubfile{this only appears if chapter1.tex is compiled (not when main.tex
is compiled)}
\notinsubfile{this only appears if main.tex is compiled (not when chapter1.tex
is compiled)}
%% more of my chapter 1 content
%%
\end{document}
Some linux distributions don’t have subfiles package in their latex distributions, since it
was not included until TeXLive 2012. You can download subfiles.tds.zip2 from CTAN.
This package will contain two files subfiles.cls and subfiles.sty. Move these files to
a directory under the name subfiles in the path /usr/share/texmf/tex/latex. This
still won’t make the package available; the texhash program must be executed first. Now
you are good to go!

Standalone
The standalone package3 is designed for moving more of the opposite direction than
subfiles. It provides a means for importing the preamble of child documents into the main
document, allowing for a flexible way to include text or images in multiple documents
(e.g. an article and a presentation4 ).

2 http://mirrors.ctan.org/install/macros/latex/contrib/subfiles.tds.zip
3 http://www.ctan.org/pkg/standalone
4 Chapter 41 on page 485

609
Modular Documents

In the main document, the package must be loaded as:


\usepackage{standalone}
Child documents are loaded using \input or \include.
The child documents contain, for example, the following statements:
\documentclass{standalone}
% Load any packages needed for this document
\begin{document}
% Your document or picture
\end{document}
In summary, the base document (main.tex) looks like:
\documentclass{book}
\usepackage{standalone}
\begin{document}
%% my document content
\input{chapter1}
%% more of my document content
\end{document}
and Chapter 1 (chapter1.tex) looks like:
\documentclass{standalone}
% Preamble
\begin{document}
%% my chapter 1 content
%%
%% more of my chapter 1 content
\end{document}

Import
The import package5 allows for relative directories. While subfiles fails to have a way of
a subfile itself having references relative to its own directory, the \subimport command
provides this functionality.

55.2.6. Inserting PDF files


If you need to insert an existing, possibly multi-page, PDF file into your LaTeX document,
whether or not the included PDF was compiled with LaTeX or another tool, consider using
the pdfpages package6 . In the preamble, include the package:
\usepackage[final]{pdfpages}
This package also allows you to specify which pages you wish to include: for example, to
insert pages 3 to 6 from some file insertme.pdf, use:
\includepdf[pages=3-6]{insertme.pdf}
To insert the whole of insertme.pdf:
\includepdf[pages=-]{insertme.pdf}
For full functionality, compile the output with pdflatex.
Additional information can be found in the chapter Export To Other Formats7 .

5 http://ctan.org/pkg/import
6 http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages/
7 Chapter 57.3.3 on page 629

610
The file mystyle.sty

55.3. The file mystyle.sty


Instead of putting all the packages you need at the beginning of your document as you
could, the best way is to load all the packages you need inside another dummy package
called mystyle you will create just for your document. The good point of doing this is that
you will just have to add one single \usepackage in your main.tex document, keeping
your code much cleaner. Moreover, all the info about your style will be within one file,
so when you will start another document you’ll just have to copy that file and include it
properly, so you’ll have exactly the same style you have used.
Creating your own style is very simple: create a file called mystyle.sty (you could
name it as you wish, but it has to end with ”.sty”). Write at the beginning of the
mystyle.sty file:
\ProvidesPackage{mystyle}
Then add all the packages you want with the standard command \usepackage{...} as
you would do normally, change the value of all the variables you want, etc. It will work
like the code you put here would be copied and pasted within your document.
While writing, whenever you have to take a decision about formatting, define your own
command for it and add it to your mystyle.sty:let LaTeX work for you. If you do so, it
will be very easy to change it if you change your mind.
This is actually the beginning of the process of writing a package. See LaTeX/Macros8
for more details.
For a list of several packages you can use, see the List of Packages9 section.

55.4. The main document document.tex


Then create a file called document.tex; this will be the main file, the one you will compile,
even if you shouldn’t need to edit it very often because you will be working on other files.
It should look like this (it’s the sample code for a report, but you might easily change it
to article or whatever else):
\documentclass[12pt,a4paper]{report}
\usepackage{graphicx}
\usepackage{ifpdf}
\ifpdf
% put here packages only for the PDF:
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps}
\usepackage{hyperref}
\else
% put here packages only for the DVI:
\fi

% put all the other packages here:

\usepackage{mystyle}

\begin{document}

\input{./tex/title.tex}
%\maketitle
\tableofcontents
\listoffigures

8 Chapter 51 on page 569


9 https://en.wikibooks.org/wiki/LaTeX%2FPackages%23Packages_list

611
Modular Documents

\listoftables

\input{./tex/intro.tex}
\input{./tex/main_part.tex}
\input{./tex/conclusions.tex}

\appendix
\input{./tex/myappendix.tex}

% Bibliography:
\clearpage
\addcontentsline{toc}{chapter}{Bibliography}
\input{./tex/mybibliography.tex}

\end{document}
Here a lot of code expressed in previous sections has been used. At the beginning there is
the header discussed in the Tips & Tricks10 section, so you will be able to compile in both
DVI and PDF. Then you import the only package you need, that is your mystyle.sty (note
that in the code it has to be imported without the extension), then your document starts.
Then it inserts the title: we don’t like the output of \maketitle so we created our own,
the code for it will be in a file called title.tex in the folder called tex we created before.
How to write it is explained in the Title Creation11 section. Then tables of contents, figure
and tables are inserted. If you don’t want them, just comment out those lines. Then the
main part of the document is inserted. As you can see, there is no text in document.tex:
everything is in other files in the tex directory so that you can easily edit them. We
are separating our text from the structural code, so we are improving the ”What You
See is What You Mean” nature of LaTeX. Then we can see the appendix and finally the
Bibliography. It is in a separate file and it is manually added to the table of contents
using a tip suggested in the Tips & Tricks12 .
Once you have created your document.tex you won’t need to edit it anymore, unless
you want to add other files in the tex directory, but this is not going to happen very
often. Now you can write your document, separating it into as many files as you want
and adding many pictures without getting confused: thanks to the rigid structure you
gave to the project, you will be able to keep track of all your edits clearly.
A suggestion: do not give your files names like ”chapter_01.tex” or ”figure_03.png”, i.e.
try to avoid using numbers in file-names: if the numbering LaTeX gives them automati-
cally, is different from the one you gave (and this will likely happen) you will get really
confused. When naming a file, stop for a second, think about a short name that can fully
explain what is inside the file without being ambiguous, it will let you save a lot of time
as soon as the document gets larger.

55.5. External Links


• Subfiles package documentation13
• Standalone package documentation14

10 Chapter 59 on page 643


11 Chapter 15 on page 187
12 Chapter 59 on page 643
13 http://mirrors.ctan.org/macros/latex/contrib/subfiles/subfiles.pdf
14 http://mirrors.ctan.org/macros/latex/contrib/standalone/standalone.pdf

612
External Links

• pdfpages package documentation15

15 http://mirrors.ctan.org/macros/latex/contrib/pdfpages/pdfpages.pdf

613
56. Collaborative Writing of LaTeX
Documents
Note: This Wikibook is based on the article Tools for Collaborative Writing of Scientific
LaTeX Documents1 by Arne Henningsen2 that is published in The PracTeX Journal 2007,
number 3 (http://www.tug.org/pracjourn/).

56.1. Abstract
Collaborative writing of documents requires a strong synchronisation among authors.
This Wikibook describes a possible way to organise the collaborative preparation of
LaTeX documents. The presented solution is primarily based on the version control
system Subversion (http://subversion.apache.org/). The Wikibook describes how
Subversion can be used together with several other software tools and LaTeX packages
to organise the collaborative preparation of LaTeX documents.

56.1.1. Other Methods


• You can use one of the online solutions listed in the Installation3 chapter. Most of
them have collaboration features.
• Another option for collaboration is dropbox4 . It has 2 GB free storage and versioning
system. Works like SVN, but more automated and therefore especially useful for be-
ginning LaTeX users. However, Dropbox is not a true versioning control system, and
as such it does not allow you to roll the article back to previous versions.
• You can use an online collaborative tool built on top of a versioning control system,
such as Authorea5 or ShareLatex6 . Authorea performs most of the actions described
in this document, but in the background (it is built on Git). It allows authors to
enter LaTeX or Markdown via a GUI with mathematical notation, figures, d3.js plots,
IPython notebooks, data, and tables. All content is rendered to HTML5. Authorea
also features a commenting system and article-based chat to ease collaboration and
review.
• As the LaTeX system uses plain text, you can use synchronous collaborative editors
like Gobby7 . In Gobby you can write your documents in collaboration with anyone in
real time. It is strongly recommended that you use utf8 encoding (especially if there

1 http://tug.org/pracjourn/2007-3/henningsen/
2 https://en.wikibooks.org/wiki/User%3AArnehe
3 Chapter 2 on page 11
4 http://www.getdropbox.com
5 https://authorea.com/
6 https://www.sharelatex.com/
7 https://en.wikipedia.org/wiki/Gobby

615
Collaborative Writing of LaTeX Documents

are users on multiple operating systems collaborating) and a stable network (typically
wired networks).
• TitanPad8 (or other clones9 of EtherPad10 ). To compile use the command:
wget -O filename.tex "http://titanpad.com/ep/pad/export/xxxx/latest?format=txt"
&& (latex filename.tex)
where ’xxxx’ should be replaced by the pad number (something like ’z7rSrfrYcH’).
• With a dedicated Linux box with LaTeX & Dropbox it’s possible to use Google docs
and some scripting11 to get automatically generated PDFs on Dropbox from updates
on Google Docs.
• You can use a distributed version control system12 such as Mercurial13 or Git14 . This
is the definitive solution for users looking for control and advanced features like branch
and merge. The learning curve will be steeper than that for a web-based solution.

56.2. Introduction
The collaborative preparation of documents requires a considerable amount of coordi-
nation among the authors. This coordination can be organised in many different ways,
where the best way depends on the specific circumstances.
In this Wikibook, I describe how the collaborative writing of LaTeX documents is or-
ganised at our department (Division of Agricultural Policy, Department of Agricultural
Economics, University of Kiel, Germany). I present our software tools, and describe how
we use them. Thus, this Wikibook provides some ideas and hints that will be useful for
other LaTeX users who prepare documents together with their co-authors.

56.3. Interchanging Documents


There are many ways to interchange documents among authors. One possibility is to
compose documents by interchanging e-mail messages. This method has the advantage
that common users generally do not have to install and learn the usage of any extra
software, because virtually all authors have an e-mail account. Furthermore, the author
who has modified the document can easily attach the document and explain the changes
by e-mail as well. Unfortunately, there is a problem when two or more authors are working
at the same time on the same document. So, how can authors synchronise these files?
A second possibility is to provide the document on a common file server, which is available
in most departments. The risk of overwriting each others’ modifications can be eliminated
by locking files that are currently edited. However, generally the file server can be only
accessed from within a department. Hence, authors who are out of the building cannot
use this method to update/commit their changes. In this case, they will have to use
another way to overcome this problem. So, how can authors access these files?

8 http://titanpad.com
9 http://etherpad.org/etherpadsites.html
10 https://en.wikipedia.org/wiki/EtherPad
11 https://gist.github.com/1995648
12 https://en.wikipedia.org/wiki/Distributed_revision_control
13 https://en.wikipedia.org/wiki/Mercurial
14 https://en.wikibooks.org/wiki/Git

616
The Version Control System Subversion

A third possibility is to use a version control system. A comprehensive list of version


control systems can be found at Wikipedia15 . Version control systems keep track of all
changes in files in a project. If many authors modify a document at the same time, the
version control system tries to merge all modifications automatically. However, if multiple
authors have modified the same line, the modifications cannot be merged automatically,
and the user has to resolve the conflict by deciding manually which of the changes should
be kept. Authors can also comment their modifications so that the co-authors can easily
understand the workflow of this file. As version control systems generally communicate
over the internet (e.g. through TCP/IP connections), they can be used from differ-
ent computers with internet connections. A restrictive firewall policy might prevent the
version control system from connecting to the internet. In this case, the network ad-
ministrator has to be asked to open the appropriate port. The internet is only used for
synchronising the files. Hence, a permanent internet connection is not required. The only
drawback of a version control system could be that it has to be installed and configured.
Moreover, a version control system is useful even if a single user is working on a project.
First, the user can track (and possibly revoke) all previous modifications. Second, this is
a convenient way to have a backup of the files on other computers (e.g. on the version
control server). Third, this allows the user to easily switch between different computers
(e.g. office, laptop, home).

56.4. The Version Control System Subversion


Subversion (SVN)16 comes as a successor to the popular version control system CVS. SVN
operates on a client-server model in which a central server hosts a project repository that
users copy and modify locally. A repository functions similarly to a library in that it
permits users to check out the current project, make changes, and then check it back
in. The server records all changes a user checks in (usually with a message summarizing
what changes the user made) so that other users can easily apply those changes to their
own local files.
Each user has a local working copy of a remote repository. For instance, users can
update changes from the repository to their working copy, commit changes from their
own working copy to the repository, or (re)view the differences between working copy
and repository.
To set up a SVN version control system, the SVN server software has to be installed on
a (single) computer with permanent internet access. (If this computer has no static IP
address, one can use a service like DynDNS17 to be able to access the server with a static
hostname.) It can run on many Unix, modern MS Windows, and Mac OS X platforms.
Users do not have to install the SVN server software, but a SVN ”client” software. This is
the unique way to access the repositories on the server. Besides the basic SVN command-
line client, there are several Graphical User Interface Tools (GUIs) and plug-ins for
accessing the SVN server (see http://subversion.tigris.org/links.html). Addi-
tionally, there are very good manuals about SVN freely available on the internet (e.g.
http://svnbook.red-bean.com).

15 http://en.wikipedia.org/wiki/List_of_revision_control_software
16 http://subversion.apache.org/
17 http://www.dyndns.com/

617
Collaborative Writing of LaTeX Documents

At our department, we run the SVN server on a GNU-Linux system, because most Linux
distributions include it. In this sense, installing, configuring, and maintaining SVN is a
very simple task.
Most MS Windows users access the SVN server by the TortoiseSVN18 client, because it
provides the most usual interface for common users. Linux users usually use SVN utilities
from the command-line, or eSvn19 --a GUI frontend--with KDiff320 for showing complex
differences.

56.5. Hosting LaTeX files in Subversion

Figure 213 Figure 1: Common texmf tree shown in eSvns Repository Browser

On our Subversion server, we have one repository for a common texmf tree. Its structure
complies with the TeX Directory Structure guidelines (TDS, http://www.tug.org/
tds/tds.html, see figure 1). This repository provides LaTeX classes, LaTeX styles,
and BibTeX styles that are not available in the LaTeX distributions of the users, e.g.
because they were bought or developed for the internal use at our department. All users
have a working copy of this repository and have configured LaTeX to use this as their
personal texmf tree. For instance, teTeX (http://www.tug.org/tetex/) users can edit
their TeX configuration file (e.g. /etc/texmf/web2c/texmf.cnf) and set the variable
TEXMFHOMEto the path of the working copy of the common texmf tree (e.g. by TEXMFHOME
= $HOME/texmf); MiKTeX (http://www.miktex.org/) users can add the path of the
working copy of the common texmf tree in the ’Roots’ tab of the MiKTeX Options.
If a new class or style file has been added (but not if these files have been modified), the
users have to update their ’file name data base’ (FNDB) before they can use these classes

18 http://tortoisesvn.tigris.org/
19 http://zoneit.free.fr/esvn/
20 http://kdiff3.sourceforge.net/

618
Subversion really makes the difference

and styles. For instance, teTeX users have to execute texhash; MiKTeX users have to
click on the button ’Refresh FNDB’ in the ’General’ tab of the MiKTeX Options.
Furthermore, the repository contains manuals explaining the specific LaTeX software
solution at our department (e.g. this document).
The Subversion server hosts a separate repository for each project of our department.
Although branching, merging, and tagging is less important for writing text documents
than for writing source code for software, our repository layouts follow the recommen-
dations of the ’Subversion book’ (http://svnbook.red-bean.com). In this sense, each
repository has the three directories /trunk, /branches, and /tags.
The most important directory is /trunk. If a single text document belongs to the project,
all files and subdirectories of this text document are in /trunk. If the project yields two
or more different text documents, /trunk contains a subdirectory for each text document.
A slightly different version (a branch) of a text document (e.g. for presentation at a
conference) can be prepared either in an additional subdirectory of /trunkor in a new
subdirectory of /branches. When a text document is submitted to a journal or a confer-
ence, we create a tag in the directory /tagsso that it is easy to identify the submitted
version of the document at a later date. This feature has been proven very useful. When
creating branches and tags, it is important always to use the Subversion client (and not
the tools of the local file system) for these actions, because this saves disk space on the
server and it preserves information about the same history of these documents.
Often the question arises, which files should be put under version control. Generally, all
files that are directly modified by the user and that are necessary for compiling the doc-
ument should be included in the version control system. Typically, these are the LaTeX
source code (*.tex) files (the main document and possibly some subdocuments) and all
pictures that are inserted in the document (*.eps, *.jpg, *.png, and *.pdf files). All
LaTeX classes (*.cls), LaTeX styles (*.sty), BibTeX data bases (*.bib), and BibTeX
styles (*.bst) generally should be hosted in the repository of the common texmf tree, but
they could be included in the respective repository, if some (external) co-authors do not
have access to the common texmf tree. On the other hand, all files that are automatically
created or modified during the compilation process (e.g. *.aut, *.aux, *.bbl, *.bix,
*.blg, *.dvi, *.glo, *.gls, *.idx, *.ilg, *.ind, *.ist, *.lof, *.log, *.lot, *.nav,
*.nlo, *.out, *.pdf, *.ps, *.snm, and *.toc files) or by the (LaTeX or BibTeX) editor
(e.g. *.bak, *.bib˜, *.kilepr, *.prj, *.sav, *.tcp, *.tmp, *.tps, and *.tex˜ files)
generally should be not under version control, because these files are not necessary for
compilation and generally do not include additional information. Furthermore, these files
are regularly modified so that conflicts are very likely.

56.6. Subversion really makes the difference


A great feature of a version control system is that all authors can easily trace the workflow
of a project by viewing the differences between arbitrary versions of the files. Authors
are primarily interested in ’effective’ modifications of the source code that change the
compiled document, but not in ’ineffective’ modifications that have no impact on the
compiled document (e.g. the position of line breaks). Software tools for comparing text
documents (’diff tools’) generally cannot differentiate between ’effective’ and ’ineffective’
modifications; they highlight both types of modifications. This considerably increases the

619
Collaborative Writing of LaTeX Documents

effort to find and review the ’effective’ modifications. Therefore, ’ineffective’ modifications
should be avoided.
In this sense, it is very important not to change the positions of line breaks without
cause. Hence, automatic line wrapping of the users’ LaTeX editors should be turned off
and line breaks should be added manually. Otherwise, if a single word in the beginning
of a paragraph is added or removed, all line breaks of this paragraph might change so
that most diff tools indicate the entire paragraph as modified, because they compare
the files line by line. The diff tools wdiff (http://www.gnu.org/software/wdiff/) and
dwdiff (http://os.ghalkes.nl/dwdiff.html) are not affected by the positions of line
breaks, because they compare documents word by word. However, their output is less
clear so that modifications are more difficult to track. Moreover, these tools cannot be
used directly with the Subversioncommand-line switch --diff-cmd, but a small wrapper
script has to be used (http://textsnippets.com/posts/show/1033).
A reasonable convention is to add a line break after each sentence and start each new
sentence in a new line. Note that this has an advantage also beyond version control: if
you want to find a sentence in your LaTeX code that you have seen in a compiled (DVI,
PS, or PDF) file or on a printout, you can easily identify the first few words of this
sentence and screen for these words on the left border of your editor window.
Furthermore, we split long sentences into several lines so that each line has at most
80 characters, because it is rather inconvenient to search for (small) differences in long
lines. (Note: For instance, the LaTeX editor Kile(http://kile.sourceforge.net/) can
assist the user in this task when it is configured to add a vertical line that marks the
80th column.) We find it very useful to introduce the additional line breaks at logical
breaks of the sentence, e.g. before a relative clause or a new part of the sentence starts.
An example LaTeX code that is formatted according to these guidelines is the source
code of the article Tools for Collaborative Writing of Scientific LaTeX Documentsby Arne
Henningsen21 that is published (including the source code) in The PracTeX Journal 2007,
Number 3 (http://www.tug.org/pracjourn/2007-3/henningsen/).
If the authors work on different operating systems, their LaTeX editors will
probably save the files with different newline (end-of-line) characters (http://en.
wikipedia.org/wiki/Newline). To avoid this type of ’ineffective’ modifications,
all users can agree on a specific newline character and configure their editor to
use this newline character. Another alternative is to add the subversion prop-
erty ’svn:eol-style’ and set it to ’native’. In this case, Subversion automatically
converts all newline characters of this file to the native newline character of the
author’s operating system (http://svnbook.red-bean.com/en/1.4/svn.advanced.
props.file-portability.html#svn.advanced.props.special.eol-style).
There is also another important reason for reducing the number of ’ineffective’ modifi-
cations: if several authors work on the same file, the probability that the same line is
modified by two or more authors at the same time increases with the number of modified
lines. Hence, ’ineffective’ modifications unnecessarily increase the risk of conflicts (see
section Interchanging Documents22 ).

21 https://en.wikibooks.org/wiki/User%3AArnehe
22 Chapter 56.3 on page 616

620
Subversion really makes the difference

Figure 214 Figure 2: Reviewing modifications in KDiff3

Furthermore, version control systems allow a very effective quality assurance measure:
all authors should critically review their own modifications before they commit them to
the repository (see figure 2). The differences between the user’s working copy and the
repository can be easily inspected with a single Subversion command or with one or two
clicks in a graphical Subversion client. Furthermore, authors should verify that their
code can be compiled flawlessly before they commit their modifications to the repository.
Otherwise, the co-authors have to pay for these mistakes when they want to compile the
document. However, this directive is not only reasonable for version control systems but
also for all other ways to interchange documents among authors.
Subversion has a feature called ’Keyword Substitution’ that includes dynamic version
information about a file (e.g. the revision number or the last author) into the con-
tents of the file itself (see e.g. http://svnbook.red-bean.com, chapter 3). Some-
times, it is useful to include these information not only as a comment in the LaTeX
source code, but also in the (compiled) DVI, PS, or PDF document. This can be
achieved with the LaTeX packages svn (http://www.ctan.org/tex-archive/macros/
latex/contrib/svn/), svninfo (http://www.ctan.org/tex-archive/macros/latex/
contrib/svninfo/), or (preferably) svn-multi (http://www.ctan.org/tex-archive/
macros/latex/contrib/svn-multi/).
The most important directives for collaborative writing of LaTeX documents with version
control systems are summarised in the following box.
Directives for using LaTeX with version control systems
1. Avoid ’ineffective’ modifications.
2. Do not change line breaks without good reason.
3. Turn off automatic line wrapping of your LaTeX editor.
4. Start each new sentence in a new line.

621
Collaborative Writing of LaTeX Documents

5. Split long sentences into several lines so that each line has at most 80 characters.
6. Put only those files under version control that are directly modified by the user.
7. Verify that your code can be compiled flawlessly before committing your modifica-
tions to the repository.
8. Use Subversions diff feature to critically review your modifications before
committing them to the repository.
9. Add a meaningful and descriptive comment when committing your modifications
to the repository.
10. Use the Subversion client for copying, moving, or renaming files and folders that are
under revision control.
If the users are willing to let go of the built-in diff utility of SVN and use diff tools that
are local on their workstations, they can put to use such tools that are more tailored to
text documents. The diff tool that comes with SVN was designed with source code in
mind. As such, it is built to be more useful for files of short lines. Other tools, such as
Compare It! allows to conveniently compare text files where each line can span hundreds
of characters (such as when each line represents a paragraph). When using a diff tool
that allows convenient views of files with long lines, the users can author the TeX files
without a strict line-breaking policy.

56.6.1. Visualizing diffs in LaTeX: latexdiff and changebar


The tools latexdiff23 and changebar24 can visualize differences of two LaTeX files in-
side a generated document. This makes it easier to see impact of certain changes
or discuss changes with people not custom to LaTeX. Changebar comes with a script
chbar.sh which inserts a bar in the margin indicating parts that have changed. Latexd-
iff allows different styles of visualization. The default is that discarded text is marked
as red and added text is marked as blue. It also supports a mode similar to Changebar
which adds a bar in the margin. Latexdiff comes with a script latexrevise which can be
used to accept or decline changes. It also has a wrapper script to support version control
systems such as the discussed Subversion.
An example on how to use Latexdiff in the Terminal.

latexdiff old.tex new.tex > diff.tex # Files old.tex and


new.tex are compared and the file visualizing the changes is written to diff.tex
pdflatex diff.tex # Create a PDF showing
the changes

The program DiffPDF25 can be used to compare two existing PDFs visually. There is
also a command line tool comparepdf26 based on DiffPDF.

56.7. Managing collaborative bibliographies


Writing of scientific articles, reports, and books requires the citation of all relevant
sources. BibTeX is an excellent tool for citing references and creating bibliographies

23 http://www.ctan.org/tex-archive/support/latexdiff/
24 http://www.ctan.org/tex-archive/macros/latex/contrib/changebar/
25 http://www.qtrac.eu/diffpdf.html
26 http://www.qtrac.eu/comparepdf.html

622
Managing collaborative bibliographies

(Markey 2005, Fenn 2006). Many different BibTeX styles can be found on CTAN
(http://www.ctan.org) and on the LaTeX Bibliography Styles Database (http://jo.
irisson.free.fr/bstdatabase/). If no suitable BibTeX style can be found, most de-
sired styles can be conveniently assembled with custombib/makebst (http://www.ctan.
org/tex-archive/macros/latex/contrib/custom-bib/). Furthermore, BibTeX style
files can be created or modified manually; however this action requires knowledge of the
(unnamed) postfix stack language that is used in BibTeX style files (Patashnik 1988).
At our department, we have a common bibliographic data base in the BibTeX format
(.bib file). It resides in our common texmf tree (see section ’Hosting LaTeX files in
Subversion)in the subdirectory /bibtex/bib/(see figure 1). Hence, all users can specify
this bibliography by only using the file name (without the full path) --- no matter where
the user’s working copy of the common texmf tree is located.
All users edit our bibliographic data base with the graphical BibTeX editor JabRef(http:
//jabref.sourceforge.net/). As JabRef is written in Java, it runs on all major oper-
ating systems. As different versions of JabRef generally save files in a slightly different
way (e.g. by introducing line breaks at different positions), all users should use the
same (e.g. last stable) version of JabRef. Otherwise, there would be many differences
between different versions of .bib files that solely originate from using different version
of JabRef. Hence, it would be hard to find the real differences between the compared
documents. Furthermore, the probability of conflicts would be much higher (see section
’Subversion really makes the difference’). As JabRef saves the BibTeX data base with the
native newline character of the author’s operating system, it is recommended to add the
Subversion property ’svn:eol-style’ and set it to ’native’ (see section ’Subversion really
makes the difference’).

Figure 215 Figure 3: Specify default key pattern in JabRef

JabRef is highly flexible and can be configured in many details. We make the following
changes to the default configuration of JabRef to simplify our work. First, we specify

623
Collaborative Writing of LaTeX Documents

the default pattern for BibTeX keys so that JabRef can automatically generate keys in
our desired format. This can be done by selecting Options→ Preferences→ Key pat-
ternand modifying the desired pattern in the field Default pattern. For instance, we
use [auth:lower][shortyear]to get the last name of the first author in lower case and
the last two digits of the year of the publication (see figure 3).

Figure 216 Figure 4: Set up general fields in JabRef

Second, we add the BibTeX field location for information about the location, where the
publication is available as hard copy (e.g. a book or a copy of an article). This field can
contain the name of the user who has the hard copy and where he has it or the name of a
library and the shelf-mark. This field can be added in JabRef by selecting Options→ Set
up general fieldsand adding the word location(using the semicolon (;) as delimiter)
somewhere in the line that starts with General:(see figure 4).

Figure 217 Figure 5: Specify ’Main PDF directory’ in JabRef

Third, we put all PDF files of publications in a specific subdirectory in our file server,
where we use the BibTeX key as file name. We inform JabRef about this subdirectory by
selecting Options→ Preferences→ External programsand adding the path of the this
subdirectory in the field Main PDF directory(see figure 5). If a PDF file of a publication

624
Conclusion

is available, the user can push the Auto button left of JabRefs Pdf fieldto automatically
add the file name of the PDF file. Now, all users who have access to the file server can
open the PDF file of a publication by simply clicking on JabRefs PDF icon.
If we send the LaTeX source code of a project to a journal, publisher, or somebody else
who has no access to our common texmf tree, we do not include our entire bibliographic
data base, but extract the relevant entries with the Perl script aux2bib (http://www.
ctan.org/tex-archive/biblio/bibtex/utils/bibtools/aux2bib).

56.8. Conclusion
This wikibook describes a possible way to efficiently organise the collaborative preparation
of LaTeX documents. The presented solution is based on the Subversion version control
system and several other software tools and LaTeX packages. However, there are still a
few issues that can be improved.
First, we plan that all users install the same LaTeX distribution. As the TeX
Live distribution (http://www.tug.org/texlive/) is available both for Unix and MS
Windows operating systems, we might recommend our users to switch to this LaTeX
distribution in the future. (Currently, our users have different LaTeX distributions that
provide a different selection of LaTeX packages and different versions of some packages.
We solve this problem by providing some packages on our common texmf tree.)
Second, we consider to simplify the solution for a common bibliographic data base. Cur-
rently it is based on the version control system Subversion, the graphical BibTeX ed-
itor JabRef, and a file server for the PDF files of publications in the data base. The
usage of three different tools for one task is rather challenging for infrequent users
and users that are not familiar with these tools. Furthermore, the file server can
be only accessed by local users. Therefore, we consider to implement an integrated
server solution like WIKINDX (http://wikindx.sourceforge.net/), Aigaion (http:
//www.aigaion.nl/), or refBASE (http://refbase.sourceforge.net/). Using this
solution only requires a computer with internet access and a web browser, which makes
the usage of our data base considerably easier for infrequent users. Moreover, the stored
PDF files are available not only from within the department, but throughout the world.
(Depending on the copy rights of the stored PDF files, the access to the server --- or least
the access to the PDF files --- has to be restricted to members of the department.) Even
Non-LaTeX users of our department might benefit from a server-based solution, because
it should be easier to use this bibliographic data base in (other) word processing software
packages, because these servers provide the data not only in BibTeX format, but also in
other formats.
All readers are encouraged to contribute to this wikibook by adding further hints or
ideas or by providing further solutions to the problem of collaborative writing of LaTeX
documents.

56.9. Acknowledgements
Arne Henningsen thanks Francisco Reinaldo and Géraldine Henningsen for comments
and suggestions that helped him to improve and clarify this paper, Karsten Heymann
for many hints and advices regarding LaTeX, BibTeX, and Subversion, and Christian

625
Collaborative Writing of LaTeX Documents

Henning as well as his colleagues for supporting his intention to establish LaTeX and
Subversion at their department.

56.10. References
• Fenn, Jürgen (2006): Managing citations and your bibliography with BibTeX. The
PracTEX Journal, 4. http://www.tug.org/pracjourn/2006-4/fenn/.
• Markey, Nicolas (2005): Tame the BeaST. The B to X of BibTeX. http://www.ctan.
org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf. Version 1.3.
• Oren Patashnik. Designing BibTeX styles. http://www.ctan.org/tex-archive/
info/biblio/bibtex/contrib/doc/btxhak.pdf.
• Tools for collaborative paper-writing27

27 http://mathoverflow.net/questions/3044/tools-for-collaborative-paper-writing

626
57. Export To Other Formats
Strictly speaking, LaTeX source can be used to directly generate two formats:
• DVI using latex, the first one to be supported;
• PDF using pdflatex, more recent.
Using other software freely available on Internet, you can easily convert DVI and PDF
to other document formats. In particular, you can obtain the PostScript version using
software which is included in your LaTeX distribution. Some LaTeX IDE will give you
the possibility to generate the PostScript version directly (even if it uses internally a DVI
mid-step, e.g. LaTeX → DVI → PS). It is also possible to create PDF from DVI and
vice versa. It doesn’t seem logical to create a file with two steps when you can create
it straight away, but some users might need it because, as you remember from the first
chapters, the format you can generate depends upon the formats of the images you want
to include (EPS for DVI, PNG and JPG for PDF). Here you will find sections about
different formats with description about how to get it.
Other formats can be produced, such as RTF (which can be used in Microsoft Word) and
HTML. However, these documents are produced from software that parses and interprets
the LaTeX files, and do not implement all the features available for the primary DVI and
PDF outputs. Nonetheless, they do work, and can be crucial tools for collaboration with
colleagues who do not edit documents with LaTeX.

57.1. Tools installation


This chapter features a lot of third-party tools; most of them are installed independently
of your TeX distribution.
Some tools are Unix-specific (*BSD, GNU/Linux and Mac OS X), but it may be possible
to make them work on Windows. If you have the choice, it is often easier with Unix
systems for command line tools.
Some tools may already be installed. For instance, you can check if dvipng is installed
and ready to use (Unix only):

type dvipng

Most of these tools are installable using your package manager or portage tree (Unix
only).

57.2. Preview mode


This section describes how to generate a screenshot of a LaTeX page or of a specific part
of the page using the LaTeX package preview. Screenshots are useful, for example, if you
want to include a LaTeX generated formula on a presentation using you favorite slideware

627
Export To Other Formats

like Powerpoint, Keynote or LibreOffice Impress. First, start by making sure you have
preview. See Installing Extra Packages1 .
Say you want to take a screenshot of

√ ∑ ∞
(−3)−k
π= 12 .
k=0
2k + 1
Write this formula in the preview environment:
\documentclass{article}
\usepackage[active]{preview}
\begin{document}
\begin{preview}
\[
\pi = \sqrt{12}\sum^\infty_{k=0} \frac{ (-3)^{-k} }{ 2k+1 }
\]
\end{preview}
\end{document}
Note the active option in the package declaration and the preview environment around
the equation’s code. Without any of these two, you won’t get any output.
This package is also very useful to export specific parts to other format, or to produce
graphics (e.g. using PGF/TikZ2 ) and then including them in other documents. You can
also automate the previewing of specific environments:
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{lstlisting}
\setlength{\PreviewBorder}{10pt}%

% ...

\begin{lstlisting}
int main()
{
/* ... */
}
\end{lstlisting}
This will produce a PDF containing only the listing content, the page layout will depend
on the shape of the source code.

57.3. Convert to PDF


57.3.1. Directly

pdflatex my_file

57.3.2. DVI to PDF

dvipdfm my_file.dvi

will create my_file.pdf. Another way is to pass through PS generation:


dvi2ps myfile.dvi
ps2pdf myfile.ps

1 Chapter 3 on page 29
2 Chapter 47 on page 527

628
Convert to PDF

you will get also a file called my_file.ps that you can delete.

57.3.3. Merging PDF


If you have created different PDF documents and you want to merge them into one
single PDF file you can use the following command-line command. You need to have
Ghostscript installed:

Using Windows

gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Merged.pdf -dBATCH 1.pdf 2.pdf


3.pdf

Using Linux

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Merged.pdf -dBATCH 1.pdf 2.pdf


3.pdf

Alternatively, PDF-Shuffler3 is a small python-gtk application, which helps the user to


merge or split pdf documents and rotate, crop and rearrange their pages using an inter-
active and intuitive graphical interface. This program may be avaliable in your Linux
distribution’s repository.
Another option to check out is pdftk4 (or PDF toolkit), which is a command-line tool
that can manipulate PDFs in many ways. To merge one or more files, use:

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

Using pdfLaTeX
Note: If you are merging external PDF documents into a LaTeX document which is
compiled with pdflatex, a much simpler option is to use the pdfpages package, e.g.:
\usepackage{pdfpages}
...
\includepdf[pages=-]{Document1.pdf}
\includepdf[pages=-]{Document2.pdf}
...
Three simple shell5 scripts using
the pdfpages package are provided in the pdfjam bundle6
by D. Firth. They include options to merge several pdf files (pdfjoin), put several pages
in one physical sheet (pdfnup) and rotate pages (pdf90).
See also Modular Documents7

3 http://pdfshuffler.sourceforge.net/
4 http://www.accesspdf.com/
5 https://en.wikipedia.org/wiki/Shell%20%28computing%29
6 http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic/firth/software/pdfjam
7 Chapter 55.2.6 on page 610

629
Export To Other Formats

57.3.4. XeTeX
You can also use XeTeX (or, more precisely, XeLaTeX), which works in the same way as
pdflatex: it creates a PDF file directly from LaTeX source. One advantage of XeTeX
over standard LaTeX is support for Unicode and modern typography. See its Wikipedia
entry8 for more details.
Customization of PDF output in XeTeX (setting document title, author, keywords etc.)
is done using the configuration of hyperref9 package.

57.4. Convert to PostScript


from PDF
pdf2ps my_file.pdf

from DVI
dvi2ps my_file.dvi

57.5. Convert to RTF


LaTeX can be converted into an RTF file, which in turn can be opened by a word
processor such as LibreOffice Writer10 or Microsoft Word11 . This conversion is done
through latex2rtf12 , which may run on any computer platform, however is only actively
supported on Windows, Linux and BSD, with the last mac update being from 2001.
The program operates by reading the LaTeX source, and mimicking the behaviour of the
LaTeX program. latex2rtf supports most of the standard implementations of LaTeX,
such as standard formatting, some math typesetting, inclusion of EPS, PNG or JPG
graphics, and tables. As well, it has some limited support for packages, such as varioref,
and natbib. However, many other packages are not supported.
latex2rtf is simple to use. The Windows version has a GUI (l2rshell.exe), which is
straightforward to use. The command-line version is offered for all platforms, and can
be used on an example mypaper.tex file:

latex mypaper
bibtex mypaper # if you use bibtex
latex2rtf mypaper

Both latex and (if needed) bibtex commands need to be run before latex2rtf, because
the .aux and .bbl files are needed to produce the proper output. The result of this
conversion will create myfile.rtf, which you may open in many word processors such
as Microsoft Word or LibreOffice.

8 https://en.wikipedia.org/wiki/XeTeX
9 Chapter 20.3 on page 260
10 https://en.wikipedia.org/wiki/LibreOffice%20Writer
11 https://en.wikipedia.org/wiki/Microsoft%20Word
12 http://latex2rtf.sourceforge.net/

630
Convert to HTML

57.6. Convert to HTML


There are many converters to HTML.
HEVEA13

hevea mylatexfile

latex2html

latex2html -html_version 4.0,latin1,unicode -split 1 -nonavigation -noinfo


-title "MyDocument" MyDocument.tex

LaTeXML14

latexmlc paper.tex --destination=paper.html

pdf2htmlEX15

pdf2htmlEX [options] <input.pdf> [<output.html>]

pdf2htmlEX can convert PDF to HTML without losing text or format. It is designed as
a general PDF to HTML converter, not only restricted to the PDF generated by LaTeX
source. LaTeX users can compile the LaTeX source code to PDF, and then convert the
PDF to HTML via pdf2htmlEX. Some introductions of pdf2htmlEX can be found on
its own wiki page16 . More technical details can be found on the paper published on
TUGboat: Online publishing via pdf2htmlEX HTML17 / PDF18 . The Figure 3 of the
paper gives different work-flows of publishing HTML online.
TeX4ht
TeX4ht19 is a very powerful conversion program, but its configuration is not straightfor-
ward. Basically a configuration file has to be prepared, and then the program is called.
bibtex2html
For BibTeX.

bibtex2html mybibtexfile

57.7. Convert to image formats


It is sometimes useful to convert LaTeX output to image formats for use in systems that
do not support DVI nor PDF files, such as Wikipedia.

13 http://hevea.inria.fr
14 https://en.wikipedia.org/wiki/LaTeXML
15 https://github.com/coolwanglu/pdf2htmlEX
16 https://github.com/coolwanglu/pdf2htmlEX/wiki
17 http://coolwanglu.github.io/pdf2htmlEX/doc/tb108wang.html
18 http://coolwanglu.github.io/pdf2htmlEX/doc/tb108wang.pdf
19 http://www.cse.ohio-state.edu/~gurari/TeX4ht/

631
Export To Other Formats

There are two families of graphics:


• Vector graphics can be scaled to any size, thus do not suffer from quality loss. SVG20
is a vector format.
• Raster graphics define every pixel explicitly. PNG21 is a raster format.
So vector graphics are usually preferred. There is still some cases where raster graphics
are used:
• The target system does not handle vector graphics, only raster graphics are supported.
• SVG can not embed fonts. So either the font will be rendered using a local .ttf or
.otf font (which will mostly change the output), or all characters must be turned to
vector graphics. This last method makes the SVG big and slow. If the input LaTeX
file contains a lot of text which formatting must be preserved, SVG is not that great.
So SVG is great for drawings and a small amount of text. JPG is a well known raster
formats, however it is usually not as good as PNG for text.
In some cases it may be sufficient to simply copy a region of a PDF (or PS) file using
the tools available in a PDF viewer (for example using LaTeX to typeset a formula for
pasting into a presentation). This however will not generally have sufficient resolution
for whole pages or large areas.

57.7.1. Multiple formats


pdftocairo
There is pdftocairo featured in the poppler toolset.

pdftocairo -svg latexdoc.pdf output.svg

pdftocairo also supports various raster graphic formats.

57.7.2. Vector graphics


pdf2svg
Direct conversion from PDF to SVG can be done using the command line tool pdf2svg22 .

pdf2svg file.pdf file.svg

ps2svg
Alternatively DVI or PDF can be converted to PS as described before, then the bash
script ps2svg.sh23 can be used (as all the software used by this script is multiplatform,
this is also possible in Windows, a step-by-step guide could be written).
dvisvgm
One can also use dvisvgm24 , an open source utility that converts from DVI to SVG.

20 https://en.wikipedia.org/wiki/Scalable%20Vector%20Graphics
21 https://en.wikipedia.org/wiki/PNG
22 http://www.cityinthesky.co.uk/opensource/pdf2svg/
23 http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Electronics/Ps2svg.sh
24 http://dvisvgm.sourceforge.net/

632
Convert to image formats

dvisvgm -n file.dvi

Inkscape
Inkscape is able to convert to SVG, PDF, EPS, and other vector graphic formats.

inkscape --export-area-drawing --export-ps=OUTPUT INPUT


inkscape --export-area-page --export-plain-svg=OUTPUT INPUT

57.7.3. Raster graphics


JPEG
Run ghostscript on the PostScript file created by pdf2ps as follows:

echo "quit" | gs -sDEVICE=jpeg -sOutputFile=document.jpg -r300 document.ps

GIMP
Open your file with GIMP25 . It will ask you which page you want to convert, whether
you want to use anti-aliasing (choose strong if you want to get something similar to what
you see on the screen). Try different resolutions to fit your needs, but 100 dpi should be
enough. Once you have the image within GIMP, you can post-process it as you like and
save it to any format supported by GIMP, as PNG for example.
dvipng
A method for DVI files is dvipng26 . Usage is the same as dvipdfm.
Run latex as usual to generate the dvi file. Now, we want an X font size formula, where
X is measure in pixels. You need to convert this, to dots per inch (dpi). The formula
is: <dpi> = <font_px>*72.27/10. If you want, for instance, X = 32, then the size in
dpi corresponds to 231.26. This value will be passed to dvipng using the flag -D. To
generate the desired png file run the command as follows:

dvipng -T tight -D 231.26 -o foo.png foo.dvi

The flag -T sets the size of the image. The option tight will only include all ink put on
the page. The option -o sends the output to the file name foo.png.
ImageMagick
The convert command from the ImageMagick27 suite can convert both DVI and PDF
files to PNG.

convert input.pdf output.png

optipng
You can optimize the resulting image using optipng28 so that it will take up less space.

25 https://en.wikibooks.org/wiki/GIMP
26 http://savannah.nongnu.org/projects/dvipng/
27 http://www.imagemagick.org/
28 http://optipng.sourceforge.net/

633
Export To Other Formats

57.8. Convert to plain text


If you are thinking of converting to plain text for spell-checking or to count words, there
may be an easier way -- read Tips and Tricks29 first.
Most LaTeX distributions come with detex program, which strips LaTeX commands. It
can handle multi-file projects, so all you need is to give one command:

detex yourfile

(note the omission of .tex extension). This will output result to standard output. If you
want the plain text go to a file, use

detex yourfile > yourfile.txt

If the output from detex does not satisfy you, you can try a newer version available on
Google Code30 , or use HTML conversion first and then copy text from your browser.
If you want to keep the formating, you can use a DVI-to-plain text converter, like catdvi.
Example:

catdvi yourfile.dvi | fmt -u

The use of fmt -u (available on most Unices) will remove the justification.
sr:LaTeX/Отпремање у друге формате31

29 Chapter 59.5 on page 647


30 http://code.google.com/p/opendetex/
31 https://sr.wikibooks.org/wiki/LaTeX%2F%D0%9E%D1%82%D0%BF%D1%80%D0%B5%D0%BC%D0%B0%D1%9A%D0%B5%20%D1%83%20

634
Part X.

Help and Recommendations

635
58. FAQ
58.1. Margins are too wide
LaTeX’s default margins may seem too large. In most cases, this is a preferred default
and improves readability.
If you still disagree, you can easily change them with
\usepackage{geometry}
% or
\usepackage[margin=1.5in]{geometry}
See Page Layout1 .

58.2. Avoid excessive double line breaks in source code


Too many paragraphs of one line or two do not look very good.
Remember the TeX rule:
• If two or more consecutive line breaks are found, TeX starts a new paragraph.
• If only one linebreak is found, TeX inserts a space if there is no space directly before
or after it.
You might be tempted to put blank lines all the time to improve the readability of your
source code, but this will have an impact on formatting. The solution is simple: put
a comment at the very beginning of the blank lines. This will prevent TeX from seeing
another line break—all characters up to and including the next line break after a comment
are ignored.
Example:
We are in the first paragraph here.
%
We are still in the first paragraph.

This time, this is another paragraph.

58.3. Simplified special character input


So long as your computing environment supports UTF-8, you can enter special charac-
ters directly rather than entering the TeX commands for diacritics and other extended
characters. E.g.,
R\'esum\'e can also be written résumé.
This requires that:
• your text editor supports and is set to save your file in UTF-8;
• you add the \usepackage[utf8]{inputenc} line in the preamble.
Avoid using latin1. See Special Characters2 .

1 Chapter 16 on page 193


2 Chapter 11 on page 119

637
FAQ

58.4. Writing the euro symbol directly


Add the following lines in your preamble:
\usepackage[utf8]{inputenc}
\usepackage{marvosym}
\DeclareUnicodeCharacter{20AC}{\EUR{}}

58.5. LaTeX paragraph headings have title and content on


the same line
Some people do not like the way \paragraph{...} writes the title on the same line as
the content. This is actually fairly common in a lot of documents and not as weird as it
may seem at first.
There are ways to get around the default behavior, however; see \paragraph line break3
for more information.

58.6. Fonts are ugly/jagged/bitmaps or PDF search fails or


Copy/paste from PDF is messy
You must be using diacritics (e.g. accents) with OT1 encoding (the default). Switch to
T1 encoding:
\usepackage[T1]{fontenc}
If you have ugly jagged fonts after the font encoding change, then you have no Type1
compatible fonts available. Install Computer Modern Super or Latin Modern (package
name may be lm). To use Latin Modern you need to include the package:
\usepackage{lmodern}
See Fonts4 for an explanation.

58.7. Manual formatting: use of line breaks and page


breaks
You should really avoid breaking lines and pages manually. The TeX engine is in charge of
that. The big problem with manual formatting is that it is not dynamic. Even if it looks
right the first time, the content is likely to render really badly if you change anything
before the point you manually formatted.
The only place where page breaks are recommended is at the upper level of sectioning in
your documents, e.g. parts or chapters (although when you start a new part or chapter,
LaTeX will ordinarily do this for you). When you do manually insert a page break,
you should use \clearpage or \cleardoublepage which print currently floating figures
before starting a new page.
If you absolutely have to insert line or page breaks manually, you should do it after you
are sure you have completed your document otherwise, so that you don’t later have to
come back and update it.

3 Chapter 7.6.1 on page 83


4 Chapter 9.5 on page 97

638
Always finish commands with {}

58.8. Always finish commands with {}


TeX has an unintuitive rule that if a control sequence (a command) is not followed by a
pair of braces (with a parameter in between or not), then the following space character(s)
are ignored. LaTeX will not print any space, and the command (say, the TeX or LaTeX
logos) are run together with the following word.
To fix this, use a pair of braces after the command, even if there are no parameters.
Example:
\LaTeX is great. % BAD !
\LaTeX{} is great. % GOOD !
(Technical explanation: a control sequence name can only be composed of characters
with catcode 11, that is A-Z and a-z by default. TeX knows where the control sequence
name start thanks to the backslash, and it knows where it ends when it encounters the
first token which is not of catcode 11. This character is then skipped. Since consecutive
spaces have been concatenated into one single space, no space is taken into account.)
It is possible to define macros that will insert a space dynamically by using the xspace
package.
• If there is no brace and a space following the command, an extra space will be appended.
• If there are braces, no extra space will be printed.
Example:
\usepackage{xspace}
\let\latexold\LaTeX
\renewcommand{\LaTeX}{\textrm{\latexold}\xspace}
...
\LaTeX is followed by a space.
\LaTeX{} is followed by a space.
\LaTeX{}is not followed by a space.

58.9. Avoid bold and underline


Typographically speaking, it is usually poor practice to use bold or underline formats in
the middle of a paragraph. This has become a common habit for users of traditional word
processors because these two functions are very easily accessible (along with italics).
However, bold and underline tend to overweight the text and distract the reader. When
you start reading a paragraph with a bold word in the middle, you often read the empha-
sized part first, thus spoiling the content and breaking the order of the ideas. Italics are
less obvious and do not have more weight than normal characters, so they are usually a
better choice for emphasizing small amounts of text.
The original and more appropriate use of bold and underline is for special parts, such
as headers, the index, glossaries, and so on. (Actually, underlining is rarely used in
professional environments.)
LaTeX has a macro \emph{...} for emphasizing text using italics. It should be preferred
to \textit{...} because \emph{...} will correctly print emphasized text inside other
italic text in the regular font.

58.10. The proper way to use figures


Users used to WYSIWYG document processors like Microsoft Word or LibreOffice often
get frustrated with figures. The answer is simple: a figure is not a picture!

639
FAQ

If you use \includegraphics without enclosing it in a figure environment, it will behave


just as in a word processor, placing the picture right at the spot where it was placed in
the source.
Figures are a type of float, which is a virtual object that LaTeX can put in places other
than the exact location it was created, which helps to prevent cluttering your text with
pictures and tables.
See Importing Graphics5 and Floats, Figures and Captions6 for more details.

58.11. Text stops justifying


Most likely you have used \raggedleft, \raggedright or \centering at some point
and forgotten to switch it off. These commands are switches—they remain active until
the end of the scope, or until the end of the document if there is no scope. See Paragraph
Alignment7 for more information.

58.12. Rules of punctuation and spacing


LaTeX does some work for you, but not everything. Especially regarding punctuation,
you are pretty free to do what you want. Punctuation rules are different for each language.
In English there is no space before a punctuation mark and one space after it.
There are a lot of rules, but you can have a quick look at Wikipedia8 .

58.13. Compilation fails after a Babel language change


This is a limitation of Babel. Delete the .aux file (or clean the project), then try compiling
again.

58.14. Learning LaTeX quickly or correctly


Nowadays it is very common to “learn” on the web by using a search engine and copying
and pasting things here and there. As with every programming language, this is gener-
ally a poor method which will lead to lack of control, unexpected results, and a lot of
frustration. Really learning LaTeX is not that difficult and does not take that long. Most
chapters in this book are dedicated to a specific usage, so the basics are actually covered
very quickly.
If you are getting frustrated with a specific package, make sure you read its official
documentation, which is usually the best source of information. Content found on the
web, even in this book, is rarely as accurate as the official documentation. Inaccurate
information might result in causing mistakes without you understanding why.
The time you spend learning is worth it, and it quickly makes up for the time you would
lose if you don’t learn things properly and end up stuck all the time.

5 Chapter 17 on page 211


6 Chapter 18 on page 231
7 Chapter 7.1 on page 77
8 https://en.wikipedia.org/wiki/Punctuation%23Conventional_styles_of_English_punctuation

640
Non-breaking spaces

58.15. Non-breaking spaces


This useful feature is unknown to most newcomers, although it is available on most
WYSIWYG document processors. A non-breaking space between two tokens (e.g. words,
punctuation marks) prevents processors from inserting a line break between them. It is
very important for consistent reading. LaTeX uses the ’˜’ symbol as a non-breaking
space.
You usually use non-breaking spaces for punctuation marks in some languages, for units
and currencies, for initials, etc.
For example, in French typography, you put a non-breaking space before all two-parts
punctuation marks. Example:
Il répondit~: «~Ce pain coûte-t-il 2~€~?~»
Note that writing French like this might get really painful. Thankfully, Babel with the
frenchb option will take care of the non-breaking spaces for all punctuation marks. In
the above example, only the non-breaking space for the euro symbol must remain.

58.16. Smart mathematics


All virtual objects designated by letters, variables or others should use a dedicated for-
matting. For math and a lot of other fields, the LaTeX math formatting is perfect. For
instance, if you want to refer to an object A, write
Speaking of $A$, let's say...
If you want to refer to several objects in a sentence, it is the same.
Speaking of $A$, $B$ and $C$...
If you refer to a set of objects, you can still use the math notation.
The family $(A, B, C)$ is...
Note that this is different from usual text parentheses.
A sentence. ($A$, $B$, and $C$ are not concerned, but we do not mean the $(A, B,
C)$ family.)

58.17. Use vector graphics rather than raster images


Raster (bitmap) graphics scale poorly and often create jagged or low-quality results which
clash with the document quality, particularly when printed.
Using vector (line-oriented) graphics instead, either through LaTeX’s native diagramming
tools or by exporting vector formats from your drawing or diagramming tools, will pro-
duce much higher quality results. When possible, you should prefer PDF, EPS, or SVG
graphics over PNG or JPG.

58.18. Stretching tables


Trying to stretch tables with the default tabular environment will often lead to un-
expected results. The nice tabu package will do what you want and even much more.

641
FAQ

Alternatively if you cannot use the tabu package you may try tabularx or tabulary
packages See Tables9 .

58.19. Tables are easier than you think


Even though the Tables10 chapter is quite long, it is worth reading. In the end, you only
need to know a few things about the environment of your choice.
Some LaTeX editors feature table assistants. Also, many spreadsheet applications have
a LaTeX export feature (or plugin). Again, see Tables11 for more details.

58.20. Relieving cumbersome code (lists and long


command names)
LaTeX is sometimes cumbersome to write, especially if you are not using an adequate
editor. See Editors12 for some interesting choices.
You can define aliases to shorten some commands:
\usepackage{xspace}
\newcommand\tss[1]{\textsuperscript{#1}}
\newcommand\tbs[1]{\textbackslash\xspace}
Here the xspace package comes in handy to avoid swallowed spaces.
For lists you may want to try the easylist package. Now writing a list is as simple as
\usepackage[ampersand]{easylist}
% ...

\begin{easylist}
& Item 1
& Item 2
&& Subitem 1
&&& Subsubitem 1
& Item 3
&& Subitem 1
\end{easylist}

58.21. Reducing the size of your LaTeX installation


The Installation13 article explains in detail how to manually install a fully functional TeX
environment, including LaTeX and other features, in under 100 MB.

9 Chapter 14 on page 151


10 Chapter 14 on page 151
11 Chapter 14 on page 151
12 Chapter 2.3 on page 17
13 Chapter 2 on page 11

642
59. Tips and Tricks
59.1. Always writing LaTeX in roman
If you insert the \LaTeX command in an area with a non-default font, it will be formatted
accordingly. If you want to keep LaTeX written in Computer Modern roman shape, you
must redefine the function. However, the naive
\renewcommand{\LaTeX}{{\rm \LaTeX}}
will output:
TeX capacity exceeded , sorry [ grouping levels =255].
So you need to create a temporary variable.
Sadly,
\newcommand{\LaTeXtemp}{\LaTeX}
\renewcommand{\LaTeX}{{\rm \LaTeXtemp}}
does not work as well.
We must use the TeX primitive \let instead.
\let\LaTeXtemp\LaTeX
\renewcommand{\LaTeX}{{\rm \LaTeXtemp }}

59.2. id est and exempli gratia (i.e. and e.g.)


If you simply use the forms ”i.e.” or ”e.g.”, LaTeX will treat the periods as end of
sentence periods (i.e. full stop1 ) since they are followed by a space, and add more space
before the next ”sentence”. To prevent LaTeX from adding space after the last period,
the correct syntax is either ”i.e.\” or ”e.g.\”.
Depending on style (e.g., The Chicago Manual of Style2 ), a comma can be used afterwards,
which is interpreted by LaTeX as part of a sentence, since the period is not followed by
any space. In this case, ”i.e.,” and ”e.g.,” do not need any special attention.
If the command \frenchspacing is used in the preamble, the space between sentences is
always consistent.

59.3. Grouping Figure/Equation Numbering by Section


For long documents the numbering can become cumbersome as the numbers reach into
double and triple digits. To reset the counters at the start of each section and prefix the
numbers by the section number, include the following in the preamble.
\usepackage{amsmath}

1 https://en.wikipedia.org/wiki/Full%20stop
2 https://en.wikipedia.org/wiki/The%20Chicago%20Manual%20of%20Style

643
Tips and Tricks

\numberwithin{equation}{section}
\numberwithin{figure}{section}
The same can be done with similar counter types and document units such as ”subsection”.

59.4. Graphics and Graph editors


59.4.1. Vector image editors with LaTeX support
It is often preferable to use the same font and font size in your images as in the document.
Moreover, for scientific images, you may need mathematical formulae or special characters
(such as Greek letters). Both things can be achieved easily if the image editor allows you
to use LaTeX code in your image. Most vector image editors do not offer this option.
There are, however, a few exceptions.
In early days, LaTeX users used Xfig3 for their drawings. The editor is still used by quite
a few people nowadays because it has special ’export to LaTeX’ features. It also gives
you some very basic ways of encapsulating LaTeX text and math in the image (setting
the text’s ’special flag’ to ’special’ instead of ’normal’). When exporting, all LaTeX text
will be put in a .tex-file, separately from the rest of the image (which is put in a .ps file).
A newer and easier-to-use vector image editor specially tailored to LaTeX use is IPE4 . It
allows any LaTeX command, including but not limited to mathematical formulae in the
image. The program saves its files as editable .eps or .pdf files, which eliminates the need
of exporting your image each time you have edited it.
A very versatile vector image editor is Inkscape5 . It does not support LaTeX text by itself,
but you can use the plugin Textext6 for that. This allows you to put any block of LaTeX
code in your image. Additionally since version 0.48 you can export to vectorgraphics with
texts separated in a .tex file. Using this way text is rendered by the latex compiler itself.
LaTeXDraw is a free and open source graphical PSTricks generator and editor. It al-
lows you to draw basic geometric objects and save the result in a variety of formats
including .jpg, .png, .eps, .bmp as well as .tex. In the last case the saved file contains
PSTricks/LaTeX code only. Owing to that you can include any possible LaTeX code in
the picture, since the file is rendered by your LaTeX environment directly.
Another way to generate vectorgraphics is using the Asymptote7 language. It is a pro-
gramming language which produces vector images in encapsulated postscript format and
supports LaTeX syntax in any textlabels.

59.4.2. Graphs with gnuplot


A simple method to include graphs and charts in LaTeX documents is to create it within
a common spreadsheet software (OpenOffice Calc or MS Office Excel etc.) and include it
in the document as a cropped screenshot. However, this produces poor quality rasterized
images. Calc also allows you to copy-paste the charts into OpenOffice Draw and save
them as PDF files.

3 https://en.wikipedia.org/wiki/Xfig
4 https://en.wikipedia.org/wiki/Ipe_%28program%29
5 https://en.wikipedia.org/wiki/Inkscape
6 http://pav.iki.fi/software/textext/
7 https://en.wikipedia.org/wiki/Asymptote_%28vector_graphics_language%29

644
Graphics and Graph editors

Using Microsoft Excel 2010, charts can be copied directly to Microsoft Expression Design
4, where they can be saved as PDF files. These PDF files can be included in LaTeX. This
method produces high quality vectorized images.
An excellent method to render graphs is through gnuplot8 , a free and versatile plotting
software, that has a special output filter directly for exporting files to LaTeX. We assume,
that the data is in a CSV file (comma separated text) in the first and third column. A
simple gnuplot script to plot the data can look like this:

Figure 218 gnuplot can plot various numerical data, functions, error distribution as
well as 3D graphs and surfaces

8 https://en.wikipedia.org/wiki/gnuplot

645
Tips and Tricks

set format "$%g$"


set title "Graph 3: Dependence of $V_p$ on $R_0$"
set xlabel "Resistance $R_0$ [$\Omega$]"
set ylabel "Voltage $V_p$ [V]"
set border 3
set xtics nomirror
set ytics nomirror
set terminal epslatex
set output "graph1.eps"
plot "graph1.csv" using 1:3 #Plot the data

Now gnuplot produces two files: the graph drawing in graph.eps and the text in
graph.tex. The second includes the EPS image, so that we only need to include the file
graph.tex in our document:

\input{graph1.tex}

The above steps can be automated by the package gnuplottex. By placing gnuplot com-
mands inside \begin{gnuplot}\end{gnuplot}, and compiling with latex -shell-escape, the
graphs are created and added into your document.
Failure to access gnuplot from latex for Windows can be solved by making file title only
in one word. Don’t type my report.tex for your title file, but do myreport.tex .
When you are using gnuplottex it is also possible to directly pass the terminal settings
as an argument to the environment

\begin{gnuplot}[terminal=epslatex, terminaloptions=color, scale=0.9,


linewidth=2 ]
...
\end{gnuplot}

Using gnuplottex can cause fraudulent text-highlighting in some editors when using
algebraic functions on imported data, such as:

(2*($1)):2

Some editors will think of all following text as part of a formula and highlight it as such
(because of the ’$’ that is interpreted as part of the latex code). This can be avoided by
ending with:

#$
\end{gnuplot}

As it uncomments the dollar sign for the gnuplot interpreter, but is not affecting the
interpretation of the .tex by the editor.
When using pdfLaTeX instead of simple LaTeX, we must convert the EPS image to PDF
and to substitute the name in the graph1.tex file. If we are working with a Unix-like
shell, it is simply done using:

646
Spell-checking and Word Counting

eps2pdf graph1.eps
sed -i s/".eps"/".pdf"/g graph1.tex

With the included tex file we can work as with an ordinary image.
Instead of calling eps2pdf directly, we can also include the epstopdf package that
automates the process. If we include a graphics now and leave out the file extension,
epstopdf will automatically transform the .eps-file to PDF and insert it in the text.

\includegraphics{graph1}

This way, if we choose to output to PS or DVI, the EPS version is used and if we
output to PDF directly, the converted PDF graphics is used. Please note that usage of
epstopdf requires compiling with latex -shell-escape.
Note: Emacs AucTex users might want to check out Gnuplot-mode9 .

59.4.3. Generate png screenshots


See Export To Other Formats10 .

59.5. Spell-checking and Word Counting


If you want to spell-check your document, you can use the command-line aspell,
hunspell (preferably), or ispell programs.

ispell yourfile.tex
aspell --mode=tex -c yourfile.tex
hunspell -l -t -i utf-8 yourfile.tex

All three understand LaTeX and will skip LaTeX commands. You can also use a LaTeX
editor with built-in spell checking, such as LyX11 , Kile12 , or Emacs13 . Last another option
is to convert LaTeX source to plain text14 and open resulting file in a word processor like
OpenOffice.org or KOffice.
If you want to count words you can, again, use LyX or convert your LaTeX source to
plain text and use, for example, UNIX wc command:

detex yourfile | wc

An alternative to the detex command is the pdftotext command which extracts an


ASCII text file from PDF:

9 http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html
10 Chapter 57 on page 627
11 https://en.wikipedia.org/wiki/LyX
12 https://en.wikipedia.org/wiki/Kile
13 https://en.wikipedia.org/wiki/Emacs
14 Chapter 57.8 on page 634

647
Tips and Tricks

1. pdflatex yourfile.tex
2. pdftotext yourfile.pdf
3. wc yourfile.txt

59.6. New even page


In the twoside-mode you have the ability to get a new odd-side page by:
\cleardoublepage
However, LaTeX doesn’t give you the ability to get a new even-side page. The following
method opens up this;
The following must be put in your document preamble:
\usepackage{ifthen}

\newcommand{\newevenside}{
\ifthenelse{\isodd{\thepage}}{\newpage}{
\newpage
\phantom{placeholder} % doesn't appear on page
\thispagestyle{empty} % if want no header/footer
\newpage
}
}
To active the new even-side page, type the following where you want the new even-side:
\newevenside
If the given page is an odd-side page, the next new page is subsequently an even-side
page, and LaTeX will do nothing more than a regular \newpage. However, if the given
page is an even page, LaTeX will make a new (odd) page, put in a placeholder, and make
another new (even) page. A crude but effective method.

59.7. Sidebar with information


If you want to put a sidebar with information like copyright and author, you might want
to use the eso-pic package. Example:
\usepackage{eso-pic}
...
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\rotatebox{90}{%
\begin{minipage}{\paperheight}
\centering\textcopyright~\today{} Humble me
\end{minipage} %
}
} %
}%
If you want it on one page only, use the starred version of the
AddToShipoutPicture command at the page you want it. (\AddToShipoutPic-
ture*{...})

648
Hide auxiliary files

59.8. Hide auxiliary files


If you’re using pdflatex you can create a folder in which all the output files will be stored,
so your top directory looks cleaner.
pdflatex -output-directory tmp
Please note that the folder tmp should exist. However if you’re using a Unix-based system
you can do something like this:
alias pdflatex='mkdir -p tmp; pdflatex -output-directory tmp'
Or for vim modify your .vimrc:
" use pdflatex
let g:Tex_DefaultTargetFormat='pdf'
let g:Tex_MultipleCompileFormats='pdf,dvi'
let g:Tex_CompileRule_pdf = 'mkdir -p tmp; pdflatex -output-directory tmp
-interaction=nonstopmode $*; cp tmp/*.pdf .'

649
Part XI.

Appendices

651
60. Authors
60.1. Included books
The following books have been included in this wikibook (or we are working on it!), with
permission of the author:
• Andy Roberts’ Getting to grips with Latex1 .
• Not So Short Introduction to LaTex2e2 by Tobias Oetiker, Hubert Partl and Irene
Hyna. We have contacted the authors by email asking for permission: they allowed
us to use their material, but they never edited directly this wikibook. That book is
released under the GPL, that is not compatible with the GFDL used here in Wikibooks.
Anyway, we have the permission of the authors to use their work. You can freely
copy text from that guide to here. If you find text on both the original book and
here on Wikibooks, then that text is double licensed under GPL and GFDL. For
more information about Tobias Oetiker and Hubert Partl, their websites are http:
//it.oetiker.ch/ and http://homepage.boku.ac.at/partl/ respectively.
• LaTeX Primer3 from the Indian TeX Users Group. Their document is released under
the GNU Free Documentation License, the same as Wikibooks, so we can include parts
of their document as we wish. In any case, we have contacted Indian TeX Users Group
and they allowed us to do it.
• David Wilkins’ Getting started with LaTeX4 . The book is not released under any free
license, but we have contacted the author asking him for the permission to use parts of
his book on Wikibooks. He agreed: his work is still protected but you are allowed to
copy the parts you want on this Wikibook. If you see text on both the original work
and here, then that part (and only that part) is released under the terms of GFDL,
like any other text here on Wikibooks.
In progress
• Peter Flynn’s Formatting information, a beginner’s guide to typesetting with LaTeX5 .
We have contacted him by email asking for permission to use his work. The original
book is released under the GNU Free Documentation License, the same as Wikibooks.
For more information, his personal website is http://silmaril.ie/cgi-bin/blog.

60.2. Wiki users


Major contributors to the book on Wikibooks are:
• Alessio Damato6

1 http://www.andy-roberts.net/misc/latex/index.html
2 http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf
3 http://sarovar.org/projects/ltxprimer/
4 http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
5 http://www.ctan.org/tex-archive/info/beginlatex/beginlatex-3.6.pdf
6 https://en.wikibooks.org/wiki/User%3AAlejo2083

653
Authors

• Jtwdog7
• Pierre Neidhardt8

7 https://en.wikibooks.org/wiki/User%3AJtwdog
8 https://en.wikibooks.org/wiki/User%3AAmbrevar

654
61. Links
w:TeX1 w:LaTeX2
Here are some other online resources available:

61.0.1. Community
• The TeX Users Group3 Includes links to free versions of (La)TeX for many kinds of
computers.
• UK-TUG4 The UK TeX Users’ Group
• TUGIndia5 The Indian TeX Users Group
• [news:comp.text.tex comp.text.tex] Newsgroup for (La)TeX related questions
• CTAN6 hundreds of add-on packages and programs

61.0.2. Tutorials/FAQs
• Tobias Oetiker’s Not So Short Introduction to LaTex2e:
http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf also at
http://web.archive.org/web/20010603070337/http://people.ee.ethz.ch/
~oetiker/lshort/lshort.pdf
• Vel’s introduction to LaTeX: What is it, why should you use it, who should use it and
how to get started:
http://www.vel.co.nz/vel.co.nz/Blog/Entries/2009/11/4_LaTeX_Document_
Preparation_System.html
• Peter Flynn’s beginner’s guide (formatting):
http://www.ctan.org/tex-archive/info/beginlatex/beginlatex-3.6.pdf
• The AMS Short Math Guide for LaTeX, a concise summary of math formula typesetting
features
http://www.ams.org/tex/amslatex.html
• amsmath users guide (PDF) and related files:
http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/
• LaTeX Primer from the Indian TeX Users Group:
http://sarovar.org/projects/ltxprimer/
• LaTeX Primer
http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
• PSTricks--fancy graphics exploiting PDF capabilities
http://sarovar.org/projects/pstricks/

1 https://en.wikipedia.org/wiki/TeX
2 https://en.wikipedia.org/wiki/LaTeX
3 http://www.tug.org/
4 http://uk.tug.org/
5 http://www.tug.org.in/
6 http://www.ctan.org/

655
Links

• PDFScreen--create LaTeX PDF files that have navigation buttons used for
presentations:
http://sarovar.org/projects/pdfscreen/
• David Bausum’s list of TeX primitives (these are the fundamental commands used in
TeX):
http://www.tug.org/utilities/plain/cseq.html
• Leslie Lamport’s manual for the commands that are unique to LaTeX (commands not
used in plain TeX):
http://www.tex.uniyar.ac.ru/doc/latex2e.pdf
• The UK TeX FAQ List of questions and answers that are frequently posted at
comp.text.tex
http://www.tex.ac.uk/faq
• TeX on Mac OS X: Guide to using TeX and LaTeX on a Mac
http://www.rna.nl/tex.html
• Text Processing using LaTeX
http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/
• The (La)TeX encyclopaedia
http://tex.loria.fr/index.html
• Hypertext Help with LaTeX
http://www.giss.nasa.gov/tools/latex/index.html
• EpsLatex: a very comprehensive guide to images, figures and graphics
http://www.ctan.org/tex-archive/info/epslatex.pdf
• The Comprehensive LaTeX Symbol List (in PDF)
http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.
pdf
• Getting to Grips with LaTeX (HTML) Collection of Latex tutorials taking you from
the very basics towards more advanced topics
http://www.andy-roberts.net/misc/latex/index.html
• Chapter 8 (about typesetting mathematics) of the LaTeX companion
http://www.macrotex.net/texbooks/latexcomp-ch8.pdf

61.0.3. Reference
• LaTeX Project Site7
• The Comprehensive TeX Archive Network8 Latest (La)TeX-related packages and soft-
ware
• TeX Directory Structure9 , used by many (La)TeX distributions
• Natural Math10 converts natural language math formulas to LaTeX representation
• Obsolete packages and commands11
• Lamport’s book LaTeX: A Document Preparation System

7 http://www.latex-project.org/
8 http://www.ctan.org
9 http://www.tug.org/tds/
10 http://www.math.missouri.edu/~stephen/naturalmath/
11 http://www.ctan.org/tex-archive/info/l2tabu/english/l2tabuen.pdf

656
Wiki users

61.0.4. Templates
• A resource for free high quality LaTeX templates for a variety of applications12
• LaTeX template for writing PhD thesis13 , 2007
• UCL computer department thesis template14
• UT thesis template15 , 2006
• A template that supports an easy conversion to *.odt (*.doc), *.pdf and *.html in one
run16 , 2009

12 http://www.LaTeXTemplates.com
13 http://openwetware.org/wiki/LaTeX_template_for_PhD_thesis
14 http://www.cs.ucl.ac.uk/students/mphil_phd/resources_for_research_students/latex_for_research_thesis
15 http://www.cs.utexas.edu/users/jbednar/latex/
16 http://code.google.com/p/latex-template

657
62. Package Reference
This is an incomplete list of useful packages that can be used for a wide range of different
kind of documents. Each package has a short description next to it and, when available,
there is a link to a section describing such package in detail. All of them (unless stated)
should be included in your LaTeX distribution as package_name.sty. For more informa-
tion, refer to the documentation of the single packages, as described in Installing Extra
Packages1 .
The list is in alphabetical order.
amsmath It contains the advanced math extensions for LaTeX. The complete docu-
mentation should be in your LaTeX distribution; the file is called amsdoc, and
can be dvi or pdf. For more information, see the chapter about Mathematics2 .
amssymb It adds new symbols in to be used in math mode.
amsthm It introduces the proof environment and the \theoremstyle command. For
more information see the Theorems3 section.
array It extends the possibility of LaTeX to handle tables, fixing some bugs
and adding new features. Using it, you can create very complicated and
customized tables. For more information, see the Tables4 section.
babel It provides the internationalization of LaTeX. It has to be loaded in any
document, and you have to give as an option the main language you are going
to use in the document. For more information see the Internationalization5
section.
bm Allows use of bold greek letters in math mode using the \bm{...} command.
This supersedes the amsbsy package.
booktabs provides extra commands as well as behind-the-scenes optimisation for
producing tables. Guidelines are given as to what constitutes a good table in
the package documentation.
boxedminipage It introduces the boxedminipage environment, that works exactly like
minipage but adds a frame around it.
caption Allows customization of appearance and placement of captions for figures,
tables, etc.
cancel Provides commands for striking out mathematical expressions. The syntax
is\cancel{x}or\cancelto{0}{x}
changepage To easily change the margins of pages. The syntax is

\changepage{textheight}{textwidth}%
{evensidemargin}{oddsidemargin}%
{columnsep}{topmargin}%
{headheight}{headsep}%
{footskip}

All the arguments can be both positive and negative numbers; they will be
added (keeping the sign) to the relative variable.
cite Supports compressed, sorted lists of numerical citations, and also deals
with various punctuation and other issues of representation, including
comprehensive management of break points.
color It adds support for colored text. For more information, see the relevant
section6 .
easylist Adds support for arbitrarily-deep nested lists (useful for outlines). See List
Structures7 .
esint Adds additional integral symbols, for integrals over squares, clockwise
integrals over sets, etc.
eucal Other mathematical symbols.

1 Chapter 3 on page 29
2 Chapter 27 on page 309
3 Chapter 29 on page 365
4 Chapter 14 on page 151
5 Chapter 12 on page 131
6 Chapter 8 on page 87
7 Chapter 10 on page 107

659
Package Reference

fancyhdr To change header and footer of any page of the document. It is described in
the Page Layout8 section.
fontenc To choose the font encoding of the output text. You might need it if you
are writing documents in a language other than English. Check in the Fonts9
section.
geometry For easy management of document margins and the document page size. See
Page Layout10 .
glossaries For creation of glossaries and list of acronyms. For more information, see the
relevant chapter11 .
graphicx allows you to insert graphic files within a document.
hyperref It gives LaTeX the possibility to manage links within the document or to
any URL when you compile in PDF. For more information, see the relevant
section12 .
indentfirst Once loaded, the beginning of any chapter/section is indented by the usual
paragraph indentation.
inputenc To choose the encoding of the input text. You might need it if you are
writing documents in a language other than English. Check in the Special
Characters13 section.
latexsym Other mathematical symbols.
listings To insert programming code within the document. Many languages are
supported and the output can be customized. For more information, see the
Source Code Listings14 .
mathptmx Sets the default font of the entire document (including math formulae) to
Times New Roman, which is a more familiar font, and useful in saving space
when fighting against page limits.
mathrsfs Other mathematical symbols.
mhchem allows you to easily type chemical species and equations. It automatically
formats chemical species so you don’t have to use subscript commands. It also
Allows you to draw chemical formulas.
microtype It provides an improvement to LaTeX’s default typographic extensions,
improvements in such areas as character protrusion and font expansion,
interword spacing and additional kerning, and hyphenatable letter-spacing
multicol provides the multicols environment which typesets text into multiple
columns.
natbib Gives additional citation options and styles.
paralist provides compactitem environment which typesets list items much more
closely than LaTeX’s default.
pdfpages This package simplifies the insertion of external multi-page PDF or PS
documents.
rotating It lets you rotate any kind of object. It is particularly useful for rotating
tables. For more information, see the relevant section15 .
setspace Lets you change line spacing, e.g. provides the \doublespacing command
for making double spaced documents. For more information, see the relevant
section16 .
showkeys A useful package related to referencing. If you wish to reference an image
or formula, you have to give it a name using \label{...} and then you
can recall it using \ref{...}. When you compile the document these
will be replaced only with numbers, and you can’t know which label you
had used unless you take a look at the source. If you have loaded the
showkeys package, you will see the label just next or above the relevant
number in the compiled version. An example of a reference to a section is

Figure 219
This way you can easily keep track of the labels you add or use, simply
looking at the preview (both dvi or pdf). Just before the final version, remove
it.
showidx It prints out all index entries in the left margin of the text. This is quite
useful for proofreading a document and verifying the index. For more infor-
mation, see the Indexing17 section.
subfiles The ”root” and ”child” document can be compiled at the same time without
making changes to the ”child” document. For more information, see the
Modular Documents18 section.
subcaption It allows to define multiple floats (figures, tables) within one environment
giving individual captions and labels in the form 1a, 1b.

8 Chapter 16 on page 193


9 Chapter 9 on page 93
10 Chapter 16 on page 193
11 Chapter 35 on page 429
12 Chapter 20 on page 257
13 Chapter 11 on page 119
14 Chapter 32 on page 393
15 Chapter 13 on page 149
16 Chapter 6 on page 63
17 Chapter 34 on page 421
18 Chapter 55 on page 605

660
Wiki users

syntonly If you add the following code in your preamble:

\usepackage{syntonly}
\syntaxonly

LaTeX skims through your document only checking for proper syntax and
usage of the commands, but doesn’t produce any (DVI or PDF) output. As
LaTeX runs faster in this mode you may save yourself valuable time. If you
want to get the output, you can simply comment out the second line.
textcomp Provides extra symbols, e.g. arrows like \textrightarrow, various currencies
(\texteuro,...), things like \textcelsius and many others.
theorem You can change the style of newly defined theorems. For more information
see the Theorems19 section.
todonotes Lets you insert notes of stuff to do with the syntax \todo{Add details.}.
siunitx20 Helps you typeset of SI-units correctly. For example \SI{12}{\mega\hertz}.
Automatically handles the correct spacing between the number and the unit.
Note that even non-SI-units are set, like dB, rad, ...
ulem It allows to underline text (either with straight or wavy line). Few examples
of usage are added to the Fonts21 chapter.
url It defines the \url{...} command. URLs often contain special character
such as ’_’ and ’&’, in order to write them you should escape them inserting
a backslash, but if you write them as an argument of \url{...}, you don’t
need to escape any special character and it will take care of proper formatting
for you. If you are using hyperref, you don’t need to load url because it
already provides the \url{...} command.
verbatim It improves the verbatim environment, fixing some bugs. Moreover, it
provides the comment environment, that lets you add multiple-line comments
or easily comment out big parts of the code.
wrapfig To insert images surrounded by text. It was discussed in section Floats,
Figures and Captions22 .
xypic It is used to create trees, graphs, (commutative) diagrams, and similar
things. See Xy-pic23 .

19 Chapter 29 on page 365


20 http://ctan.org/tex-archive/macros/latex/contrib/siunitx
21 Chapter 9 on page 93
22 Chapter 18 on page 231
23 Chapter 49 on page 559

661
63. Sample LaTeX documents
The easiest way to learn how to use latex is to look at how other people use it. Here is a
list of real world latex sources that are freely available on the internet. The information
here is sorted by application area, so that it is grouped by the scientific communities that
use similar notation and LaTeX constructs.

63.1. General examples


Tutorial examples, books, and real world uses of LaTeX.
• caption.tex1 , simple.tex2 , wrapped.tex3
• [ftp://tug.ctan.org/tex-archive/macros/latex/base/small2e.tex small2e.tex] and
[ftp://tug.ctan.org/tex-archive/macros/latex/base/sample2e.tex sample2e.tex]. The
”official” sample documents...
• A short example of how to use LaTeX for scientific reports4 by Stephen J. Eglen.
• The not so Short Introduction to LaTeX5 by Tobias Oetiker is distributed with full
latex sources.

63.2. Semantics of Programming Languages


Articles on programming language research, from syntax to semantics, including source
code listings, type rules, proof trees, and even some category theory. A good place to
start is Mitchell Wand’s Latex Resources6 , including a sample file that also demonstrates
Didier Remy’s mathpartir7 package. The following are latex sources of some articles,
books, or presentations from this field:
• Pugs: Bootstrapping Perl 6 with Haskell8 . This paper by Audrey Tang contains nice
examples on configuring the listings package9 to format source code.

1 https://en.wikibooks.org/wiki/LaTeX%2Fcaption.tex
2 https://en.wikibooks.org/wiki/LaTeX%2Fsimple.tex
3 https://en.wikibooks.org/wiki/LaTeX%2Fwrapped.tex
4 http://www.tug.org/pracjourn/2006-2/eglen/
5 http://www.ctan.org/tex-archive/info/lshort/english/
6 http://www.ccs.neu.edu/course/csg264/latex/
7 http://cristal.inria.fr/~remy/latex/
8 http://svn.openfoundry.org/pugs/docs/talks/hw2005.tex
9 https://en.wikibooks.org/wiki/LaTeX%2FPackages%2FListings

663
64. Index
This is an alphabetical index of the book.

64.1. A
• Absolute Beginners1
• Abstract2
• Accents3
• Algorithms4
• Arrays5
• Authors6

64.2. B
• babel7
• Basics8
• beamer package9
• Bibliography Management10
• BibTeX11
• Bold12
• Bullets13
• Bullet points14

64.3. C
• Captions15
• Collaborative Writing of LaTeX Documents16

1 Chapter 4 on page 37
2 Chapter 7.6.5 on page 86
3 Chapter 7.6.1 on page 83
4 Chapter 31 on page 383
5 Chapter 27.10 on page 324
6 Chapter 60 on page 653
7 Chapter 12 on page 131
8 Chapter 4 on page 37
9 Chapter 41 on page 485
10 Chapter 38 on page 441
11 Chapter 38 on page 441
12 Chapter 7.6.1 on page 83
13 Chapter 10 on page 107
14 Chapter 10 on page 107
15 Chapter 18 on page 231
16 Chapter 56 on page 615

665
Index

• Color17
• color package18
• Columns, see Multi-column Pages19
• Cross-referencing20
• Customizing LaTeX21

64.4. D
• Dashes22
• description environment23
• Diactrical marks24
• Document Classes25
• Document Structure26
• Drawings27

64.5. E
• e.g. (exempli gratia)28
• Ellipsis29
• em-dash30
• en-dash31
• enumerate32
• Errors and Warnings33
• Euro currency symbol34
• Export To Other Formats35

64.6. F
• Figures36

17 Chapter 8 on page 87
18 Chapter 8 on page 87
19 Chapter 16.9 on page 208
20 Chapter 21 on page 269
21 Chapter 51 on page 569
22 Chapter 7.6.1 on page 83
23 Chapter 7.6.1 on page 83
24 Chapter 7.6.1 on page 83
25 Chapter 4.5.6 on page 48
26 Chapter 5 on page 51
27 Chapter 44 on page 509
28 Chapter 59.2 on page 643
29 Chapter 7.6.1 on page 83
30 Chapter 7.6.1 on page 83
31 Chapter 7.6.1 on page 83
32 Chapter 7.6.1 on page 83
33 Chapter 22 on page 281
34 Chapter 7.6.1 on page 83
35 Chapter 57 on page 627
36 Chapter 18 on page 231

666
G

• Floats37
• Fonts38
• Footer, Page39
• Footnotes40
• Formatting41

64.7. G
• General Guidelines42
• Graphics
• Creating43
• Embedding44
• Importing45
• graphicx package46

64.8. H
• Header, Page47
• HTML output48
• Hyperlinks49
• hyperref package50
• hyphen51
• Hyphenation52

64.9. I
• i.e. (id est)53
• Images54
• Importing Graphics55

37 Chapter 18 on page 231


38 Chapter 9 on page 93
39 Chapter 16 on page 193
40 Chapter 7.6.1 on page 83
41 Chapter 7 on page 77
42 Chapter 55 on page 605
43 Chapter 44 on page 509
44 Chapter 17 on page 211
45 Chapter 17 on page 211
46 Chapter 17 on page 211
47 Chapter 16 on page 193
48 Chapter 57.6 on page 631
49 Chapter 20 on page 257
50 Chapter 20 on page 257
51 Chapter 7.6.1 on page 83
52 Chapter 7.6.1 on page 83
53 Chapter 59.2 on page 643
54 Chapter 17 on page 211
55 Chapter 17 on page 211

667
Index

• Indexing56
• Internationalization57
• Introduction58
• Italics59
• itemize60

64.10. L
• Labels61
• Letters62
• Links63
• Lists64

64.11. M
• makeidx package65
• \maketitle66
• Margin Notes67
• Creating Graphics68
• Mathematics69
• Matrices70
• Minipage environment example71
• Multi-column Pages72

64.12. P
• Packages73
• Creating 174
• Page Layout75

56 Chapter 34 on page 421


57 Chapter 12 on page 131
58 Chapter 1 on page 5
59 Chapter 7.6.1 on page 83
60 Chapter 7.6.1 on page 83
61 Chapter 21 on page 269
62 Chapter 40 on page 479
63 Chapter 61 on page 655
64 Chapter 10 on page 107
65 Chapter 34 on page 421
66 Chapter 5.3.1 on page 54
67 Chapter 7.6.1 on page 83
68 Chapter 44 on page 509
69 Chapter 27 on page 309
70 Chapter 27.10 on page 324
71 Chapter 15 on page 187
72 Chapter 16.9 on page 208
73 Chapter 62 on page 659
74 Chapter 51 on page 569
75 Chapter 16 on page 193

668
Q

• PDF output76
• picture77
• Pictures78
• PNG output79
• Presentations80
• Pseudocode81

64.13. Q
• LaTeX/Paragraph Formatting#Quoting_text82

64.14. R
• References83
• RTF output84

64.15. S
• Sentences85
• Small Capitals86
• Source Code Listings87
• Space Between Words88
• Spell-checking89
• Superscript and subscript: powers and indices90
• Superscript and subscript: text mode91
• SVG output92

64.16. T
• Table of contents93

76 Chapter 57.3.4 on page 630


77 Chapter 44 on page 509
78 Chapter 17 on page 211
79 Chapter 57.3.4 on page 630
80 Chapter 41 on page 485
81 Chapter 31 on page 383
82 Chapter 7.6.4 on page 85
83 Chapter 21 on page 269
84 Chapter 57.3.4 on page 630
85 Chapter 6.1.3 on page 64
86 Chapter 7.6.1 on page 83
87 Chapter 7.6.1 on page 83
88 Chapter 7.6.1 on page 83
89 Chapter 59.5 on page 647
90 Chapter 27.5 on page 313
91 Chapter 6.10 on page 71
92 Chapter 57.3.4 on page 630
93 Chapter 5.3.5 on page 58

669
Index

• Tables94
• Teletype text95
• Text Size96
• Theorems97
• Tips and Tricks98
• Title Creation99

64.17. U
• URLs100

64.18. V
• Verbatim Text101

64.19. W
• Word Counting102

64.20. X
• XeTeX103
• XY-pic package104
• xy package105

94 Chapter 14 on page 151


95 Chapter 7.6.1 on page 83
96 Chapter 15 on page 187
97 Chapter 29 on page 365
98 Chapter 59 on page 643
99 Chapter 15 on page 187
100 Chapter 7.6.1 on page 82
101 Chapter 7.6.1 on page 81
102 Chapter 59.5 on page 647
103 Chapter 9.10 on page 103
104 Chapter 49 on page 559
105 Chapter 49 on page 559

670
65. Command Glossary
This is a glossary of LaTeX commands—an alphabetical listing of LaTeX commands with
the summaries of their effects. (Brackets ”[]” are optional arguments and braces ”{}” are
required arguments.)

65.1. #
/
see slash marks1
\@
following period ends sentence
\\[*][extra-space]
new line
\,
thin space, math and text mode
\;
thick space, math mode
\:
medium space, math mode
\!
negative thin space, math mode
\-
hyphenation; tabbing
\=
set tab, see tabbing
\>
tab, see tabbing
\<
back tab, see tabbing
\+
see tabbing
\’
accent or tabbing
\‘
accent or tabbing
\|
double vertical lines, math mode
\(
start math environment2

1 Chapter 7.6.1 on page 83


2 Chapter 27 on page 309

671
Command Glossary

\)
end math environment
\[
begin displaymath environment
\]
end displaymath environment

65.2. A
\addcontentsline{file}{sec_unit}{entry}
adds an entry to the specified list or table
\addtocontents{file}{text}
adds text (or formatting commands) directly to the file that generates the specified list
or table
\addtocounter{counter}{value}
increments the counter
\address{Return address}
\addtolength{len-cmd}{len}
increments a length command, see Length3
\addvspace
adds a vertical space of a specified height
\alph
causes the current value of a specified counter to be printed in alphabetic characters
\appendix
changes the way sectional units are numbered so that information after the command is
considered part of the appendix
\arabic
causes the current value of a specified counter to be printed in Arabic numbers
\author
declares the author(s). See Document Structure4

65.3. B
\backslash
prints a backslash
\baselineskip
a length command (see Lengths5 ), which specifies the minimum space between the bot-
tom of two successive lines in a paragraph
\baselinestretch
scales the value of \baselineskip
\bf
Boldface typeface
\bibitem

3 Chapter 23 on page 287


4 Chapter 5.3.1 on page 54
5 Chapter 23 on page 287

672
C

generates a labeled entry for the bibliography6


\bigskipamount
\bigskip
equivalent to \vspace{\bigskipamount}
\boldmath
bold font in math mode
\boldsymbol
bold font for symbols

65.4. C
\cal
Calligraphic style in math mode
\caption
generate caption for figures and tables
\cdots
Centered dots
\centering
Used to center align LaTeX environments
\chapter
Starts a new chapter. See Document Structure7 .
\circle
\cite
Used to make citations8 from the provided bibliography
\cleardoublepage
\clearpage
Ends the current page and causes any floats to be printed. See Page Layout9 .
\cline
Adds horizontal line in a table that spans only to a range of cells. See \hline10 and
../Tables/11 chapter.
\closing
Inserts a closing phrase (e.g. \closing{yours sincerely}), leaves space for a handwritten
signature and inserts a signature specified by \signature{}. Used in the Letter class.
\color
Specifies color of the text. ../Colors12
\copyright
makes © sign. See Formatting13 .

6 Chapter 5.3.1 on page 54


7 Chapter 5.3.3 on page 56
8 Chapter 38.2 on page 442
9 Chapter 16.10 on page 209
10 Chapter 65.9 on page 675
11 Chapter 14 on page 151
12 Chapter 8 on page 87
13 Chapter 7.6.1 on page 83

673
Command Glossary

65.5. D
\dashbox
\date
\ddots
Inserts a diagonal ellipsis (3 diagonal dots) in math mode
\documentclass[options]{style}
Used to begin a latex document
\dotfill

65.6. E
\em
Toggles italics on/off for the text inside curly braces with the command. Such as {\em
This is in italics \em but this isn’t \em and this is again}. This command allows nesting.
\emph
Toggles italics on/off for the text in curly braces following the command e.g. \emph{This
is in italics \emph{but this isn’t} and this is again}.
\ensuremath (LaTeX2e)
Treats everything inside the curly braces as if it were in a math environment. Useful when
creating commands in the preamble as they will work inside or out of math environments.
\epigraph
Adds an epigraph. Requires epigraph package.
\euro
Prints euro ¤ symbol. Requires eurosym package.

65.7. F
\fbox
\flushbottom
\fnsymbol
\footnote
Creates a footnote14 .
\footnotemark
\footnotesize
Sets font size. See Text Formatting15 .
\footnotetext
\frac
inserts a fraction in mathematics mode. The usage is \frac{numerator}{denominator}.
\frame
\framebox
Like \makebox but creates a frame around the box. See Boxes16 .
\frenchspacing

14 Chapter 19.1 on page 251


15 Chapter 6.10 on page 71
16 Chapter 25 on page 299

674
G

Instructs LaTex to abstain from inserting more space after a period (´.´) than is the case
for an ordinary character. In order to untoggle this functionality resort to the command
\nonfrenchspacing17 .

65.8. G

65.9. H
\hfill
Abbreviation for \hspace{\fill}.
\hline
adds a horizontal line in a tabular environment. See also \cline18 , Tables19 chapter.
\href
Add a link, or an anchor. See Hyperlinks20
\hrulefill
\hspace
Produces horizontal space.
\huge
Sets font size. See Text Formatting21 .
\Huge
Sets font size. See Text Formatting22 .
\hyphenation{word list}
Overrides default hyphenation algorithm for specified words. See Hyphenation23

65.10. I
\include
This command is different from \input in that it’s the output that is added instead of
the commands from the other files. For more see LaTex/Basics24
\includegraphics
Inserts an image25 . Requires graphicx package.
\includeonly
\indent
\input
Used to read in LaTex files. For more see LaTex/Basics26 .
\it

17 Chapter 65.14 on page 677


18 Chapter 65.4 on page 673
19 Chapter 14 on page 151
20 Chapter 20 on page 257
21 Chapter 6.10 on page 71
22 Chapter 6.10 on page 71
23 Chapter 6.2 on page 66
24 Chapter 4.5.6 on page 48
25 Chapter 17.12.1 on page 226
26 Chapter 4.5.6 on page 48

675
Command Glossary

Italicizes the text which is inside curly braces with the command. Such as {\it This is
in italics}. \em is generally preferred since this allows nesting.
\item
Creates an item in a list. Used in list structures27 .

65.11. K
\kill
Prevent a line in the tabbing environment from being printed.

65.12. L
\label
Used to create label which can be later referenced with \ref. See Labels and Cross-
referencing28 .
\large
Sets font size. See Text Formatting29 .
\Large
Sets font size. See Text Formatting30 .
\LARGE
Sets font size. See Text Formatting31 .
\LaTeX
Prints LaTeX logo. See Formatting32 .
\LaTeXe
Prints current LaTeX version logo. See Formatting33 .
\ldots
Prints sequence of three dots. See Formatting34 .
\left
\lefteqn
\line
\linebreak
Suggests LaTeX to break line in this place. See Page Layout35 .
\linethickness
\linewidth
\listoffigures
Inserts a list of the figures in the document. Similar to TOC36
\listoftables

27 Chapter 10 on page 107


28 Chapter 21 on page 269
29 Chapter 6.10 on page 71
30 Chapter 6.10 on page 71
31 Chapter 6.10 on page 71
32 Chapter 6.14 on page 74
33 Chapter 6.14 on page 74
34 Chapter 6.10 on page 71
35 Chapter 16.10 on page 209
36 Chapter 5.3.5 on page 58

676
M

Inserts a list of the tables in the document. Similar to TOC37


\location

65.13. M
\makebox
Defines a box that has a specified width, independent from its content. See Boxes38 .
\maketitle
Causes the title page to be typeset, using information provided by commands such as
\title{} and \author{}.
\markboth \markright
\mathcal
\mathop
\mbox
Write a text in roman font inside a math part
\medskip
\multicolumn
\multiput

65.14. N
\newcommand
Defines a new command. See New Commands39 .
\newcolumntype
Defines a new type of column to be used with tables. See Tables40 .
\newcounter
\newenvironment
Defines a new environment. See New Environments41 .
\newfont
\newlength
\newline
Ends current line and starts a new one. See Page Layout42 .
\newpage
Ends current page and starts a new one. See Page Layout43 .
\newsavebox
\newtheorem
\nocite
Adds a reference to the bibliography without an inline citation. \nocite{*} causes all
entries in a bibtex database to be added to the bibliography.
\noindent

37 Chapter 5.3.5 on page 58


38 Chapter 25 on page 299
39 Chapter 51.1 on page 569
40 Chapter 14 on page 151
41 Chapter 51.2 on page 571
42 Chapter 16.10 on page 209
43 Chapter 16.10 on page 209

677
Command Glossary

\nolinebreak
\nonfrenchspacing
Setting the command untoggles the command \frenchspacing44 and activates LaTeX
standards to insert more space after a period (´.´) than after an ordinary character.
\normalsize
Sets default font size. See Text Formatting45 .
\nopagebreak
Suggests LaTeX not to break page in this place. See Page Layout46 .
\not

65.15. O
\onecolumn
\opening
Inserts an opening phrase when using the letter class, for example \opening{Dear Sir}
\oval
\overbrace
Draws a brace over the argument. Can be used in displaystyle with superscript to label
formulae. See Advanced Mathematics47 .
\overline
Draws a line over the argument.

65.16. P
\pagebreak
Suggests LaTeX breaking page in this place. See Page Layout48 .
\pagenumbering
Defines the type of characters used for the page numbers. Options : arabic, roman,
Roman, alph, Alph, gobble (invisible).
\pageref
Used to reference to number of page where a previously declared \label is located. See
Floats, Figures and Captions49 .
\pagestyle
See Page Layout50 .
\par
Starts a new paragraph
\paragraph
Starts a new paragraph. See Document Structure51 .
\parbox

44 Chapter 65.7 on page 674


45 Chapter 6.10 on page 71
46 Chapter 16.10 on page 209
47 Chapter 28.2.1 on page 343
48 Chapter 16.10 on page 209
49 Chapter 18.5 on page 239
50 Chapter 16.7.1 on page 201
51 Chapter 5.3.3 on page 56

678
Q

Defines a box whose contents are created in paragraph mode. See Boxes52 .
\parindent
Normal paragraph indentation. See Lengths53 .
\parskip
\part
Starts a new part of a book. See Document Structure54 .
\protect
\providecommand (LaTeX2e)
See Macros55 .
\put

65.17. Q
\quad
Similar to space, but with the size of a capital M
\qquad
double \quad

65.18. R
\raggedbottom
Command used for top justified within other environments.
\raggedleft
Command used for right justified within other environments.
\raggedright
Command used for left justified within other environments.
\raisebox
Creates a box and raises its content. See LaTeX/Boxes56 .
\ref
Used to reference to number of previously declared \label. See Labels and Cross-
referencing57 .
\renewcommand
\right
\rm
Roman typeface.
\roman
Causes a counter to be printed in roman numerals.
\rule
Creates a line of specified width and height. See LaTeX/Rules and Struts58 .

52 Chapter 25 on page 299


53 Chapter 23 on page 287
54 Chapter 5.3.3 on page 56
55 Chapter 51.1 on page 569
56 Chapter 25 on page 299
57 Chapter 21 on page 269
58 Chapter 26 on page 305

679
Command Glossary

65.19. S
\savebox
Makes a box and saves it in a named storage bin.
\sbox
The short form of \savebox with no optional arguments.
\sc
Small caps.
\scriptsize
Sets font size. See Text Formatting59 .
\section
Starts a new section. See Document Structure60 .
\setcounter
\setlength
\settowidth
\sf
Sans serif.
\shortstack
\signature
In the Letter class, specifies a signature for later insertion by \closing.
\sl
Slanted.
\slash
See slash marks61
\small
Sets font size. See Text Formatting62 .
\smallskip
\sout
Strikes out text. Requires ulem package. See Text Formatting63 .
\space
force ordinary space
\sqrt
Creates a root64 (default square, but magnitude can be given as an optional parameter).
\stackrel
Takes two arguments and stacks the first on top of the second.
\stepcounter
Increase the counter.
\subparagraph
Starts a new subparagraph. See Document Structure65 .
\subsection

59 Chapter 6.10 on page 71


60 Chapter 5.3.3 on page 56
61 Chapter 7.6.1 on page 83
62 Chapter 6.10 on page 71
63 Chapter 6 on page 63
64 Chapter 27.7 on page 317
65 Chapter 5.3.3 on page 56

680
T

Starts a new subsection. See Document Structure66 .


\subsubsection
Starts a new sub-subsection. See Document Structure67 .

65.20. T
\tableofcontents
Inserts a table of contents (based on section headings) at the point where the command
appears.
\telephone
In the letter class, specifies the sender’s telephone number.
\TeX
Prints TeX logo. See Text Formatting68 .
\textbf{}
Sets bold font style. See Text Formatting69 .
\textcolor{}{}
Creates colored text. See Entering colored text70 .
\textit{}
Sets italic font style. See Text Formatting71 .
\textmd{}
Sets medium weight of a font. See Text Formatting72 .
\textnormal{}
Sets normal font. See Text Formatting73 .
\textrm{}
Sets roman font family. See Text Formatting74 .
\textsc{}
Sets font style to small caps. See Text Formatting75 .
\textsf{}
Sets sans serif font family. See Text Formatting76 .
\textsl{}
Sets slanted font style. See Text Formatting77 .
\texttt{}
Sets typewriter font family. See Text Formatting78 .
\textup{}
Sets upright shape of a font. See Text Formatting79 .

66 Chapter 5.3.3 on page 56


67 Chapter 5.3.3 on page 56
68 Chapter 6.14 on page 74
69 Chapter 6.10 on page 71
70 Chapter 8.2 on page 87
71 Chapter 6.10 on page 71
72 Chapter 6.10 on page 71
73 Chapter 6.10 on page 71
74 Chapter 6.10 on page 71
75 Chapter 6.10 on page 71
76 Chapter 6.10 on page 71
77 Chapter 6.10 on page 71
78 Chapter 6.10 on page 71
79 Chapter 6.10 on page 71

681
Command Glossary

\textwidth
\textheight
\thanks
\thispagestyle
\tiny
Sets font size. See Text Formatting80 .
\title
\today
Writes current day. See Text Formatting81 .
\tt
\twocolumn
\typeout
\typein

65.21. U
\uline
Underlines text. Requires ulem package. See Formatting82 .
\underbrace
\underline
\unitlength
\usebox
\usecounter
\uwave
Creates wavy underline. Requires ulem package. See Formatting83 .

65.22. V
\value
\vbox{text}
Encloses a paragraph’s text to prevent it from running over a page break
\vcenter
\vdots
Creates vertical dots. See Mathematics84 .
\vector
\verb
Creates inline verbatim text. See Formatting85 .
\vfill
\vline
\vphantom
\vspace

80 Chapter 6.10 on page 71


81 Chapter 6.14 on page 74
82 Chapter 7.6.1 on page 83
83 Chapter 7.6.1 on page 83
84 Chapter 27.17.2 on page 336
85 Chapter 7.6.1 on page 81

682
V

This page uses material from Dr. Sheldon Green’s Hypertext Help with LaTeX.

683
66. Contributors

Edits User
1 21474836471
140 3mta32
2 ABCD3
1 ATC2˜enwikibooks4
1 Aadornellesf5
4 Abalenkm6
2 Abonnema7
1 Abramsky8
1 Abustany9
1 Adam majewski10
3 Adelphious11
1 AdhillA9712
1 Adouglass13
1 Adrianwn14
46 Adrignola15
1 Aeonblue15816
1 Ah3kal17
1 Ajmath6218
1 Akim Demaille19
1 AlanBarrett20
2 Alansandiego21

1 https://en.wikibooks.org/wiki/User:2147483647
2 https://en.wikibooks.org/wiki/User:3mta3
3 https://en.wikibooks.org/wiki/User:ABCD
4 https://en.wikibooks.org/w/index.php%3ftitle=User:ATC2~enwikibooks&action=edit&redlink=1
5 https://en.wikibooks.org/w/index.php%3ftitle=User:Aadornellesf&action=edit&redlink=1
6 https://en.wikibooks.org/w/index.php%3ftitle=User:Abalenkm&action=edit&redlink=1
7 https://en.wikibooks.org/w/index.php%3ftitle=User:Abonnema&action=edit&redlink=1
8 https://en.wikibooks.org/w/index.php%3ftitle=User:Abramsky&action=edit&redlink=1
9 https://en.wikibooks.org/w/index.php%3ftitle=User:Abustany&action=edit&redlink=1
10 https://en.wikibooks.org/wiki/User:Adam_majewski
11 https://en.wikibooks.org/w/index.php%3ftitle=User:Adelphious&action=edit&redlink=1
12 https://en.wikibooks.org/w/index.php%3ftitle=User:AdhillA97&action=edit&redlink=1
13 https://en.wikibooks.org/w/index.php%3ftitle=User:Adouglass&action=edit&redlink=1
14 https://en.wikibooks.org/w/index.php%3ftitle=User:Adrianwn&action=edit&redlink=1
15 https://en.wikibooks.org/wiki/User:Adrignola
16 https://en.wikibooks.org/w/index.php%3ftitle=User:Aeonblue158&action=edit&redlink=1
17 https://en.wikibooks.org/wiki/User:Ah3kal
18 https://en.wikibooks.org/w/index.php%3ftitle=User:Ajmath62&action=edit&redlink=1
19 https://en.wikibooks.org/w/index.php%3ftitle=User:Akim_Demaille&action=edit&redlink=1
20 https://en.wikibooks.org/wiki/User:AlanBarrett
21 https://en.wikibooks.org/w/index.php%3ftitle=User:Alansandiego&action=edit&redlink=1

685
Contributors

121 Alejo208322
3 AllenZh23
9 Alzahrawi24
1 Amamory25
998 Ambrevar26
1 Anamma0627
2 Anarchyboy28
1 Anareth29
2 AndreKR30
1 Andrea09falco31
6 Andyr˜enwikibooks32
1 Angus33
5 Ans34
2 Anthony Deschamps35
2 Anubhab9136
1 Arbitrarily037
3 Arided38
25 Arnehe39
1 Artemisfowl3rd40
4 Arthurchy41
1 Arthurvogel42
1 Arunib43
1 Asmeurer44
2 AsphyxiateDrake45
1 Astrophizz˜enwikibooks46

22 https://en.wikibooks.org/wiki/User:Alejo2083
23 https://en.wikibooks.org/wiki/User:AllenZh
24 https://en.wikibooks.org/w/index.php%3ftitle=User:Alzahrawi&action=edit&redlink=1
25 https://en.wikibooks.org/w/index.php%3ftitle=User:Amamory&action=edit&redlink=1
26 https://en.wikibooks.org/wiki/User:Ambrevar
27 https://en.wikibooks.org/w/index.php%3ftitle=User:Anamma06&action=edit&redlink=1
28 https://en.wikibooks.org/w/index.php%3ftitle=User:Anarchyboy&action=edit&redlink=1
29 https://en.wikibooks.org/w/index.php%3ftitle=User:Anareth&action=edit&redlink=1
30 https://en.wikibooks.org/w/index.php%3ftitle=User:AndreKR&action=edit&redlink=1
31 https://en.wikibooks.org/w/index.php%3ftitle=User:Andrea09falco&action=edit&redlink=1
32 https://en.wikibooks.org/w/index.php%3ftitle=User:Andyr~enwikibooks&action=edit&redlink=1
33 https://en.wikibooks.org/wiki/User:Angus
34 https://en.wikibooks.org/wiki/User:Ans
35 https://en.wikibooks.org/w/index.php%3ftitle=User:Anthony_Deschamps&action=edit&redlink=1
36 https://en.wikibooks.org/wiki/User:Anubhab91
37 https://en.wikibooks.org/wiki/User:Arbitrarily0
38 https://en.wikibooks.org/wiki/User:Arided
39 https://en.wikibooks.org/wiki/User:Arnehe
40 https://en.wikibooks.org/w/index.php%3ftitle=User:Artemisfowl3rd&action=edit&redlink=1
41 https://en.wikibooks.org/w/index.php%3ftitle=User:Arthurchy&action=edit&redlink=1
42 https://en.wikibooks.org/wiki/User:Arthurvogel
43 https://en.wikibooks.org/wiki/User:Arunib
44 https://en.wikibooks.org/w/index.php%3ftitle=User:Asmeurer&action=edit&redlink=1
45 https://en.wikibooks.org/w/index.php%3ftitle=User:AsphyxiateDrake&action=edit&redlink=1
46 https://en.wikibooks.org/w/index.php%3ftitle=User:Astrophizz~enwikibooks&action=edit&redlink=1

686
V

1 Atallcostsky47
5 Atcovi48
2 AthanasiusOfAlex49
1 Atiq ur Rehman50
1 Atulya198851
1 Austinmohr52
13 Avila.gas53
4 Az156854
2 BYIST55
1 Bajrangkhichi9656
1 Bakken57
1 Bamgooly58
1 Bamgooly˜enwikibooks59
4 Basenga60
3 BbcNkl61
1 Bcmpinc62
1 Belteshazzar63
1 Ben924364
2 Benjaminevans82˜enwikibooks65
1 Benregn66
1 Benson Muite67
2 Berettag68
2 Bgeron69
1 Bhanuvrat70
26 BiT71

47 https://en.wikibooks.org/wiki/User:Atallcostsky
48 https://en.wikibooks.org/wiki/User:Atcovi
49 https://en.wikibooks.org/w/index.php%3ftitle=User:AthanasiusOfAlex&action=edit&redlink=1
50 https://en.wikibooks.org/wiki/User:Atiq_ur_Rehman
51 https://en.wikibooks.org/w/index.php%3ftitle=User:Atulya1988&action=edit&redlink=1
52 https://en.wikibooks.org/w/index.php%3ftitle=User:Austinmohr&action=edit&redlink=1
53 https://en.wikibooks.org/w/index.php%3ftitle=User:Avila.gas&action=edit&redlink=1
54 https://en.wikibooks.org/wiki/User:Az1568
55 https://en.wikibooks.org/w/index.php%3ftitle=User:BYIST&action=edit&redlink=1
56 https://en.wikibooks.org/w/index.php%3ftitle=User:Bajrangkhichi96&action=edit&redlink=1
57 https://en.wikibooks.org/w/index.php%3ftitle=User:Bakken&action=edit&redlink=1
58 https://en.wikibooks.org/w/index.php%3ftitle=User:Bamgooly&action=edit&redlink=1
59 https://en.wikibooks.org/w/index.php%3ftitle=User:Bamgooly~enwikibooks&action=edit&redlink=1
60 https://en.wikibooks.org/wiki/User:Basenga
61 https://en.wikibooks.org/w/index.php%3ftitle=User:BbcNkl&action=edit&redlink=1
62 https://en.wikibooks.org/w/index.php%3ftitle=User:Bcmpinc&action=edit&redlink=1
63 https://en.wikibooks.org/w/index.php%3ftitle=User:Belteshazzar&action=edit&redlink=1
64 https://en.wikibooks.org/w/index.php%3ftitle=User:Ben9243&action=edit&redlink=1
65 https://en.wikibooks.org/wiki/User:Benjaminevans82~enwikibooks
66 https://en.wikibooks.org/w/index.php%3ftitle=User:Benregn&action=edit&redlink=1
67 https://en.wikibooks.org/wiki/User:Benson_Muite
68 https://en.wikibooks.org/w/index.php%3ftitle=User:Berettag&action=edit&redlink=1
69 https://en.wikibooks.org/w/index.php%3ftitle=User:Bgeron&action=edit&redlink=1
70 https://en.wikibooks.org/w/index.php%3ftitle=User:Bhanuvrat&action=edit&redlink=1
71 https://en.wikibooks.org/wiki/User:BiT

687
Contributors

1 Bianbum72
1 Bibi673
1 Bigwyrm˜enwikibooks74
2 Bilbo150775
1 Billy the Goat II76
2 BlackMagic194377
1 Blacktrumpeter78
4 Blaisorblade79
1 Bombcar80
3 Bonuama81
1 Borgg82
1 Born2bgratis83
1 Bpsullivan˜enwikibooks84
1 Braindrain000085
1 Brammers86
1 Brendanarnold87
1 BrettMontgomery88
1 Brevity89
1 Briancricks90
5 Bro491
1 Bryant141092
1 Bsander˜enwikibooks93
8 Bumbulski94
1 Bunyk95
1 BwDraco96

72 https://en.wikibooks.org/w/index.php%3ftitle=User:Bianbum&action=edit&redlink=1
73 https://en.wikibooks.org/w/index.php%3ftitle=User:Bibi6&action=edit&redlink=1
74 https://en.wikibooks.org/w/index.php%3ftitle=User:Bigwyrm~enwikibooks&action=edit&redlink=1
75 https://en.wikibooks.org/w/index.php%3ftitle=User:Bilbo1507&action=edit&redlink=1
76 https://en.wikibooks.org/w/index.php%3ftitle=User:Billy_the_Goat_II&action=edit&redlink=1
77 https://en.wikibooks.org/w/index.php%3ftitle=User:BlackMagic1943&action=edit&redlink=1
78 https://en.wikibooks.org/w/index.php%3ftitle=User:Blacktrumpeter&action=edit&redlink=1
79 https://en.wikibooks.org/w/index.php%3ftitle=User:Blaisorblade&action=edit&redlink=1
80 https://en.wikibooks.org/w/index.php%3ftitle=User:Bombcar&action=edit&redlink=1
81 https://en.wikibooks.org/w/index.php%3ftitle=User:Bonuama&action=edit&redlink=1
82 https://en.wikibooks.org/w/index.php%3ftitle=User:Borgg&action=edit&redlink=1
83 https://en.wikibooks.org/wiki/User:Born2bgratis
84 https://en.wikibooks.org/w/index.php%3ftitle=User:Bpsullivan~enwikibooks&action=edit&redlink=1
85 https://en.wikibooks.org/w/index.php%3ftitle=User:Braindrain0000&action=edit&redlink=1
86 https://en.wikibooks.org/wiki/User:Brammers
87 https://en.wikibooks.org/w/index.php%3ftitle=User:Brendanarnold&action=edit&redlink=1
88 https://en.wikibooks.org/w/index.php%3ftitle=User:BrettMontgomery&action=edit&redlink=1
89 https://en.wikibooks.org/w/index.php%3ftitle=User:Brevity&action=edit&redlink=1
90 https://en.wikibooks.org/w/index.php%3ftitle=User:Briancricks&action=edit&redlink=1
91 https://en.wikibooks.org/w/index.php%3ftitle=User:Bro4&action=edit&redlink=1
92 https://en.wikibooks.org/w/index.php%3ftitle=User:Bryant1410&action=edit&redlink=1
93 https://en.wikibooks.org/w/index.php%3ftitle=User:Bsander~enwikibooks&action=edit&redlink=1
94 https://en.wikibooks.org/wiki/User:Bumbulski
95 https://en.wikibooks.org/w/index.php%3ftitle=User:Bunyk&action=edit&redlink=1
96 https://en.wikibooks.org/w/index.php%3ftitle=User:BwDraco&action=edit&redlink=1

688
V

1 Byassine5297
1 Bytecrook98
1 C3l99
7 CD-Stevens100
1 Caesura101
1 Calimo102
1 CallumPoole103
5 Cameronc104
3 Cameronc˜enwikibooks105
1 Canageek106
2 CarsracBot107
1 Cdecoro108
3 Cengique109
5 Cerniagigante110
1 Cfailde˜enwikibooks111
1 Ch605852112
1 Chafe66113
2 Chaojoker114
6 Chazz115
1 Chbarts116
2 Chisophugis117
142 ChrisHodgesUK118
1 ChristianGruen119
1 Chuaprap120
1 Chuckhoffmann121

97 https://en.wikibooks.org/w/index.php%3ftitle=User:Byassine52&action=edit&redlink=1
98 https://en.wikibooks.org/w/index.php%3ftitle=User:Bytecrook&action=edit&redlink=1
99 https://en.wikibooks.org/w/index.php%3ftitle=User:C3l&action=edit&redlink=1
100 https://en.wikibooks.org/w/index.php%3ftitle=User:CD-Stevens&action=edit&redlink=1
101 https://en.wikibooks.org/w/index.php%3ftitle=User:Caesura&action=edit&redlink=1
102 https://en.wikibooks.org/wiki/User:Calimo
103 https://en.wikibooks.org/wiki/User:CallumPoole
104 https://en.wikibooks.org/w/index.php%3ftitle=User:Cameronc&action=edit&redlink=1
105 https://en.wikibooks.org/w/index.php%3ftitle=User:Cameronc~enwikibooks&action=edit&redlink=1
106 https://en.wikibooks.org/w/index.php%3ftitle=User:Canageek&action=edit&redlink=1
107 https://en.wikibooks.org/wiki/User:CarsracBot
108 https://en.wikibooks.org/w/index.php%3ftitle=User:Cdecoro&action=edit&redlink=1
109 https://en.wikibooks.org/w/index.php%3ftitle=User:Cengique&action=edit&redlink=1
110 https://en.wikibooks.org/wiki/User:Cerniagigante
111 https://en.wikibooks.org/w/index.php%3ftitle=User:Cfailde~enwikibooks&action=edit&redlink=1
112 https://en.wikibooks.org/w/index.php%3ftitle=User:Ch605852&action=edit&redlink=1
113 https://en.wikibooks.org/w/index.php%3ftitle=User:Chafe66&action=edit&redlink=1
114 https://en.wikibooks.org/wiki/User:Chaojoker
115 https://en.wikibooks.org/wiki/User:Chazz
116 https://en.wikibooks.org/w/index.php%3ftitle=User:Chbarts&action=edit&redlink=1
117 https://en.wikibooks.org/w/index.php%3ftitle=User:Chisophugis&action=edit&redlink=1
118 https://en.wikibooks.org/wiki/User:ChrisHodgesUK
119 https://en.wikibooks.org/w/index.php%3ftitle=User:ChristianGruen&action=edit&redlink=1
120 https://en.wikibooks.org/w/index.php%3ftitle=User:Chuaprap&action=edit&redlink=1
121 https://en.wikibooks.org/wiki/User:Chuckhoffmann

689
Contributors

2 Clapsus122
1 Clebell123
1 Codairem124
1 ColeLoki125
1 Collinpark126
1 Colonel486127
1 Columbus240128
4 CommonsDelinker129
1 Comput2h130
2 Computermacgyver131
5 ConditionalZenith˜enwikibooks132
1 Conighion133
2 Conrad.Irwin134
1 Constantine135
1 Control.valve136
1 Courcelles137
2 CptGeek138
1 Crabpot8139
1 Crasic˜enwikibooks140
1 Crasshopper141
2 CrazyTerabyte142
10 Crissov143
1 CtrlAltCarrot144
2 Cícero145
1 DagErlingSmørgrav146

122 https://en.wikibooks.org/wiki/User:Clapsus
123 https://en.wikibooks.org/wiki/User:Clebell
124 https://en.wikibooks.org/w/index.php%3ftitle=User:Codairem&action=edit&redlink=1
125 https://en.wikibooks.org/w/index.php%3ftitle=User:ColeLoki&action=edit&redlink=1
126 https://en.wikibooks.org/w/index.php%3ftitle=User:Collinpark&action=edit&redlink=1
127 https://en.wikibooks.org/w/index.php%3ftitle=User:Colonel486&action=edit&redlink=1
128 https://en.wikibooks.org/wiki/User:Columbus240
129 https://en.wikibooks.org/wiki/User:CommonsDelinker
130 https://en.wikibooks.org/w/index.php%3ftitle=User:Comput2h&action=edit&redlink=1
131 https://en.wikibooks.org/wiki/User:Computermacgyver
132 https://en.wikibooks.org/w/index.php%3ftitle=User:ConditionalZenith~enwikibooks&action=edit&redlink=1
133 https://en.wikibooks.org/w/index.php%3ftitle=User:Conighion&action=edit&redlink=1
134 https://en.wikibooks.org/wiki/User:Conrad.Irwin
135 https://en.wikibooks.org/w/index.php%3ftitle=User:Constantine&action=edit&redlink=1
136 https://en.wikibooks.org/w/index.php%3ftitle=User:Control.valve&action=edit&redlink=1
137 https://en.wikibooks.org/wiki/User:Courcelles
138 https://en.wikibooks.org/w/index.php%3ftitle=User:CptGeek&action=edit&redlink=1
139 https://en.wikibooks.org/w/index.php%3ftitle=User:Crabpot8&action=edit&redlink=1
140 https://en.wikibooks.org/w/index.php%3ftitle=User:Crasic~enwikibooks&action=edit&redlink=1
141 https://en.wikibooks.org/wiki/User:Crasshopper
142 https://en.wikibooks.org/w/index.php%3ftitle=User:CrazyTerabyte&action=edit&redlink=1
143 https://en.wikibooks.org/w/index.php%3ftitle=User:Crissov&action=edit&redlink=1
144 https://en.wikibooks.org/w/index.php%3ftitle=User:CtrlAltCarrot&action=edit&redlink=1
145 https://en.wikibooks.org/wiki/User:C%25C3%25ADcero
146 https://en.wikibooks.org/w/index.php%3ftitle=User:DagErlingSm%25C3%25B8rgrav&action=edit&redlink=1

690
V

77 Dan Polansky147
1 Daniel Mietchen148
1 Danielstrong52149
1 Danroa150
1 DarkSheep151
1 Darklama152
1 Daveturnr153
1 David Gaudet154
1 David Ollodart155
1 David.s.hollman156
5 DavidMcKenzie157
1 Daviewales158
1 Debejyo159
2 Defender160
1 Deltasun161
1 Dendik162
102 Derbeth163
1 Derwaldrandfoerster164
1 Dieguico165
6 Dilaudid166
1 Dingens5167
3 Diomidis Spinellis168
143 Dirk Hünniger169
2 Dlituiev170
3 Dmb171

147 https://en.wikibooks.org/wiki/User:Dan_Polansky
148 https://en.wikibooks.org/wiki/User:Daniel_Mietchen
149 https://en.wikibooks.org/w/index.php%3ftitle=User:Danielstrong52&action=edit&redlink=1
150 https://en.wikibooks.org/w/index.php%3ftitle=User:Danroa&action=edit&redlink=1
151 https://en.wikibooks.org/w/index.php%3ftitle=User:DarkSheep&action=edit&redlink=1
152 https://en.wikibooks.org/wiki/User:Darklama
153 https://en.wikibooks.org/w/index.php%3ftitle=User:Daveturnr&action=edit&redlink=1
154 https://en.wikibooks.org/w/index.php%3ftitle=User:David_Gaudet&action=edit&redlink=1
155 https://en.wikibooks.org/w/index.php%3ftitle=User:David_Ollodart&action=edit&redlink=1
156 https://en.wikibooks.org/wiki/User:David.s.hollman
157 https://en.wikibooks.org/wiki/User:DavidMcKenzie
158 https://en.wikibooks.org/w/index.php%3ftitle=User:Daviewales&action=edit&redlink=1
159 https://en.wikibooks.org/w/index.php%3ftitle=User:Debejyo&action=edit&redlink=1
160 https://en.wikibooks.org/wiki/User:Defender
161 https://en.wikibooks.org/w/index.php%3ftitle=User:Deltasun&action=edit&redlink=1
162 https://en.wikibooks.org/w/index.php%3ftitle=User:Dendik&action=edit&redlink=1
163 https://en.wikibooks.org/wiki/User:Derbeth
164 https://en.wikibooks.org/w/index.php%3ftitle=User:Derwaldrandfoerster&action=edit&redlink=1
165 https://en.wikibooks.org/w/index.php%3ftitle=User:Dieguico&action=edit&redlink=1
166 https://en.wikibooks.org/wiki/User:Dilaudid
167 https://en.wikibooks.org/w/index.php%3ftitle=User:Dingens5&action=edit&redlink=1
168 https://en.wikibooks.org/wiki/User:Diomidis_Spinellis
169 https://en.wikibooks.org/wiki/User:Dirk_H%25C3%25BCnniger
170 https://en.wikibooks.org/wiki/User:Dlituiev
171 https://en.wikibooks.org/wiki/User:Dmb

691
Contributors

2 DmitriyZotikov172
3 Dncarley173
11 DoVlaNik993174
10 Doking23175
4 Donok11176
12 Dplaza000177
1 Dporter178
1 Dr0pi179
1 DrSarah Calumet180
2 DrTobbe181
5 Drasquared182
3 Dreaven3183
12 Dredmorbius184
7 Drevicko185
3 Drewbie186
1 Dubbaluga˜enwikibooks187
3 E.lewis1188
1 Echeban189
13 Ediahist190
1 Edudobay191
1 Efex3192
1 Einjohn193
3 Elliptic1194
1 Elwikipedista˜enwikibooks195
1 Empirical bayesian196

172 https://en.wikibooks.org/wiki/User:DmitriyZotikov
173 https://en.wikibooks.org/w/index.php%3ftitle=User:Dncarley&action=edit&redlink=1
174 https://en.wikibooks.org/w/index.php%3ftitle=User:DoVlaNik993&action=edit&redlink=1
175 https://en.wikibooks.org/w/index.php%3ftitle=User:Doking23&action=edit&redlink=1
176 https://en.wikibooks.org/w/index.php%3ftitle=User:Donok11&action=edit&redlink=1
177 https://en.wikibooks.org/w/index.php%3ftitle=User:Dplaza000&action=edit&redlink=1
178 https://en.wikibooks.org/w/index.php%3ftitle=User:Dporter&action=edit&redlink=1
179 https://en.wikibooks.org/w/index.php%3ftitle=User:Dr0pi&action=edit&redlink=1
180 https://en.wikibooks.org/w/index.php%3ftitle=User:DrSarah_Calumet&action=edit&redlink=1
181 https://en.wikibooks.org/w/index.php%3ftitle=User:DrTobbe&action=edit&redlink=1
182 https://en.wikibooks.org/w/index.php%3ftitle=User:Drasquared&action=edit&redlink=1
183 https://en.wikibooks.org/w/index.php%3ftitle=User:Dreaven3&action=edit&redlink=1
184 https://en.wikibooks.org/w/index.php%3ftitle=User:Dredmorbius&action=edit&redlink=1
185 https://en.wikibooks.org/w/index.php%3ftitle=User:Drevicko&action=edit&redlink=1
186 https://en.wikibooks.org/wiki/User:Drewbie
187 https://en.wikibooks.org/w/index.php%3ftitle=User:Dubbaluga~enwikibooks&action=edit&redlink=1
188 https://en.wikibooks.org/w/index.php%3ftitle=User:E.lewis1&action=edit&redlink=1
189 https://en.wikibooks.org/w/index.php%3ftitle=User:Echeban&action=edit&redlink=1
190 https://en.wikibooks.org/w/index.php%3ftitle=User:Ediahist&action=edit&redlink=1
191 https://en.wikibooks.org/wiki/User:Edudobay
192 https://en.wikibooks.org/wiki/User:Efex3
193 https://en.wikibooks.org/w/index.php%3ftitle=User:Einjohn&action=edit&redlink=1
194 https://en.wikibooks.org/w/index.php%3ftitle=User:Elliptic1&action=edit&redlink=1
195 https://en.wikibooks.org/w/index.php%3ftitle=User:Elwikipedista~enwikibooks&action=edit&redlink=1
196 https://en.wikibooks.org/w/index.php%3ftitle=User:Empirical_bayesian&action=edit&redlink=1

692
V

1 Emreg00197
1 Epic Wink198
1 ErickChacon199
1 Erp200
16 Erylaos201
3 Escalator˜enwikibooks202
1 Eselmeister203
2 Espinozahg204
1 Ethefor205
1 Etoombs206
1 Eudoxos˜enwikibooks207
2 EvanKroske208
1 Evin˜enwikibooks209
5 Eyliu˜enwikibooks210
1 Felipecarres211
3 Ffangs212
1 Ffavela213
2 Filip Dominec214
1 Fishix215
2 Fishpi216
1 Flal217
1 Flamenco108218
1 FlashSheridan219
1 Flip220
1 Fmccown221

197 https://en.wikibooks.org/w/index.php%3ftitle=User:Emreg00&action=edit&redlink=1
198 https://en.wikibooks.org/w/index.php%3ftitle=User:Epic_Wink&action=edit&redlink=1
199 https://en.wikibooks.org/w/index.php%3ftitle=User:ErickChacon&action=edit&redlink=1
200 https://en.wikibooks.org/w/index.php%3ftitle=User:Erp&action=edit&redlink=1
201 https://en.wikibooks.org/w/index.php%3ftitle=User:Erylaos&action=edit&redlink=1
202 https://en.wikibooks.org/w/index.php%3ftitle=User:Escalator~enwikibooks&action=edit&redlink=1
203 https://en.wikibooks.org/w/index.php%3ftitle=User:Eselmeister&action=edit&redlink=1
204 https://en.wikibooks.org/w/index.php%3ftitle=User:Espinozahg&action=edit&redlink=1
205 https://en.wikibooks.org/wiki/User:Ethefor
206 https://en.wikibooks.org/w/index.php%3ftitle=User:Etoombs&action=edit&redlink=1
207 https://en.wikibooks.org/w/index.php%3ftitle=User:Eudoxos~enwikibooks&action=edit&redlink=1
208 https://en.wikibooks.org/w/index.php%3ftitle=User:EvanKroske&action=edit&redlink=1
209 https://en.wikibooks.org/w/index.php%3ftitle=User:Evin~enwikibooks&action=edit&redlink=1
210 https://en.wikibooks.org/w/index.php%3ftitle=User:Eyliu~enwikibooks&action=edit&redlink=1
211 https://en.wikibooks.org/w/index.php%3ftitle=User:Felipecarres&action=edit&redlink=1
212 https://en.wikibooks.org/w/index.php%3ftitle=User:Ffangs&action=edit&redlink=1
213 https://en.wikibooks.org/w/index.php%3ftitle=User:Ffavela&action=edit&redlink=1
214 https://en.wikibooks.org/wiki/User:Filip_Dominec
215 https://en.wikibooks.org/w/index.php%3ftitle=User:Fishix&action=edit&redlink=1
216 https://en.wikibooks.org/w/index.php%3ftitle=User:Fishpi&action=edit&redlink=1
217 https://en.wikibooks.org/w/index.php%3ftitle=User:Flal&action=edit&redlink=1
218 https://en.wikibooks.org/wiki/User:Flamenco108
219 https://en.wikibooks.org/w/index.php%3ftitle=User:FlashSheridan&action=edit&redlink=1
220 https://en.wikibooks.org/w/index.php%3ftitle=User:Flip&action=edit&redlink=1
221 https://en.wikibooks.org/wiki/User:Fmccown

693
Contributors

1 Frakturfreund222
2 Franklin Yu223
2 FranklyMyDear...224
6 Franzl aus tirol225
1 Frap226
1 Fredmaranhao227
1 FredrikMeyer228
1 Froskoy229
1 Fsart230
1 Ftravers231
1 Funkenstern232
1 GPHemsley233
1 Gallen01234
1 Garfl235
1 Garoth˜enwikibooks236
1 GavinMcGimpsey237
3 Geetha nitc238
2 Gelbukh239
1 Geminatea˜enwikibooks240
1 Genethecist241
1 Germanzs242
1 Ghostofkendo243
6 Ghoti244
1 Gibravo245
1 Gillespie09246

222 https://en.wikibooks.org/w/index.php%3ftitle=User:Frakturfreund&action=edit&redlink=1
223 https://en.wikibooks.org/wiki/User:Franklin_Yu
224 https://en.wikibooks.org/w/index.php%3ftitle=User:FranklyMyDear...&action=edit&redlink=1
225 https://en.wikibooks.org/w/index.php%3ftitle=User:Franzl_aus_tirol&action=edit&redlink=1
226 https://en.wikibooks.org/w/index.php%3ftitle=User:Frap&action=edit&redlink=1
227 https://en.wikibooks.org/w/index.php%3ftitle=User:Fredmaranhao&action=edit&redlink=1
228 https://en.wikibooks.org/w/index.php%3ftitle=User:FredrikMeyer&action=edit&redlink=1
229 https://en.wikibooks.org/w/index.php%3ftitle=User:Froskoy&action=edit&redlink=1
230 https://en.wikibooks.org/w/index.php%3ftitle=User:Fsart&action=edit&redlink=1
231 https://en.wikibooks.org/w/index.php%3ftitle=User:Ftravers&action=edit&redlink=1
232 https://en.wikibooks.org/w/index.php%3ftitle=User:Funkenstern&action=edit&redlink=1
233 https://en.wikibooks.org/wiki/User:GPHemsley
234 https://en.wikibooks.org/w/index.php%3ftitle=User:Gallen01&action=edit&redlink=1
235 https://en.wikibooks.org/w/index.php%3ftitle=User:Garfl&action=edit&redlink=1
236 https://en.wikibooks.org/w/index.php%3ftitle=User:Garoth~enwikibooks&action=edit&redlink=1
237 https://en.wikibooks.org/wiki/User:GavinMcGimpsey
238 https://en.wikibooks.org/w/index.php%3ftitle=User:Geetha_nitc&action=edit&redlink=1
239 https://en.wikibooks.org/w/index.php%3ftitle=User:Gelbukh&action=edit&redlink=1
240 https://en.wikibooks.org/w/index.php%3ftitle=User:Geminatea~enwikibooks&action=edit&redlink=1
241 https://en.wikibooks.org/w/index.php%3ftitle=User:Genethecist&action=edit&redlink=1
242 https://en.wikibooks.org/w/index.php%3ftitle=User:Germanzs&action=edit&redlink=1
243 https://en.wikibooks.org/w/index.php%3ftitle=User:Ghostofkendo&action=edit&redlink=1
244 https://en.wikibooks.org/w/index.php%3ftitle=User:Ghoti&action=edit&redlink=1
245 https://en.wikibooks.org/w/index.php%3ftitle=User:Gibravo&action=edit&redlink=1
246 https://en.wikibooks.org/w/index.php%3ftitle=User:Gillespie09&action=edit&redlink=1

694
V

4 Gkc˜enwikibooks247
1 Gladiool248
1 Glad˜enwikibooks249
3 Glosser.ca250
3 Gmacar251
1 Gmh04˜enwikibooks252
7 Gms253
1 Go.pbam.254
1 Goldkatze255
1 GorillaWarfare256
1 Graemeg˜enwikibooks257
1 Graf Westerholt258
1 Greenbreen259
1 Grenouille˜enwikibooks260
1 Grj23261
2 Gronau˜enwikibooks262
2 Gryllida263
1 Guyrobbie264
2 Guzo265
1 Gwpl266
1 Gyro Copter267
1 Götz268
1 Habil zare269
1 Hagindaz270
5 Halilsen271

247 https://en.wikibooks.org/w/index.php%3ftitle=User:Gkc~enwikibooks&action=edit&redlink=1
248 https://en.wikibooks.org/w/index.php%3ftitle=User:Gladiool&action=edit&redlink=1
249 https://en.wikibooks.org/w/index.php%3ftitle=User:Glad~enwikibooks&action=edit&redlink=1
250 https://en.wikibooks.org/w/index.php%3ftitle=User:Glosser.ca&action=edit&redlink=1
251 https://en.wikibooks.org/w/index.php%3ftitle=User:Gmacar&action=edit&redlink=1
252 https://en.wikibooks.org/w/index.php%3ftitle=User:Gmh04~enwikibooks&action=edit&redlink=1
253 https://en.wikibooks.org/w/index.php%3ftitle=User:Gms&action=edit&redlink=1
254 https://en.wikibooks.org/w/index.php%3ftitle=User:Go.pbam.&action=edit&redlink=1
255 https://en.wikibooks.org/w/index.php%3ftitle=User:Goldkatze&action=edit&redlink=1
256 https://en.wikibooks.org/wiki/User:GorillaWarfare
257 https://en.wikibooks.org/w/index.php%3ftitle=User:Graemeg~enwikibooks&action=edit&redlink=1
258 https://en.wikibooks.org/w/index.php%3ftitle=User:Graf_Westerholt&action=edit&redlink=1
259 https://en.wikibooks.org/wiki/User:Greenbreen
260 https://en.wikibooks.org/w/index.php%3ftitle=User:Grenouille~enwikibooks&action=edit&redlink=1
261 https://en.wikibooks.org/w/index.php%3ftitle=User:Grj23&action=edit&redlink=1
262 https://en.wikibooks.org/wiki/User:Gronau~enwikibooks
263 https://en.wikibooks.org/wiki/User:Gryllida
264 https://en.wikibooks.org/w/index.php%3ftitle=User:Guyrobbie&action=edit&redlink=1
265 https://en.wikibooks.org/w/index.php%3ftitle=User:Guzo&action=edit&redlink=1
266 https://en.wikibooks.org/w/index.php%3ftitle=User:Gwpl&action=edit&redlink=1
267 https://en.wikibooks.org/w/index.php%3ftitle=User:Gyro_Copter&action=edit&redlink=1
268 https://en.wikibooks.org/w/index.php%3ftitle=User:G%25C3%25B6tz&action=edit&redlink=1
269 https://en.wikibooks.org/w/index.php%3ftitle=User:Habil_zare&action=edit&redlink=1
270 https://en.wikibooks.org/wiki/User:Hagindaz
271 https://en.wikibooks.org/w/index.php%3ftitle=User:Halilsen&action=edit&redlink=1

695
Contributors

7 Hankjones272
1 Hankwang273
1 Hannes Röst274
1 HansCronau275
2 Hansfn276
5 Hapli277
3 Harish victory278
1 Harp279
3 Harrikoo280
1 Harrywt281
1 Hdankowski282
4 He7d3r283
1 Hello71284
5 Helptry285
1 Hendiadyon286
1 Henridv287
2 HenrikMidtiby˜enwikibooks288
4 Henry Tallboys289
5 Henrybissonnette290
1 Herbythyme291
2 Hermine potter292
1 Hippasus293
1 Hjsb294
1 Hokiehead˜enwikibooks295
1 Honza889296

272 https://en.wikibooks.org/w/index.php%3ftitle=User:Hankjones&action=edit&redlink=1
273 https://en.wikibooks.org/wiki/User:Hankwang
274 https://en.wikibooks.org/wiki/User:Hannes_R%25C3%25B6st
275 https://en.wikibooks.org/w/index.php%3ftitle=User:HansCronau&action=edit&redlink=1
276 https://en.wikibooks.org/w/index.php%3ftitle=User:Hansfn&action=edit&redlink=1
277 https://en.wikibooks.org/w/index.php%3ftitle=User:Hapli&action=edit&redlink=1
278 https://en.wikibooks.org/w/index.php%3ftitle=User:Harish_victory&action=edit&redlink=1
279 https://en.wikibooks.org/wiki/User:Harp
280 https://en.wikibooks.org/w/index.php%3ftitle=User:Harrikoo&action=edit&redlink=1
281 https://en.wikibooks.org/w/index.php%3ftitle=User:Harrywt&action=edit&redlink=1
282 https://en.wikibooks.org/w/index.php%3ftitle=User:Hdankowski&action=edit&redlink=1
283 https://en.wikibooks.org/wiki/User:He7d3r
284 https://en.wikibooks.org/w/index.php%3ftitle=User:Hello71&action=edit&redlink=1
285 https://en.wikibooks.org/w/index.php%3ftitle=User:Helptry&action=edit&redlink=1
286 https://en.wikibooks.org/w/index.php%3ftitle=User:Hendiadyon&action=edit&redlink=1
287 https://en.wikibooks.org/w/index.php%3ftitle=User:Henridv&action=edit&redlink=1
288 https://en.wikibooks.org/w/index.php%3ftitle=User:HenrikMidtiby~enwikibooks&action=edit&redlink=1
289 https://en.wikibooks.org/wiki/User:Henry_Tallboys
290 https://en.wikibooks.org/w/index.php%3ftitle=User:Henrybissonnette&action=edit&redlink=1
291 https://en.wikibooks.org/wiki/User:Herbythyme
292 https://en.wikibooks.org/w/index.php%3ftitle=User:Hermine_potter&action=edit&redlink=1
293 https://en.wikibooks.org/w/index.php%3ftitle=User:Hippasus&action=edit&redlink=1
294 https://en.wikibooks.org/w/index.php%3ftitle=User:Hjsb&action=edit&redlink=1
295 https://en.wikibooks.org/w/index.php%3ftitle=User:Hokiehead~enwikibooks&action=edit&redlink=1
296 https://en.wikibooks.org/w/index.php%3ftitle=User:Honza889&action=edit&redlink=1

696
V

1 Hops Splurt297
6 Hosszuka298
3 Hroobjartr299
1 Hsmyers˜enwikibooks300
1 Hulten301
1 ILubeMyCucumbers20302
1 IMneme303
1 Icc97304
26 Igjimh305
1 Immae306
2 Incognito668307
1 Inductiveload308
5 Infenwe309
3 Infinite0694310
2 Insaneinside311
5 InverseHypercube312
2 Irenas996313
1 IrfanAli314
23 Ish ishwar˜enwikibooks315
1 Itai316
4 JECompton˜enwikibooks317
5 JV˜enwikibooks318
1 JW 00000319
6 Jacho320
1 JackPotte321

297 https://en.wikibooks.org/w/index.php%3ftitle=User:Hops_Splurt&action=edit&redlink=1
298 https://en.wikibooks.org/w/index.php%3ftitle=User:Hosszuka&action=edit&redlink=1
299 https://en.wikibooks.org/w/index.php%3ftitle=User:Hroobjartr&action=edit&redlink=1
300 https://en.wikibooks.org/w/index.php%3ftitle=User:Hsmyers~enwikibooks&action=edit&redlink=1
301 https://en.wikibooks.org/w/index.php%3ftitle=User:Hulten&action=edit&redlink=1
302 https://en.wikibooks.org/wiki/User:ILubeMyCucumbers20
303 https://en.wikibooks.org/w/index.php%3ftitle=User:IMneme&action=edit&redlink=1
304 https://en.wikibooks.org/w/index.php%3ftitle=User:Icc97&action=edit&redlink=1
305 https://en.wikibooks.org/w/index.php%3ftitle=User:Igjimh&action=edit&redlink=1
306 https://en.wikibooks.org/w/index.php%3ftitle=User:Immae&action=edit&redlink=1
307 https://en.wikibooks.org/w/index.php%3ftitle=User:Incognito668&action=edit&redlink=1
308 https://en.wikibooks.org/wiki/User:Inductiveload
309 https://en.wikibooks.org/w/index.php%3ftitle=User:Infenwe&action=edit&redlink=1
310 https://en.wikibooks.org/wiki/User:Infinite0694
311 https://en.wikibooks.org/w/index.php%3ftitle=User:Insaneinside&action=edit&redlink=1
312 https://en.wikibooks.org/w/index.php%3ftitle=User:InverseHypercube&action=edit&redlink=1
313 https://en.wikibooks.org/w/index.php%3ftitle=User:Irenas996&action=edit&redlink=1
314 https://en.wikibooks.org/wiki/User:IrfanAli
315 https://en.wikibooks.org/wiki/User:Ish_ishwar~enwikibooks
316 https://en.wikibooks.org/wiki/User:Itai
317 https://en.wikibooks.org/wiki/User:JECompton~enwikibooks
318 https://en.wikibooks.org/w/index.php%3ftitle=User:JV~enwikibooks&action=edit&redlink=1
319 https://en.wikibooks.org/w/index.php%3ftitle=User:JW_00000&action=edit&redlink=1
320 https://en.wikibooks.org/w/index.php%3ftitle=User:Jacho&action=edit&redlink=1
321 https://en.wikibooks.org/wiki/User:JackPotte

697
Contributors

1 Jacobrothstein322
1 Jafeluv323
2 Jaleks324
2 Jamoroch˜enwikibooks325
1 Jan Winnicki326
9 Janltx327
1 Janskalicky328
2 Jason barrington˜enwikibooks329
1 Jasu330
1 Jayk˜enwikibooks331
1 Jbsnyder332
1 Jdgilbey333
1 Je ne détiens pas la vérité universelle334
1 Jeff G.335
2 JenVan336
1 Jer789337
2 Jerome.dequeker338
1 Jessevanassen339
3 Jevon340
5 Jflycn341
2 Jguk342
1 Jianhui67343
51 Jimbotyson344
1 Jimmaykeepsitreal345
1 Jld346

322 https://en.wikibooks.org/w/index.php%3ftitle=User:Jacobrothstein&action=edit&redlink=1
323 https://en.wikibooks.org/wiki/User:Jafeluv
324 https://en.wikibooks.org/w/index.php%3ftitle=User:Jaleks&action=edit&redlink=1
325 https://en.wikibooks.org/w/index.php%3ftitle=User:Jamoroch~enwikibooks&action=edit&redlink=1
326 https://en.wikibooks.org/w/index.php%3ftitle=User:Jan_Winnicki&action=edit&redlink=1
327 https://en.wikibooks.org/w/index.php%3ftitle=User:Janltx&action=edit&redlink=1
328 https://en.wikibooks.org/w/index.php%3ftitle=User:Janskalicky&action=edit&redlink=1
329 https://en.wikibooks.org/w/index.php%3ftitle=User:Jason_barrington~enwikibooks&action=edit&redlink=1
330 https://en.wikibooks.org/w/index.php%3ftitle=User:Jasu&action=edit&redlink=1
331 https://en.wikibooks.org/wiki/User:Jayk~enwikibooks
332 https://en.wikibooks.org/w/index.php%3ftitle=User:Jbsnyder&action=edit&redlink=1
333 https://en.wikibooks.org/wiki/User:Jdgilbey
334 https://en.wikibooks.org/w/index.php%3ftitle=User:Je_ne_d%25C3%25A9tiens_pas_la_v%25C3%25A9rit%25C3%25A9
335 https://en.wikibooks.org/wiki/User:Jeff_G.
336 https://en.wikibooks.org/w/index.php%3ftitle=User:JenVan&action=edit&redlink=1
337 https://en.wikibooks.org/w/index.php%3ftitle=User:Jer789&action=edit&redlink=1
338 https://en.wikibooks.org/w/index.php%3ftitle=User:Jerome.dequeker&action=edit&redlink=1
339 https://en.wikibooks.org/w/index.php%3ftitle=User:Jessevanassen&action=edit&redlink=1
340 https://en.wikibooks.org/wiki/User:Jevon
341 https://en.wikibooks.org/w/index.php%3ftitle=User:Jflycn&action=edit&redlink=1
342 https://en.wikibooks.org/wiki/User:Jguk
343 https://en.wikibooks.org/wiki/User:Jianhui67
344 https://en.wikibooks.org/wiki/User:Jimbotyson
345 https://en.wikibooks.org/w/index.php%3ftitle=User:Jimmaykeepsitreal&action=edit&redlink=1
346 https://en.wikibooks.org/w/index.php%3ftitle=User:Jld&action=edit&redlink=1

698
V

1 Jlrn347
3 Jluttine348
1 Jmahler1349
1 Jmcdon10350
1 Joaospam351
1 Jodi.a.schneider352
3 Joe Schmedley353
1 Joeyboi354
36 Johannes Bo355
1 John1923356
14 Jomegat357
30 Jonathan Webley358
2 JonnyJD359
1 Jotomicron360
1 Jpoosterhuis361
1 Jraregris362
1 Jstein363
26 Jtwdog˜enwikibooks364
2 Juliabackhausen365
5 Juliusross366
1 Justin W Smith367
1 Jwchong368
1 K.Nevelsteen369
1 Kamarain370
1 Karategeek6371

347 https://en.wikibooks.org/w/index.php%3ftitle=User:Jlrn&action=edit&redlink=1
348 https://en.wikibooks.org/wiki/User:Jluttine
349 https://en.wikibooks.org/w/index.php%3ftitle=User:Jmahler1&action=edit&redlink=1
350 https://en.wikibooks.org/w/index.php%3ftitle=User:Jmcdon10&action=edit&redlink=1
351 https://en.wikibooks.org/wiki/User:Joaospam
352 https://en.wikibooks.org/wiki/User:Jodi.a.schneider
353 https://en.wikibooks.org/wiki/User:Joe_Schmedley
354 https://en.wikibooks.org/w/index.php%3ftitle=User:Joeyboi&action=edit&redlink=1
355 https://en.wikibooks.org/wiki/User:Johannes_Bo
356 https://en.wikibooks.org/w/index.php%3ftitle=User:John1923&action=edit&redlink=1
357 https://en.wikibooks.org/wiki/User:Jomegat
358 https://en.wikibooks.org/wiki/User:Jonathan_Webley
359 https://en.wikibooks.org/wiki/User:JonnyJD
360 https://en.wikibooks.org/wiki/User:Jotomicron
361 https://en.wikibooks.org/w/index.php%3ftitle=User:Jpoosterhuis&action=edit&redlink=1
362 https://en.wikibooks.org/w/index.php%3ftitle=User:Jraregris&action=edit&redlink=1
363 https://en.wikibooks.org/w/index.php%3ftitle=User:Jstein&action=edit&redlink=1
364 https://en.wikibooks.org/w/index.php%3ftitle=User:Jtwdog~enwikibooks&action=edit&redlink=1
365 https://en.wikibooks.org/w/index.php%3ftitle=User:Juliabackhausen&action=edit&redlink=1
366 https://en.wikibooks.org/wiki/User:Juliusross
367 https://en.wikibooks.org/w/index.php%3ftitle=User:Justin_W_Smith&action=edit&redlink=1
368 https://en.wikibooks.org/wiki/User:Jwchong
369 https://en.wikibooks.org/w/index.php%3ftitle=User:K.Nevelsteen&action=edit&redlink=1
370 https://en.wikibooks.org/w/index.php%3ftitle=User:Kamarain&action=edit&redlink=1
371 https://en.wikibooks.org/w/index.php%3ftitle=User:Karategeek6&action=edit&redlink=1

699
Contributors

2 Karcih372
5 Karlberry373
2 Karper374
1 Karthicknainar˜enwikibooks375
1 Kayau376
7 Kazkaskazkasako377
1 Kcho378
1 Kdonavin379
4 Kejia380
1 Kenyon381
7 Keplerspeed382
1 Kernigh383
2 Kevang384
3 Kevin Ryde385
1 Kevinfiesta386
12 KlasN387
1 KlausFoehl388
1 Klusinyan389
2 Koavf390
1 Komputerwiz391
1 Konteki392
1 Kop393
13 Kovianyo394
2 Kpym395
27 Kri396

372 https://en.wikibooks.org/w/index.php%3ftitle=User:Karcih&action=edit&redlink=1
373 https://en.wikibooks.org/w/index.php%3ftitle=User:Karlberry&action=edit&redlink=1
374 https://en.wikibooks.org/w/index.php%3ftitle=User:Karper&action=edit&redlink=1
375 https://en.wikibooks.org/w/index.php%3ftitle=User:Karthicknainar~enwikibooks&action=edit&redlink=1
376 https://en.wikibooks.org/wiki/User:Kayau
377 https://en.wikibooks.org/wiki/User:Kazkaskazkasako
378 https://en.wikibooks.org/w/index.php%3ftitle=User:Kcho&action=edit&redlink=1
379 https://en.wikibooks.org/w/index.php%3ftitle=User:Kdonavin&action=edit&redlink=1
380 https://en.wikibooks.org/w/index.php%3ftitle=User:Kejia&action=edit&redlink=1
381 https://en.wikibooks.org/wiki/User:Kenyon
382 https://en.wikibooks.org/w/index.php%3ftitle=User:Keplerspeed&action=edit&redlink=1
383 https://en.wikibooks.org/wiki/User:Kernigh
384 https://en.wikibooks.org/w/index.php%3ftitle=User:Kevang&action=edit&redlink=1
385 https://en.wikibooks.org/w/index.php%3ftitle=User:Kevin_Ryde&action=edit&redlink=1
386 https://en.wikibooks.org/w/index.php%3ftitle=User:Kevinfiesta&action=edit&redlink=1
387 https://en.wikibooks.org/wiki/User:KlasN
388 https://en.wikibooks.org/w/index.php%3ftitle=User:KlausFoehl&action=edit&redlink=1
389 https://en.wikibooks.org/w/index.php%3ftitle=User:Klusinyan&action=edit&redlink=1
390 https://en.wikibooks.org/wiki/User:Koavf
391 https://en.wikibooks.org/w/index.php%3ftitle=User:Komputerwiz&action=edit&redlink=1
392 https://en.wikibooks.org/w/index.php%3ftitle=User:Konteki&action=edit&redlink=1
393 https://en.wikibooks.org/w/index.php%3ftitle=User:Kop&action=edit&redlink=1
394 https://en.wikibooks.org/w/index.php%3ftitle=User:Kovianyo&action=edit&redlink=1
395 https://en.wikibooks.org/w/index.php%3ftitle=User:Kpym&action=edit&redlink=1
396 https://en.wikibooks.org/wiki/User:Kri

700
V

1 Krischik397
5 Krishnachandranvn398
1 Krishnavedala399
3 Krisrose˜enwikibooks400
2 Kroolik401
4 Krst402
1 Kubieziel403
1 Kuer.gee404
1 Kundor405
6 Kurlovitsch406
2 Kw CUACS.TOPS407
1 Kwetal408
1 Kwpolska409
1 LQST410
4 LR˜enwikibooks411
1 LaTeX˜enwikibooks412
1 Lancioni413
1 Lanoxx414
2 Latexing415
5 Lavaka416
1 Lbailey45417
6 Leaderboard418
6 Leal26419
1 Leyo420
1 Liiiii421

397 https://en.wikibooks.org/wiki/User:Krischik
398 https://en.wikibooks.org/wiki/User:Krishnachandranvn
399 https://en.wikibooks.org/wiki/User:Krishnavedala
400 https://en.wikibooks.org/wiki/User:Krisrose~enwikibooks
401 https://en.wikibooks.org/wiki/User:Kroolik
402 https://en.wikibooks.org/w/index.php%3ftitle=User:Krst&action=edit&redlink=1
403 https://en.wikibooks.org/w/index.php%3ftitle=User:Kubieziel&action=edit&redlink=1
404 https://en.wikibooks.org/w/index.php%3ftitle=User:Kuer.gee&action=edit&redlink=1
405 https://en.wikibooks.org/w/index.php%3ftitle=User:Kundor&action=edit&redlink=1
406 https://en.wikibooks.org/w/index.php%3ftitle=User:Kurlovitsch&action=edit&redlink=1
407 https://en.wikibooks.org/w/index.php%3ftitle=User:Kw_CUACS.TOPS&action=edit&redlink=1
408 https://en.wikibooks.org/w/index.php%3ftitle=User:Kwetal&action=edit&redlink=1
409 https://en.wikibooks.org/w/index.php%3ftitle=User:Kwpolska&action=edit&redlink=1
410 https://en.wikibooks.org/w/index.php%3ftitle=User:LQST&action=edit&redlink=1
411 https://en.wikibooks.org/w/index.php%3ftitle=User:LR~enwikibooks&action=edit&redlink=1
412 https://en.wikibooks.org/wiki/User:LaTeX~enwikibooks
413 https://en.wikibooks.org/w/index.php%3ftitle=User:Lancioni&action=edit&redlink=1
414 https://en.wikibooks.org/w/index.php%3ftitle=User:Lanoxx&action=edit&redlink=1
415 https://en.wikibooks.org/w/index.php%3ftitle=User:Latexing&action=edit&redlink=1
416 https://en.wikibooks.org/wiki/User:Lavaka
417 https://en.wikibooks.org/w/index.php%3ftitle=User:Lbailey45&action=edit&redlink=1
418 https://en.wikibooks.org/w/index.php%3ftitle=User:Leaderboard&action=edit&redlink=1
419 https://en.wikibooks.org/w/index.php%3ftitle=User:Leal26&action=edit&redlink=1
420 https://en.wikibooks.org/wiki/User:Leyo
421 https://en.wikibooks.org/w/index.php%3ftitle=User:Liiiii&action=edit&redlink=1

701
Contributors

1 Limpato422
4 Lindhe94423
1 Lindhea424
1 LinuxChristian˜enwikibooks425
1 Linzhongpeng426
2 Listdata427
1 Literaturgenerator428
1 LivingShadow429
2 Liwangyan430
2 LlamaAl431
1 Lnkbuildingservices4u432
2 Lobaluna433
3 Lotus noir434
1 Louabill435
3 Louisix436
1 Lovibond437
4 Lteu438
4 Lucasreddinger439
1 MER-C440
1 MQ978441
1 MaBoehm442
3 Maartenweyn443
1 Mabdul444
1 Madskaddie445
2 MagnusPI˜enwikibooks446

422 https://en.wikibooks.org/w/index.php%3ftitle=User:Limpato&action=edit&redlink=1
423 https://en.wikibooks.org/w/index.php%3ftitle=User:Lindhe94&action=edit&redlink=1
424 https://en.wikibooks.org/w/index.php%3ftitle=User:Lindhea&action=edit&redlink=1
425 https://en.wikibooks.org/w/index.php%3ftitle=User:LinuxChristian~enwikibooks&action=edit&redlink=1
426 https://en.wikibooks.org/w/index.php%3ftitle=User:Linzhongpeng&action=edit&redlink=1
427 https://en.wikibooks.org/w/index.php%3ftitle=User:Listdata&action=edit&redlink=1
428 https://en.wikibooks.org/w/index.php%3ftitle=User:Literaturgenerator&action=edit&redlink=1
429 https://en.wikibooks.org/wiki/User:LivingShadow
430 https://en.wikibooks.org/w/index.php%3ftitle=User:Liwangyan&action=edit&redlink=1
431 https://en.wikibooks.org/wiki/User:LlamaAl
432 https://en.wikibooks.org/w/index.php%3ftitle=User:Lnkbuildingservices4u&action=edit&redlink=1
433 https://en.wikibooks.org/w/index.php%3ftitle=User:Lobaluna&action=edit&redlink=1
434 https://en.wikibooks.org/w/index.php%3ftitle=User:Lotus_noir&action=edit&redlink=1
435 https://en.wikibooks.org/w/index.php%3ftitle=User:Louabill&action=edit&redlink=1
436 https://en.wikibooks.org/w/index.php%3ftitle=User:Louisix&action=edit&redlink=1
437 https://en.wikibooks.org/w/index.php%3ftitle=User:Lovibond&action=edit&redlink=1
438 https://en.wikibooks.org/w/index.php%3ftitle=User:Lteu&action=edit&redlink=1
439 https://en.wikibooks.org/w/index.php%3ftitle=User:Lucasreddinger&action=edit&redlink=1
440 https://en.wikibooks.org/wiki/User:MER-C
441 https://en.wikibooks.org/w/index.php%3ftitle=User:MQ978&action=edit&redlink=1
442 https://en.wikibooks.org/w/index.php%3ftitle=User:MaBoehm&action=edit&redlink=1
443 https://en.wikibooks.org/w/index.php%3ftitle=User:Maartenweyn&action=edit&redlink=1
444 https://en.wikibooks.org/wiki/User:Mabdul
445 https://en.wikibooks.org/w/index.php%3ftitle=User:Madskaddie&action=edit&redlink=1
446 https://en.wikibooks.org/w/index.php%3ftitle=User:MagnusPI~enwikibooks&action=edit&redlink=1

702
V

1 Mandriver447
1 MarSraM˜enwikibooks448
1 Maratonda449
1 Marcus Cyron450
2 Mariafenrinha451
4 Marozols452
2 Marra453
1 Martin scharrer454
1 Martin von Wittich455
5 MartinSpacek456
1 Martinkunev457
2 Maschen458
2 Masterpiga459
1 Matej.korvas460
1 Mateo.longo461
2 Mathieu Perrin462
2 Maths314463
1 Matthias M.464
1 Matěj Grabovský465
1 McSaks466
1 Mckay467
19 Mcld468
1 Mdpacer469
4 Mecanismo470
1 Merciadriluca471

447 https://en.wikibooks.org/w/index.php%3ftitle=User:Mandriver&action=edit&redlink=1
448 https://en.wikibooks.org/w/index.php%3ftitle=User:MarSraM~enwikibooks&action=edit&redlink=1
449 https://en.wikibooks.org/w/index.php%3ftitle=User:Maratonda&action=edit&redlink=1
450 https://en.wikibooks.org/wiki/User:Marcus_Cyron
451 https://en.wikibooks.org/w/index.php%3ftitle=User:Mariafenrinha&action=edit&redlink=1
452 https://en.wikibooks.org/wiki/User:Marozols
453 https://en.wikibooks.org/w/index.php%3ftitle=User:Marra&action=edit&redlink=1
454 https://en.wikibooks.org/w/index.php%3ftitle=User:Martin_scharrer&action=edit&redlink=1
455 https://en.wikibooks.org/wiki/User:Martin_von_Wittich
456 https://en.wikibooks.org/w/index.php%3ftitle=User:MartinSpacek&action=edit&redlink=1
457 https://en.wikibooks.org/w/index.php%3ftitle=User:Martinkunev&action=edit&redlink=1
458 https://en.wikibooks.org/w/index.php%3ftitle=User:Maschen&action=edit&redlink=1
459 https://en.wikibooks.org/w/index.php%3ftitle=User:Masterpiga&action=edit&redlink=1
460 https://en.wikibooks.org/w/index.php%3ftitle=User:Matej.korvas&action=edit&redlink=1
461 https://en.wikibooks.org/w/index.php%3ftitle=User:Mateo.longo&action=edit&redlink=1
462 https://en.wikibooks.org/w/index.php%3ftitle=User:Mathieu_Perrin&action=edit&redlink=1
463 https://en.wikibooks.org/wiki/User:Maths314
464 https://en.wikibooks.org/wiki/User:Matthias_M.
465 https://en.wikibooks.org/wiki/User:Mat%25C4%259Bj_Grabovsk%25C3%25BD
466 https://en.wikibooks.org/w/index.php%3ftitle=User:McSaks&action=edit&redlink=1
467 https://en.wikibooks.org/wiki/User:Mckay
468 https://en.wikibooks.org/wiki/User:Mcld
469 https://en.wikibooks.org/w/index.php%3ftitle=User:Mdpacer&action=edit&redlink=1
470 https://en.wikibooks.org/wiki/User:Mecanismo
471 https://en.wikibooks.org/w/index.php%3ftitle=User:Merciadriluca&action=edit&redlink=1

703
Contributors

1 Metis spawn472
1 Mezzaluna473
1 MfR474
4 Mfwitten475
2 Mgkrupa476
1 Mhartl477
4 Mhue478
1 Michael M Hackett479
1 MichaelBillington480
1 MichaelBueker481
2 MichaelSchoenitzer482
1 Migueldvb483
3 Mihai Capotă484
1 Mijikenda485
1 Mike.lifeguard486
3 Mikhail Ryazanov487
2 Mimo˜enwikibooks488
1 MoMaT489
1 Modest Genius490
3 Morelight˜enwikibooks491
1 Mouselb492
1 Mpvharmelen493
1 Mr. Stradivarius494
1 Mrt doulaty495
1 Mrwil222496

472 https://en.wikibooks.org/w/index.php%3ftitle=User:Metis_spawn&action=edit&redlink=1
473 https://en.wikibooks.org/w/index.php%3ftitle=User:Mezzaluna&action=edit&redlink=1
474 https://en.wikibooks.org/w/index.php%3ftitle=User:MfR&action=edit&redlink=1
475 https://en.wikibooks.org/w/index.php%3ftitle=User:Mfwitten&action=edit&redlink=1
476 https://en.wikibooks.org/w/index.php%3ftitle=User:Mgkrupa&action=edit&redlink=1
477 https://en.wikibooks.org/w/index.php%3ftitle=User:Mhartl&action=edit&redlink=1
478 https://en.wikibooks.org/w/index.php%3ftitle=User:Mhue&action=edit&redlink=1
479 https://en.wikibooks.org/w/index.php%3ftitle=User:Michael_M_Hackett&action=edit&redlink=1
480 https://en.wikibooks.org/wiki/User:MichaelBillington
481 https://en.wikibooks.org/w/index.php%3ftitle=User:MichaelBueker&action=edit&redlink=1
482 https://en.wikibooks.org/wiki/User:MichaelSchoenitzer
483 https://en.wikibooks.org/w/index.php%3ftitle=User:Migueldvb&action=edit&redlink=1
484 https://en.wikibooks.org/w/index.php%3ftitle=User:Mihai_Capot%25C4%2583&action=edit&redlink=1
485 https://en.wikibooks.org/w/index.php%3ftitle=User:Mijikenda&action=edit&redlink=1
486 https://en.wikibooks.org/wiki/User:Mike.lifeguard
487 https://en.wikibooks.org/w/index.php%3ftitle=User:Mikhail_Ryazanov&action=edit&redlink=1
488 https://en.wikibooks.org/w/index.php%3ftitle=User:Mimo~enwikibooks&action=edit&redlink=1
489 https://en.wikibooks.org/w/index.php%3ftitle=User:MoMaT&action=edit&redlink=1
490 https://en.wikibooks.org/wiki/User:Modest_Genius
491 https://en.wikibooks.org/w/index.php%3ftitle=User:Morelight~enwikibooks&action=edit&redlink=1
492 https://en.wikibooks.org/wiki/User:Mouselb
493 https://en.wikibooks.org/w/index.php%3ftitle=User:Mpvharmelen&action=edit&redlink=1
494 https://en.wikibooks.org/wiki/User:Mr._Stradivarius
495 https://en.wikibooks.org/w/index.php%3ftitle=User:Mrt_doulaty&action=edit&redlink=1
496 https://en.wikibooks.org/w/index.php%3ftitle=User:Mrwil222&action=edit&redlink=1

704
V

1 Ms2ger497
83 Mwtoews498
2 Naught101499
2 NavarroJ500
3 Nbrouard501
1 Neatnate502
18 Neet503
1 Negative24504
1 Nemoniac505
1 Nemti506
2 Neoptolemus507
13 Neoriddle508
3 Netheril96509
3 Ngoclong19510
1 Nicfalco511
3 Nicolas Perrault III512
1 Nicolasbock513
1 Niel.Bowerman514
1 Nigels˜enwikibooks515
7 Nixphoeni516
1 Niy517
1 Nkour518
8 Nobelium519
1 Norbert.beckers520
1 Nothing1212521

497 https://en.wikibooks.org/wiki/User:Ms2ger
498 https://en.wikibooks.org/wiki/User:Mwtoews
499 https://en.wikibooks.org/w/index.php%3ftitle=User:Naught101&action=edit&redlink=1
500 https://en.wikibooks.org/wiki/User:NavarroJ
501 https://en.wikibooks.org/w/index.php%3ftitle=User:Nbrouard&action=edit&redlink=1
502 https://en.wikibooks.org/w/index.php%3ftitle=User:Neatnate&action=edit&redlink=1
503 https://en.wikibooks.org/w/index.php%3ftitle=User:Neet&action=edit&redlink=1
504 https://en.wikibooks.org/wiki/User:Negative24
505 https://en.wikibooks.org/w/index.php%3ftitle=User:Nemoniac&action=edit&redlink=1
506 https://en.wikibooks.org/w/index.php%3ftitle=User:Nemti&action=edit&redlink=1
507 https://en.wikibooks.org/wiki/User:Neoptolemus
508 https://en.wikibooks.org/w/index.php%3ftitle=User:Neoriddle&action=edit&redlink=1
509 https://en.wikibooks.org/w/index.php%3ftitle=User:Netheril96&action=edit&redlink=1
510 https://en.wikibooks.org/wiki/User:Ngoclong19
511 https://en.wikibooks.org/w/index.php%3ftitle=User:Nicfalco&action=edit&redlink=1
512 https://en.wikibooks.org/w/index.php%3ftitle=User:Nicolas_Perrault_III&action=edit&redlink=1
513 https://en.wikibooks.org/w/index.php%3ftitle=User:Nicolasbock&action=edit&redlink=1
514 https://en.wikibooks.org/w/index.php%3ftitle=User:Niel.Bowerman&action=edit&redlink=1
515 https://en.wikibooks.org/w/index.php%3ftitle=User:Nigels~enwikibooks&action=edit&redlink=1
516 https://en.wikibooks.org/w/index.php%3ftitle=User:Nixphoeni&action=edit&redlink=1
517 https://en.wikibooks.org/w/index.php%3ftitle=User:Niy&action=edit&redlink=1
518 https://en.wikibooks.org/w/index.php%3ftitle=User:Nkour&action=edit&redlink=1
519 https://en.wikibooks.org/wiki/User:Nobelium
520 https://en.wikibooks.org/w/index.php%3ftitle=User:Norbert.beckers&action=edit&redlink=1
521 https://en.wikibooks.org/w/index.php%3ftitle=User:Nothing1212&action=edit&redlink=1

705
Contributors

1 NqpZ522
6 Nsda523
4 Nsuwan524
4 Ntypanski525
1 Nux526
1 Obelyaev527
1 Oderbolz528
2 Ojan529
1 Olaf3142530
2 Olesh531
1 Olivier.descout532
2 OlivierMehani533
4 Ollydbg534
21 Orderud535
1 Otec Stochastik536
29 PAC537
32 PAC2538
1 Pamputt539
1 Pandora85540
6 Panic2k4541
1 Panoramedia542
1 Pater Christophorus543
3 PatrickDevlin21544
1 PatrickGalyon545
1 Patuck546

522 https://en.wikibooks.org/w/index.php%3ftitle=User:NqpZ&action=edit&redlink=1
523 https://en.wikibooks.org/w/index.php%3ftitle=User:Nsda&action=edit&redlink=1
524 https://en.wikibooks.org/w/index.php%3ftitle=User:Nsuwan&action=edit&redlink=1
525 https://en.wikibooks.org/w/index.php%3ftitle=User:Ntypanski&action=edit&redlink=1
526 https://en.wikibooks.org/wiki/User:Nux
527 https://en.wikibooks.org/w/index.php%3ftitle=User:Obelyaev&action=edit&redlink=1
528 https://en.wikibooks.org/w/index.php%3ftitle=User:Oderbolz&action=edit&redlink=1
529 https://en.wikibooks.org/w/index.php%3ftitle=User:Ojan&action=edit&redlink=1
530 https://en.wikibooks.org/w/index.php%3ftitle=User:Olaf3142&action=edit&redlink=1
531 https://en.wikibooks.org/w/index.php%3ftitle=User:Olesh&action=edit&redlink=1
532 https://en.wikibooks.org/w/index.php%3ftitle=User:Olivier.descout&action=edit&redlink=1
533 https://en.wikibooks.org/w/index.php%3ftitle=User:OlivierMehani&action=edit&redlink=1
534 https://en.wikibooks.org/w/index.php%3ftitle=User:Ollydbg&action=edit&redlink=1
535 https://en.wikibooks.org/wiki/User:Orderud
536 https://en.wikibooks.org/w/index.php%3ftitle=User:Otec_Stochastik&action=edit&redlink=1
537 https://en.wikibooks.org/wiki/User:PAC
538 https://en.wikibooks.org/wiki/User:PAC2
539 https://en.wikibooks.org/wiki/User:Pamputt
540 https://en.wikibooks.org/w/index.php%3ftitle=User:Pandora85&action=edit&redlink=1
541 https://en.wikibooks.org/wiki/User:Panic2k4
542 https://en.wikibooks.org/w/index.php%3ftitle=User:Panoramedia&action=edit&redlink=1
543 https://en.wikibooks.org/w/index.php%3ftitle=User:Pater_Christophorus&action=edit&redlink=1
544 https://en.wikibooks.org/w/index.php%3ftitle=User:PatrickDevlin21&action=edit&redlink=1
545 https://en.wikibooks.org/w/index.php%3ftitle=User:PatrickGalyon&action=edit&redlink=1
546 https://en.wikibooks.org/w/index.php%3ftitle=User:Patuck&action=edit&redlink=1

706
V

2 Paul2520547
3 Paulgush548
3 Paxinum549
2 Pdelong550
1 PeterAllen551
2 Petter Strandmark552
2 PhilJohnG553
120 Pi zero554
1 PiRSquared17555
11 Piksi556
1 Pilosa.Folivora557
1 Pirround558
13 Pmillerrhodes559
1 Pmlineditor560
1 Polytropos Technikos561
1 Ppadmapriya562
1 Prawojazdy563
1 Prispartlow564
7 Pstar565
1 PsyberS566
3 QUBot567
1 Qeny568
1 QuantumEleven569
1 Quaristice570
29 QuiteUnusual571

547 https://en.wikibooks.org/w/index.php%3ftitle=User:Paul2520&action=edit&redlink=1
548 https://en.wikibooks.org/w/index.php%3ftitle=User:Paulgush&action=edit&redlink=1
549 https://en.wikibooks.org/wiki/User:Paxinum
550 https://en.wikibooks.org/w/index.php%3ftitle=User:Pdelong&action=edit&redlink=1
551 https://en.wikibooks.org/w/index.php%3ftitle=User:PeterAllen&action=edit&redlink=1
552 https://en.wikibooks.org/w/index.php%3ftitle=User:Petter_Strandmark&action=edit&redlink=1
553 https://en.wikibooks.org/w/index.php%3ftitle=User:PhilJohnG&action=edit&redlink=1
554 https://en.wikibooks.org/wiki/User:Pi_zero
555 https://en.wikibooks.org/wiki/User:PiRSquared17
556 https://en.wikibooks.org/wiki/User:Piksi
557 https://en.wikibooks.org/w/index.php%3ftitle=User:Pilosa.Folivora&action=edit&redlink=1
558 https://en.wikibooks.org/w/index.php%3ftitle=User:Pirround&action=edit&redlink=1
559 https://en.wikibooks.org/w/index.php%3ftitle=User:Pmillerrhodes&action=edit&redlink=1
560 https://en.wikibooks.org/wiki/User:Pmlineditor
561 https://en.wikibooks.org/w/index.php%3ftitle=User:Polytropos_Technikos&action=edit&redlink=1
562 https://en.wikibooks.org/w/index.php%3ftitle=User:Ppadmapriya&action=edit&redlink=1
563 https://en.wikibooks.org/w/index.php%3ftitle=User:Prawojazdy&action=edit&redlink=1
564 https://en.wikibooks.org/w/index.php%3ftitle=User:Prispartlow&action=edit&redlink=1
565 https://en.wikibooks.org/w/index.php%3ftitle=User:Pstar&action=edit&redlink=1
566 https://en.wikibooks.org/wiki/User:PsyberS
567 https://en.wikibooks.org/wiki/User:QUBot
568 https://en.wikibooks.org/w/index.php%3ftitle=User:Qeny&action=edit&redlink=1
569 https://en.wikibooks.org/w/index.php%3ftitle=User:QuantumEleven&action=edit&redlink=1
570 https://en.wikibooks.org/w/index.php%3ftitle=User:Quaristice&action=edit&redlink=1
571 https://en.wikibooks.org/wiki/User:QuiteUnusual

707
Contributors

5 Qwertyus572
1 Qzxpqbp573
1 RP87574
1 RTPK575
1 Rafaelgr576
1 Rafopar577
1 RainCity471578
3 Rajkiran g579
3 Ramac580
2 RasmusWriedtLarsen581
1 Raylu582
1 RaymondSutanto583
2 Razr Nation584
3 Rbonvall585
1 Rdg nz586
17 RealSebix587
10 Recent Runes588
6 Reddraggone9589
1 Redirect fixer590
4 Rehoot591
1 Reim592
2 Remsirems593
1 Reyk594
1 Rhalah595
1 Ricordisamoa596

572 https://en.wikibooks.org/wiki/User:Qwertyus
573 https://en.wikibooks.org/w/index.php%3ftitle=User:Qzxpqbp&action=edit&redlink=1
574 https://en.wikibooks.org/wiki/User:RP87
575 https://en.wikibooks.org/w/index.php%3ftitle=User:RTPK&action=edit&redlink=1
576 https://en.wikibooks.org/w/index.php%3ftitle=User:Rafaelgr&action=edit&redlink=1
577 https://en.wikibooks.org/w/index.php%3ftitle=User:Rafopar&action=edit&redlink=1
578 https://en.wikibooks.org/wiki/User:RainCity471
579 https://en.wikibooks.org/w/index.php%3ftitle=User:Rajkiran_g&action=edit&redlink=1
580 https://en.wikibooks.org/wiki/User:Ramac
581 https://en.wikibooks.org/w/index.php%3ftitle=User:RasmusWriedtLarsen&action=edit&redlink=1
582 https://en.wikibooks.org/wiki/User:Raylu
583 https://en.wikibooks.org/wiki/User:RaymondSutanto
584 https://en.wikibooks.org/wiki/User:Razr_Nation
585 https://en.wikibooks.org/w/index.php%3ftitle=User:Rbonvall&action=edit&redlink=1
586 https://en.wikibooks.org/w/index.php%3ftitle=User:Rdg_nz&action=edit&redlink=1
587 https://en.wikibooks.org/w/index.php%3ftitle=User:RealSebix&action=edit&redlink=1
588 https://en.wikibooks.org/wiki/User:Recent_Runes
589 https://en.wikibooks.org/wiki/User:Reddraggone9
590 https://en.wikibooks.org/wiki/User:Redirect_fixer
591 https://en.wikibooks.org/w/index.php%3ftitle=User:Rehoot&action=edit&redlink=1
592 https://en.wikibooks.org/w/index.php%3ftitle=User:Reim&action=edit&redlink=1
593 https://en.wikibooks.org/w/index.php%3ftitle=User:Remsirems&action=edit&redlink=1
594 https://en.wikibooks.org/wiki/User:Reyk
595 https://en.wikibooks.org/w/index.php%3ftitle=User:Rhalah&action=edit&redlink=1
596 https://en.wikibooks.org/wiki/User:Ricordisamoa

708
V

1 Risk597
1 Rnddim598
1 Roarbakk599
84 Robbiemorrison600
1 Robert Borkowski601
4 Robert Horning602
3 Robin˜enwikibooks603
1 Rogal˜enwikibooks604
1 Rogerbrent605
4 Rondenaranja˜enwikibooks606
2 Rossdub607
2 Rotlink608
1 Royote609
1 Rror610
1 RubensMatos611
1 Russell208612
4 Sabalka˜enwikibooks613
1 Saehrimnir614
2 Saippuakauppias615
33 SamuelLB616
2 Sandbergja617
4 Sanderd17618
1 Sandman10000619
1 Sandrobt620
13 Sargas˜enwikibooks621

597 https://en.wikibooks.org/wiki/User:Risk
598 https://en.wikibooks.org/wiki/User:Rnddim
599 https://en.wikibooks.org/w/index.php%3ftitle=User:Roarbakk&action=edit&redlink=1
600 https://en.wikibooks.org/wiki/User:Robbiemorrison
601 https://en.wikibooks.org/wiki/User:Robert_Borkowski
602 https://en.wikibooks.org/wiki/User:Robert_Horning
603 https://en.wikibooks.org/wiki/User:Robin~enwikibooks
604 https://en.wikibooks.org/w/index.php%3ftitle=User:Rogal~enwikibooks&action=edit&redlink=1
605 https://en.wikibooks.org/w/index.php%3ftitle=User:Rogerbrent&action=edit&redlink=1
606 https://en.wikibooks.org/w/index.php%3ftitle=User:Rondenaranja~enwikibooks&action=edit&redlink=1
607 https://en.wikibooks.org/w/index.php%3ftitle=User:Rossdub&action=edit&redlink=1
608 https://en.wikibooks.org/w/index.php%3ftitle=User:Rotlink&action=edit&redlink=1
609 https://en.wikibooks.org/w/index.php%3ftitle=User:Royote&action=edit&redlink=1
610 https://en.wikibooks.org/w/index.php%3ftitle=User:Rror&action=edit&redlink=1
611 https://en.wikibooks.org/w/index.php%3ftitle=User:RubensMatos&action=edit&redlink=1
612 https://en.wikibooks.org/w/index.php%3ftitle=User:Russell208&action=edit&redlink=1
613 https://en.wikibooks.org/w/index.php%3ftitle=User:Sabalka~enwikibooks&action=edit&redlink=1
614 https://en.wikibooks.org/w/index.php%3ftitle=User:Saehrimnir&action=edit&redlink=1
615 https://en.wikibooks.org/w/index.php%3ftitle=User:Saippuakauppias&action=edit&redlink=1
616 https://en.wikibooks.org/w/index.php%3ftitle=User:SamuelLB&action=edit&redlink=1
617 https://en.wikibooks.org/wiki/User:Sandbergja
618 https://en.wikibooks.org/wiki/User:Sanderd17
619 https://en.wikibooks.org/w/index.php%3ftitle=User:Sandman10000&action=edit&redlink=1
620 https://en.wikibooks.org/wiki/User:Sandrobt
621 https://en.wikibooks.org/w/index.php%3ftitle=User:Sargas~enwikibooks&action=edit&redlink=1

709
Contributors

3 Savicivas622
1 Sbeyer623
2 Schaber624
1 SciYann625
7 Scientific29626
1 Scorwin627
1 Scruss628
6 Selfworm629
2 Semperos630
1 Sgenier˜enwikibooks631
1 Shahbaz Youssefi632
2 Sheep0x633
4 Silca678634
1 Silverpie635
1 Simeon636
2 Simonjtyler637
1 Simplelatex638
1 SiriusB639
2 Sjlegg640
1 Skarakoleva641
1 Skim642
1 Skou˜enwikibooks643
1 Smobbl Bobbl644
5 Snaxe920˜enwikibooks645
1 Snoopy67646

622 https://en.wikibooks.org/w/index.php%3ftitle=User:Savicivas&action=edit&redlink=1
623 https://en.wikibooks.org/w/index.php%3ftitle=User:Sbeyer&action=edit&redlink=1
624 https://en.wikibooks.org/w/index.php%3ftitle=User:Schaber&action=edit&redlink=1
625 https://en.wikibooks.org/wiki/User:SciYann
626 https://en.wikibooks.org/w/index.php%3ftitle=User:Scientific29&action=edit&redlink=1
627 https://en.wikibooks.org/w/index.php%3ftitle=User:Scorwin&action=edit&redlink=1
628 https://en.wikibooks.org/wiki/User:Scruss
629 https://en.wikibooks.org/w/index.php%3ftitle=User:Selfworm&action=edit&redlink=1
630 https://en.wikibooks.org/w/index.php%3ftitle=User:Semperos&action=edit&redlink=1
631 https://en.wikibooks.org/w/index.php%3ftitle=User:Sgenier~enwikibooks&action=edit&redlink=1
632 https://en.wikibooks.org/w/index.php%3ftitle=User:Shahbaz_Youssefi&action=edit&redlink=1
633 https://en.wikibooks.org/w/index.php%3ftitle=User:Sheep0x&action=edit&redlink=1
634 https://en.wikibooks.org/w/index.php%3ftitle=User:Silca678&action=edit&redlink=1
635 https://en.wikibooks.org/w/index.php%3ftitle=User:Silverpie&action=edit&redlink=1
636 https://en.wikibooks.org/wiki/User:Simeon
637 https://en.wikibooks.org/w/index.php%3ftitle=User:Simonjtyler&action=edit&redlink=1
638 https://en.wikibooks.org/w/index.php%3ftitle=User:Simplelatex&action=edit&redlink=1
639 https://en.wikibooks.org/w/index.php%3ftitle=User:SiriusB&action=edit&redlink=1
640 https://en.wikibooks.org/wiki/User:Sjlegg
641 https://en.wikibooks.org/w/index.php%3ftitle=User:Skarakoleva&action=edit&redlink=1
642 https://en.wikibooks.org/w/index.php%3ftitle=User:Skim&action=edit&redlink=1
643 https://en.wikibooks.org/w/index.php%3ftitle=User:Skou~enwikibooks&action=edit&redlink=1
644 https://en.wikibooks.org/w/index.php%3ftitle=User:Smobbl_Bobbl&action=edit&redlink=1
645 https://en.wikibooks.org/w/index.php%3ftitle=User:Snaxe920~enwikibooks&action=edit&redlink=1
646 https://en.wikibooks.org/w/index.php%3ftitle=User:Snoopy67&action=edit&redlink=1

710
V

4 Sobjornstad647
1 Solid Frog648
1 Sonic the goliath649
4 Spag85˜enwikibooks650
11 Spelemann˜enwikibooks651
1 Speravir652
4 Spirosdenaxas653
1 Spook˜enwikibooks654
1 Springthyme655
2 Squigish656
1 Staticshakedown657
4 Steelangel658
2 Stefan.qn˜enwikibooks659
1 Stefantauner660
1 Steindani661
3 Stephan Schneider662
1 SteveM82663
1 StevenJohnston664
7 Stoettner665
2 Strpeter666
1 Stuples667
1 Sulhan668
2 Svick669
1 Swift670
6 SynConlanger671

647 https://en.wikibooks.org/w/index.php%3ftitle=User:Sobjornstad&action=edit&redlink=1
648 https://en.wikibooks.org/w/index.php%3ftitle=User:Solid_Frog&action=edit&redlink=1
649 https://en.wikibooks.org/w/index.php%3ftitle=User:Sonic_the_goliath&action=edit&redlink=1
650 https://en.wikibooks.org/w/index.php%3ftitle=User:Spag85~enwikibooks&action=edit&redlink=1
651 https://en.wikibooks.org/w/index.php%3ftitle=User:Spelemann~enwikibooks&action=edit&redlink=1
652 https://en.wikibooks.org/wiki/User:Speravir
653 https://en.wikibooks.org/wiki/User:Spirosdenaxas
654 https://en.wikibooks.org/w/index.php%3ftitle=User:Spook~enwikibooks&action=edit&redlink=1
655 https://en.wikibooks.org/w/index.php%3ftitle=User:Springthyme&action=edit&redlink=1
656 https://en.wikibooks.org/w/index.php%3ftitle=User:Squigish&action=edit&redlink=1
657 https://en.wikibooks.org/wiki/User:Staticshakedown
658 https://en.wikibooks.org/w/index.php%3ftitle=User:Steelangel&action=edit&redlink=1
659 https://en.wikibooks.org/w/index.php%3ftitle=User:Stefan.qn~enwikibooks&action=edit&redlink=1
660 https://en.wikibooks.org/w/index.php%3ftitle=User:Stefantauner&action=edit&redlink=1
661 https://en.wikibooks.org/w/index.php%3ftitle=User:Steindani&action=edit&redlink=1
662 https://en.wikibooks.org/wiki/User:Stephan_Schneider
663 https://en.wikibooks.org/w/index.php%3ftitle=User:SteveM82&action=edit&redlink=1
664 https://en.wikibooks.org/w/index.php%3ftitle=User:StevenJohnston&action=edit&redlink=1
665 https://en.wikibooks.org/w/index.php%3ftitle=User:Stoettner&action=edit&redlink=1
666 https://en.wikibooks.org/w/index.php%3ftitle=User:Strpeter&action=edit&redlink=1
667 https://en.wikibooks.org/w/index.php%3ftitle=User:Stuples&action=edit&redlink=1
668 https://en.wikibooks.org/w/index.php%3ftitle=User:Sulhan&action=edit&redlink=1
669 https://en.wikibooks.org/w/index.php%3ftitle=User:Svick&action=edit&redlink=1
670 https://en.wikibooks.org/wiki/User:Swift
671 https://en.wikibooks.org/wiki/User:SynConlanger

711
Contributors

1 Syockit672
2 Syum90673
1 Szellmann674
1 TWiStErRob675
1 Tanzaho676
1 Tau Lambda677
1 Tauriel-1678
1 Taweetham679
3 Tazquebec680
1 Tdomhan681
1 Teles682
1 Tentotwo683
1 Tgwizard684
1 TheAnarcat685
1 Theemathas686
5 Thefrankinator687
21 Thenub314688
2 Thietkeweb˜enwikibooks689
1 This, that and the other690
1 Tia sáng mặt trời691
1 Tim Parenti692
2 TinyTimZamboni693
2 Tisep694
9 Tlinnet695
1 ToematoeAdmn696

672 https://en.wikibooks.org/w/index.php%3ftitle=User:Syockit&action=edit&redlink=1
673 https://en.wikibooks.org/wiki/User:Syum90
674 https://en.wikibooks.org/w/index.php%3ftitle=User:Szellmann&action=edit&redlink=1
675 https://en.wikibooks.org/wiki/User:TWiStErRob
676 https://en.wikibooks.org/w/index.php%3ftitle=User:Tanzaho&action=edit&redlink=1
677 https://en.wikibooks.org/w/index.php%3ftitle=User:Tau_Lambda&action=edit&redlink=1
678 https://en.wikibooks.org/wiki/User:Tauriel-1
679 https://en.wikibooks.org/wiki/User:Taweetham
680 https://en.wikibooks.org/w/index.php%3ftitle=User:Tazquebec&action=edit&redlink=1
681 https://en.wikibooks.org/wiki/User:Tdomhan
682 https://en.wikibooks.org/wiki/User:Teles
683 https://en.wikibooks.org/w/index.php%3ftitle=User:Tentotwo&action=edit&redlink=1
684 https://en.wikibooks.org/w/index.php%3ftitle=User:Tgwizard&action=edit&redlink=1
685 https://en.wikibooks.org/w/index.php%3ftitle=User:TheAnarcat&action=edit&redlink=1
686 https://en.wikibooks.org/w/index.php%3ftitle=User:Theemathas&action=edit&redlink=1
687 https://en.wikibooks.org/w/index.php%3ftitle=User:Thefrankinator&action=edit&redlink=1
688 https://en.wikibooks.org/wiki/User:Thenub314
689 https://en.wikibooks.org/w/index.php%3ftitle=User:Thietkeweb~enwikibooks&action=edit&redlink=1
690 https://en.wikibooks.org/wiki/User:This,_that_and_the_other
691 https://en.wikibooks.org/w/index.php%3ftitle=User:Tia_s%25C3%25A1ng_m%25E1%25BA%25B7t_tr%25E1%25BB%259Di
692 https://en.wikibooks.org/wiki/User:Tim_Parenti
693 https://en.wikibooks.org/w/index.php%3ftitle=User:TinyTimZamboni&action=edit&redlink=1
694 https://en.wikibooks.org/w/index.php%3ftitle=User:Tisep&action=edit&redlink=1
695 https://en.wikibooks.org/w/index.php%3ftitle=User:Tlinnet&action=edit&redlink=1
696 https://en.wikibooks.org/w/index.php%3ftitle=User:ToematoeAdmn&action=edit&redlink=1

712
V

1 Tom Morris697
3 Tom.marcik698
120 Tomato86699
2 Tommypkeane700
6 Tomxlawson701
11 TomyDuby702
1 Tonda703
1 Toogley704
1 Toothbrushbrush705
3 Topodelapradera706
5 Torbjorn T.707
5 TorfusPolymorphus708
4 Tork73709
2 TortoiseWrath710
14 Tosha711
2 Towsonu2003˜enwikibooks712
2 Tpapastylianou713
1 Tpr˜enwikibooks714
1 Trace715
1 Tualha716
1 Tuetschek717
1 Tuka˜enwikibooks718
7 Tully˜enwikibooks719
1 Tweenk720
1 Uluboz721

697 https://en.wikibooks.org/wiki/User:Tom_Morris
698 https://en.wikibooks.org/w/index.php%3ftitle=User:Tom.marcik&action=edit&redlink=1
699 https://en.wikibooks.org/wiki/User:Tomato86
700 https://en.wikibooks.org/w/index.php%3ftitle=User:Tommypkeane&action=edit&redlink=1
701 https://en.wikibooks.org/w/index.php%3ftitle=User:Tomxlawson&action=edit&redlink=1
702 https://en.wikibooks.org/w/index.php%3ftitle=User:TomyDuby&action=edit&redlink=1
703 https://en.wikibooks.org/w/index.php%3ftitle=User:Tonda&action=edit&redlink=1
704 https://en.wikibooks.org/w/index.php%3ftitle=User:Toogley&action=edit&redlink=1
705 https://en.wikibooks.org/w/index.php%3ftitle=User:Toothbrushbrush&action=edit&redlink=1
706 https://en.wikibooks.org/wiki/User:Topodelapradera
707 https://en.wikibooks.org/wiki/User:Torbjorn_T.
708 https://en.wikibooks.org/w/index.php%3ftitle=User:TorfusPolymorphus&action=edit&redlink=1
709 https://en.wikibooks.org/w/index.php%3ftitle=User:Tork73&action=edit&redlink=1
710 https://en.wikibooks.org/w/index.php%3ftitle=User:TortoiseWrath&action=edit&redlink=1
711 https://en.wikibooks.org/wiki/User:Tosha
712 https://en.wikibooks.org/wiki/User:Towsonu2003~enwikibooks
713 https://en.wikibooks.org/w/index.php%3ftitle=User:Tpapastylianou&action=edit&redlink=1
714 https://en.wikibooks.org/w/index.php%3ftitle=User:Tpr~enwikibooks&action=edit&redlink=1
715 https://en.wikibooks.org/wiki/User:Trace
716 https://en.wikibooks.org/wiki/User:Tualha
717 https://en.wikibooks.org/w/index.php%3ftitle=User:Tuetschek&action=edit&redlink=1
718 https://en.wikibooks.org/w/index.php%3ftitle=User:Tuka~enwikibooks&action=edit&redlink=1
719 https://en.wikibooks.org/w/index.php%3ftitle=User:Tully~enwikibooks&action=edit&redlink=1
720 https://en.wikibooks.org/wiki/User:Tweenk
721 https://en.wikibooks.org/w/index.php%3ftitle=User:Uluboz&action=edit&redlink=1

713
Contributors

1 Unbitwise722
1 Unco723
1 Unlikelyuser724
3 Urhixidur725
1 User000name726
1 Uwe Hartwig727
6 Vadik wiki728
3 Vaffelkake729
1 Vanjanssen730
1 Vaucouleur731
3 Velociostrich732
1 Vermiculus˜enwikibooks733
10 Vesal734
1 Vinaisundaram735
3 Vioricavinersan736
2 VitoFrancisco737
3 Vog2738
3 Volvens739
77 Waldir740
1 WardMuylaert741
1 Waylesange742
4 Wdcf743
1 Webinn744
2 Wenzeslaus745
1 Wgjbeek746

722 https://en.wikibooks.org/w/index.php%3ftitle=User:Unbitwise&action=edit&redlink=1
723 https://en.wikibooks.org/w/index.php%3ftitle=User:Unco&action=edit&redlink=1
724 https://en.wikibooks.org/w/index.php%3ftitle=User:Unlikelyuser&action=edit&redlink=1
725 https://en.wikibooks.org/wiki/User:Urhixidur
726 https://en.wikibooks.org/w/index.php%3ftitle=User:User000name&action=edit&redlink=1
727 https://en.wikibooks.org/w/index.php%3ftitle=User:Uwe_Hartwig&action=edit&redlink=1
728 https://en.wikibooks.org/wiki/User:Vadik_wiki
729 https://en.wikibooks.org/w/index.php%3ftitle=User:Vaffelkake&action=edit&redlink=1
730 https://en.wikibooks.org/w/index.php%3ftitle=User:Vanjanssen&action=edit&redlink=1
731 https://en.wikibooks.org/w/index.php%3ftitle=User:Vaucouleur&action=edit&redlink=1
732 https://en.wikibooks.org/w/index.php%3ftitle=User:Velociostrich&action=edit&redlink=1
733 https://en.wikibooks.org/w/index.php%3ftitle=User:Vermiculus~enwikibooks&action=edit&redlink=1
734 https://en.wikibooks.org/w/index.php%3ftitle=User:Vesal&action=edit&redlink=1
735 https://en.wikibooks.org/w/index.php%3ftitle=User:Vinaisundaram&action=edit&redlink=1
736 https://en.wikibooks.org/w/index.php%3ftitle=User:Vioricavinersan&action=edit&redlink=1
737 https://en.wikibooks.org/wiki/User:VitoFrancisco
738 https://en.wikibooks.org/w/index.php%3ftitle=User:Vog2&action=edit&redlink=1
739 https://en.wikibooks.org/w/index.php%3ftitle=User:Volvens&action=edit&redlink=1
740 https://en.wikibooks.org/wiki/User:Waldir
741 https://en.wikibooks.org/w/index.php%3ftitle=User:WardMuylaert&action=edit&redlink=1
742 https://en.wikibooks.org/wiki/User:Waylesange
743 https://en.wikibooks.org/w/index.php%3ftitle=User:Wdcf&action=edit&redlink=1
744 https://en.wikibooks.org/w/index.php%3ftitle=User:Webinn&action=edit&redlink=1
745 https://en.wikibooks.org/w/index.php%3ftitle=User:Wenzeslaus&action=edit&redlink=1
746 https://en.wikibooks.org/w/index.php%3ftitle=User:Wgjbeek&action=edit&redlink=1

714
V

1 White gecko747
1 Whiteknight748
6 Whym749
14 Wickedjargon750
9 Wikieditoroftoday751
1 Willy james752
1 Winfree753
1 Winniehell754
25 Withinfocus755
1 Wkdurfee˜enwikibooks756
1 Wmheric757
1 Wn202758
1 Wootery759
1 Wp4bl0760
2 Writalnaie761
3 Wxm29762
1 Wysinwygaa763
12 Xania764
1 Xeracles765
1 Xin-Xin W.766
1 Xnn767
13 Xonqnopp768
1 Yanuzz769
5 Yeshua Saves770
1 Yez771

747 https://en.wikibooks.org/w/index.php%3ftitle=User:White_gecko&action=edit&redlink=1
748 https://en.wikibooks.org/wiki/User:Whiteknight
749 https://en.wikibooks.org/wiki/User:Whym
750 https://en.wikibooks.org/wiki/User:Wickedjargon
751 https://en.wikibooks.org/wiki/User:Wikieditoroftoday
752 https://en.wikibooks.org/w/index.php%3ftitle=User:Willy_james&action=edit&redlink=1
753 https://en.wikibooks.org/wiki/User:Winfree
754 https://en.wikibooks.org/w/index.php%3ftitle=User:Winniehell&action=edit&redlink=1
755 https://en.wikibooks.org/wiki/User:Withinfocus
756 https://en.wikibooks.org/w/index.php%3ftitle=User:Wkdurfee~enwikibooks&action=edit&redlink=1
757 https://en.wikibooks.org/w/index.php%3ftitle=User:Wmheric&action=edit&redlink=1
758 https://en.wikibooks.org/w/index.php%3ftitle=User:Wn202&action=edit&redlink=1
759 https://en.wikibooks.org/w/index.php%3ftitle=User:Wootery&action=edit&redlink=1
760 https://en.wikibooks.org/w/index.php%3ftitle=User:Wp4bl0&action=edit&redlink=1
761 https://en.wikibooks.org/w/index.php%3ftitle=User:Writalnaie&action=edit&redlink=1
762 https://en.wikibooks.org/w/index.php%3ftitle=User:Wxm29&action=edit&redlink=1
763 https://en.wikibooks.org/w/index.php%3ftitle=User:Wysinwygaa&action=edit&redlink=1
764 https://en.wikibooks.org/wiki/User:Xania
765 https://en.wikibooks.org/w/index.php%3ftitle=User:Xeracles&action=edit&redlink=1
766 https://en.wikibooks.org/w/index.php%3ftitle=User:Xin-Xin_W.&action=edit&redlink=1
767 https://en.wikibooks.org/w/index.php%3ftitle=User:Xnn&action=edit&redlink=1
768 https://en.wikibooks.org/wiki/User:Xonqnopp
769 https://en.wikibooks.org/w/index.php%3ftitle=User:Yanuzz&action=edit&redlink=1
770 https://en.wikibooks.org/w/index.php%3ftitle=User:Yeshua_Saves&action=edit&redlink=1
771 https://en.wikibooks.org/w/index.php%3ftitle=User:Yez&action=edit&redlink=1

715
Contributors

1 Yinweichen772
1 Ynhockey773
1 Yotann774
1 Ypey775
2 Ysangkok776
2 Ysnikraz777
1 YuryKirienko778
1 Zaslav779
3 ZeroOne780
1 ZimbiX781
1 Zrisher782
3 Zvika783
1 Zwiebelleder784
1 Zxx117785
1 Zylorian786
2 Zyqqh˜enwikibooks787
1 Zzo38788
1 Ævar Arnfjörð Bjarmason789
1 Пика Пика790
1 791

1 792

1 793

772 https://en.wikibooks.org/wiki/User:Yinweichen
773 https://en.wikibooks.org/wiki/User:Ynhockey
774 https://en.wikibooks.org/w/index.php%3ftitle=User:Yotann&action=edit&redlink=1
775 https://en.wikibooks.org/w/index.php%3ftitle=User:Ypey&action=edit&redlink=1
776 https://en.wikibooks.org/wiki/User:Ysangkok
777 https://en.wikibooks.org/w/index.php%3ftitle=User:Ysnikraz&action=edit&redlink=1
778 https://en.wikibooks.org/w/index.php%3ftitle=User:YuryKirienko&action=edit&redlink=1
779 https://en.wikibooks.org/w/index.php%3ftitle=User:Zaslav&action=edit&redlink=1
780 https://en.wikibooks.org/wiki/User:ZeroOne
781 https://en.wikibooks.org/w/index.php%3ftitle=User:ZimbiX&action=edit&redlink=1
782 https://en.wikibooks.org/w/index.php%3ftitle=User:Zrisher&action=edit&redlink=1
783 https://en.wikibooks.org/wiki/User:Zvika
784 https://en.wikibooks.org/w/index.php%3ftitle=User:Zwiebelleder&action=edit&redlink=1
785 https://en.wikibooks.org/w/index.php%3ftitle=User:Zxx117&action=edit&redlink=1
786 https://en.wikibooks.org/w/index.php%3ftitle=User:Zylorian&action=edit&redlink=1
787 https://en.wikibooks.org/w/index.php%3ftitle=User:Zyqqh~enwikibooks&action=edit&redlink=1
788 https://en.wikibooks.org/w/index.php%3ftitle=User:Zzo38&action=edit&redlink=1
789 https://en.wikibooks.org/wiki/User:%25C3%2586var_Arnfj%25C3%25B6r%25C3%25B0_Bjarmason
790 https://en.wikibooks.org/w/index.php%3ftitle=User:%25D0%259F%25D0%25B8%25D0%25BA%25D0%25B0_%25D0%259F%25
791 https://en.wikibooks.org/w/index.php%3ftitle=User:%25D5%258D%25D5%25A1%25D5%25B0%25D5%25A1%25D5%25AF&act
792 https://en.wikibooks.org/wiki/User:%25D7%259C%25D7%25A2%25D7%25A8%25D7%2599_%25D7%25A8%25D7%2599%25D7%25
793 https://en.wikibooks.org/w/index.php%3ftitle=User:%25D8%25A7%25D9%2585%25DB%258C%25D8%25B1_%25D8%25A7%25

716
List of Figures

• GFDL: Gnu Free Documentation License. http://www.gnu.org/licenses/fdl.


html
• cc-by-sa-3.0: Creative Commons Attribution ShareAlike 3.0 License. http://
creativecommons.org/licenses/by-sa/3.0/
• cc-by-sa-2.5: Creative Commons Attribution ShareAlike 2.5 License. http://
creativecommons.org/licenses/by-sa/2.5/
• cc-by-sa-2.0: Creative Commons Attribution ShareAlike 2.0 License. http://
creativecommons.org/licenses/by-sa/2.0/
• cc-by-sa-1.0: Creative Commons Attribution ShareAlike 1.0 License. http://
creativecommons.org/licenses/by-sa/1.0/
• cc-by-2.0: Creative Commons Attribution 2.0 License. http://creativecommons.
org/licenses/by/2.0/
• cc-by-2.0: Creative Commons Attribution 2.0 License. http://creativecommons.
org/licenses/by/2.0/deed.en
• cc-by-2.5: Creative Commons Attribution 2.5 License. http://creativecommons.
org/licenses/by/2.5/deed.en
• cc-by-3.0: Creative Commons Attribution 3.0 License. http://creativecommons.
org/licenses/by/3.0/deed.en
• GPL: GNU General Public License. http://www.gnu.org/licenses/gpl-2.0.txt
• LGPL: GNU Lesser General Public License. http://www.gnu.org/licenses/lgpl.
html
• PD: This image is in the public domain.
• ATTR: The copyright holder of this file allows anyone to use it for any purpose,
provided that the copyright holder is properly attributed. Redistribution, derivative
work, commercial use, and all other use is permitted.
• EURO: This is the common (reverse) face of a euro coin. The copyright on the design
of the common face of the euro coins belongs to the European Commission. Authorised
is reproduction in a format without relief (drawings, paintings, films) provided they
are not detrimental to the image of the euro.
• LFK: Lizenz Freie Kunst. http://artlibre.org/licence/lal/de
• CFR: Copyright free use.

717
List of Figures

• EPL: Eclipse Public License. http://www.eclipse.org/org/documents/epl-v10.


php
Copies of the GPL, the LGPL as well as a GFDL are included in chapter Licenses794 . Please
note that images in the public domain do not require attribution. You may click on the
image numbers in the following table to open the webpage of the images in your webbrower.

794 Chapter 67 on page 731

718
List of Figures

1 Gummi team
2 LyX developer team (see www.lyx.org) GPL
3 PAC2795 , PAC2796 GPL
4 BotMultichill, BotMultichillT, Emijrpbot, Hazard-Bot,
JarektBot, KAMiKAZOW, Paucabot, Wiso
5 Emijrpbot, Hazard-Bot, JarektBot, MGA73bot2, Mwtoews,
Patrick87, SieBot, Ö
6 Myself
7 Alessio Damato GFDL
8 Editor at Large, Infrogmation, Itsmine, JarektBot,
Jtwdog enwikibooks, Michiel1972, Shyam, Waldir, Wst
9 Jtwdog enwikibooks
10 Jtwdog enwikibooks
11 Tomato86797 , Tomato86798 GFDL
12 Karl Scheel799 , Karl Scheel800 CC-BY-SA-3.0
13 Karl Scheel801 , Karl Scheel802 CC-BY-SA-3.0
14 Thenub314803 , Thenub314804 GFDL
15 Tomato86805 , Tomato86806 GFDL
16 Derbeth
17 Tobias Oetiker GFDL
18 Johannes Bo807 , Johannes Bo808 PD
19 Tobias Oetiker GFDL
20 Tobias Oetiker GFDL
21 Tobias Oetiker GFDL
22 Dirk Hünniger809 , Dirk Hünniger810 CC-BY-SA-3.0
23 Dirk Hünniger811 , Dirk Hünniger812 CC-BY-SA-3.0
24 ChrisHodgesUK813 , ChrisHodgesUK814 PD
25 ChrisHodgesUK815 , ChrisHodgesUK816 PD
26 Jtwdog enwikibooks

795 http://commons.wikimedia.org/wiki/User:PAC2
796 https://commons.wikimedia.org/wiki/User:PAC2
797 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
798 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
799 http://commons.wikimedia.org/w/index.php?title=User:Kscheel&action=edit&redlink=1
800 https://commons.wikimedia.org/w/index.php?title=User:Kscheel&action=edit&redlink=1
801 http://commons.wikimedia.org/w/index.php?title=User:Kscheel&action=edit&redlink=1
802 https://commons.wikimedia.org/w/index.php?title=User:Kscheel&action=edit&redlink=1
803 http://commons.wikimedia.org/w/index.php?title=User:Thenub314&action=edit&redlink=1
804 https://commons.wikimedia.org/w/index.php?title=User:Thenub314&action=edit&redlink=1
805 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
806 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
807 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
808 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
809 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
810 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
811 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
812 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
813 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
814 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
815 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
816 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK

719
List of Figures

27 Johannes Bo817 , Johannes Bo818


28 Dirk Hünniger819 , Dirk Hünniger820 CC-BY-SA-3.0
29 Johannes Bo821 , Johannes Bo822
30 Johannes Bo823 , Johannes Bo824
31 Johannes Bo825 , Johannes Bo826
32 Johannes Bo827 , Johannes Bo828
33 Johannes Bo829 , Johannes Bo830
34 Derbeth
35 Dirk Hünniger831 , Dirk Hünniger832 CC-BY-SA-3.0
36 Dirk Hünniger833 , Dirk Hünniger834 CC-BY-SA-3.0
37 Dirk Hünniger835 , Dirk Hünniger836 CC-BY-SA-3.0
38 Dirk Hünniger837 , Dirk Hünniger838 CC-BY-SA-3.0
39 Dirk Hünniger839 , Dirk Hünniger840 CC-BY-SA-3.0
40 Dirk Hünniger841 , Dirk Hünniger842 CC-BY-SA-3.0
41 Dirk Hünniger843 , Dirk Hünniger844 CC-BY-SA-3.0
42 ChrisHodgesUK845 , ChrisHodgesUK846 PD
43 ChrisHodgesUK847 , ChrisHodgesUK848 PD
44 Dirk Hünniger849 , Dirk Hünniger850 CC-BY-SA-3.0

817 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
818 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
819 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
820 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
821 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
822 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
823 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
824 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
825 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
826 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
827 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
828 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
829 http://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
830 https://commons.wikimedia.org/w/index.php?title=User:Johannes_Bo&action=edit&redlink=1
831 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
832 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
833 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
834 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
835 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
836 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
837 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
838 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
839 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
840 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
841 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
842 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
843 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
844 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
845 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
846 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
847 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
848 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
849 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
850 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger

720
List of Figures

45 Dirk Hünniger851 , Dirk Hünniger852 CC-BY-SA-3.0


46 Dirk Hünniger853 , Dirk Hünniger854 CC-BY-SA-3.0
47 Dirk Hünniger855 , Dirk Hünniger856 CC-BY-SA-3.0
48 Dirk Hünniger857 , Dirk Hünniger858 CC-BY-SA-3.0
49 Dirk Hünniger859 , Dirk Hünniger860 CC-BY-SA-3.0
50 Dirk Hünniger861 , Dirk Hünniger862 CC-BY-SA-3.0
51 Dirk Hünniger863 , Dirk Hünniger864 CC-BY-SA-3.0
52 Dirk Hünniger865 , Dirk Hünniger866 CC-BY-SA-3.0
53 Dirk Hünniger867 , Dirk Hünniger868 CC-BY-SA-3.0
54 Dirk Hünniger869 , Dirk Hünniger870 CC-BY-SA-3.0
55 Dirk Hünniger871 , Dirk Hünniger872 CC-BY-SA-3.0
56 Dirk Hünniger873 , Dirk Hünniger874 CC-BY-SA-3.0
57 Danroa875 , Danroa876
58 Dirk Hünniger877 , Dirk Hünniger878 CC-BY-SA-3.0
59 Johannes Bo PD
60 Alessio Damato879 , Alessio Damato880 GFDL
61 The original uploader was Jtwdog881 at English Wiki- GFDL
books882

851 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
852 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
853 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
854 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
855 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
856 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
857 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
858 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
859 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
860 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
861 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
862 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
863 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
864 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
865 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
866 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
867 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
868 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
869 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
870 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
871 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
872 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
873 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
874 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
875 http://commons.wikimedia.org/w/index.php?title=User:Danroa&action=edit&redlink=1
876 https://commons.wikimedia.org/w/index.php?title=User:Danroa&action=edit&redlink=1
877 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
878 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
879 http://commons.wikimedia.org/wiki/User:Alejo2083
880 https://commons.wikimedia.org/wiki/User:Alejo2083
881 http://en.wikibooks.org/wiki/User:Jtwdog
882 http://en.wikibooks.org/wiki/

721
List of Figures

62 The original uploader was Jtwdog883 at English Wiki- GFDL


books884
63 The original uploader was Jtwdog885 at English Wiki- GFDL
books886
64 ChrisHodgesUK887 , ChrisHodgesUK888 PD
65 Alessio Damato889 , Alessio Damato890 GFDL
66 User:Mwtoews891 , User:Mwtoews892 GFDL
67 Mwtoews893 , Mwtoews894 GFDL
68 Alessio Damato895 , Alessio Damato896 GFDL
69 Alessio Damato897 , Alessio Damato898 GFDL
70 Alessio Damato899 , Alessio Damato900 GFDL
71 Derbeth, Jovan.Andj1996901
72 Derbeth902 , Derbeth903 GFDL
73 Maschen904 , Maschen905 PD
74 Alessio Damato906 , Alessio Damato907 GFDL
75 Alessio Damato908 13:31, 12 January 2007 (UTC), Alessio GFDL
Damato909 13:31, 12 January 2007 (UTC)
76 Alessio Damato910 , Alessio Damato911 GFDL
77 Ambrevar912 , Ambrevar913 PD
78 Alessio Damato914 , Alessio Damato915 GFDL

883 http://en.wikibooks.org/wiki/User:Jtwdog
884 http://en.wikibooks.org/wiki/
885 http://en.wikibooks.org/wiki/User:Jtwdog
886 http://en.wikibooks.org/wiki/
887 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
888 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
889 http://commons.wikimedia.org/wiki/User:Alejo2083
890 https://commons.wikimedia.org/wiki/User:Alejo2083
891 http://commons.wikimedia.org/wiki/User:Mwtoews
892 https://commons.wikimedia.org/wiki/User:Mwtoews
893 http://commons.wikimedia.org/wiki/User:Mwtoews
894 https://commons.wikimedia.org/wiki/User:Mwtoews
895 http://commons.wikimedia.org/wiki/User:Alejo2083
896 https://commons.wikimedia.org/wiki/User:Alejo2083
897 http://commons.wikimedia.org/wiki/User:Alejo2083
898 https://commons.wikimedia.org/wiki/User:Alejo2083
899 http://commons.wikimedia.org/wiki/User:Alejo2083
900 https://commons.wikimedia.org/wiki/User:Alejo2083
901 https://commons.wikimedia.org/w/index.php?title=User:Jovan.Andj1996&action=edit&redlink=1
902 http://commons.wikimedia.org/wiki/User:Derbeth
903 https://commons.wikimedia.org/wiki/User:Derbeth
904 http://commons.wikimedia.org/wiki/User:Maschen
905 https://commons.wikimedia.org/wiki/User:Maschen
906 http://commons.wikimedia.org/wiki/User:Alejo2083
907 https://commons.wikimedia.org/wiki/User:Alejo2083
908 http://commons.wikimedia.org/wiki/User:Alejo2083
909 https://commons.wikimedia.org/wiki/User:Alejo2083
910 http://commons.wikimedia.org/wiki/User:Alejo2083
911 https://commons.wikimedia.org/wiki/User:Alejo2083
912 http://commons.wikimedia.org/wiki/User:Ambrevar
913 https://commons.wikimedia.org/wiki/User:Ambrevar
914 http://commons.wikimedia.org/wiki/User:Alejo2083
915 https://commons.wikimedia.org/wiki/User:Alejo2083

722
List of Figures

79 Alessio Damato916 , Alessio Damato917 GFDL


80 Alessio Damato918 , Alessio Damato919 GFDL
81 Tomato86920 , Tomato86921 GFDL
82 Alessio Damato922 , Alessio Damato923 GFDL
83 ChrisHodgesUK924 , ChrisHodgesUK925 PD
84 ChrisHodgesUK926 , ChrisHodgesUK927 PD
85 Winfree928 , Winfree929
86 Tomato86930 , Tomato86931 GFDL
87 Waldir932 , Waldir933 GFDL
88 Neet934 , Neet935
89 Neet936 , Neet937
90 Neet938 , Neet939
91 Neet940 , Neet941
92 Neet942 , Neet943
93 Tomato86944 , Tomato86945 GFDL
94 Tomato86946 , Tomato86947 GFDL
95 Tomato86948 , Tomato86949 GFDL

916 http://commons.wikimedia.org/wiki/User:Alejo2083
917 https://commons.wikimedia.org/wiki/User:Alejo2083
918 http://commons.wikimedia.org/wiki/User:Alejo2083
919 https://commons.wikimedia.org/wiki/User:Alejo2083
920 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
921 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
922 http://commons.wikimedia.org/wiki/User:Alejo2083
923 https://commons.wikimedia.org/wiki/User:Alejo2083
924 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
925 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
926 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
927 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
928 http://commons.wikimedia.org/w/index.php?title=User:Winfree&action=edit&redlink=1
929 https://commons.wikimedia.org/w/index.php?title=User:Winfree&action=edit&redlink=1
930 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
931 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
932 http://commons.wikimedia.org/wiki/User:Waldir
933 https://commons.wikimedia.org/wiki/User:Waldir
934 http://commons.wikimedia.org/wiki/User:Neet
935 https://commons.wikimedia.org/wiki/User:Neet
936 http://commons.wikimedia.org/wiki/User:Neet
937 https://commons.wikimedia.org/wiki/User:Neet
938 http://commons.wikimedia.org/wiki/User:Neet
939 https://commons.wikimedia.org/wiki/User:Neet
940 http://commons.wikimedia.org/wiki/User:Neet
941 https://commons.wikimedia.org/wiki/User:Neet
942 http://commons.wikimedia.org/wiki/User:Neet
943 https://commons.wikimedia.org/wiki/User:Neet
944 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
945 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
946 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
947 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
948 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
949 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1

723
List of Figures

96 Tomato86950 , Tomato86951 GFDL


97 ChrisHodgesUK952 , ChrisHodgesUK953 PD
98 Inductiveload954
99 Tomato86955 , Tomato86956 GFDL
100 Tomato86957 GFDL
101 Tomato86958 , Tomato86959 GFDL
102 ChrisHodgesUK960 , ChrisHodgesUK961 PD
103 Tomato86962 , Tomato86963 GFDL
104 Pmillerrhodes964 , Pmillerrhodes965 CC-BY-SA-3.0
105 Pmillerrhodes966 , Pmillerrhodes967 CC-BY-SA-3.0
106 Pmillerrhodes968 , Pmillerrhodes969 CC-BY-SA-3.0
107 Ben Mills
108 Pmillerrhodes970 , Pmillerrhodes971 CC-BY-SA-3.0
109 Pmillerrhodes972 , Pmillerrhodes973 CC-BY-SA-3.0
110 Pmillerrhodes974 , Pmillerrhodes975 CC-BY-SA-3.0
111 Pmillerrhodes976 , Pmillerrhodes977 CC-BY-SA-3.0
112 Pmillerrhodes978 , Pmillerrhodes979 CC-BY-SA-3.0
113 Daviewales980 , Daviewales981
114 Daviewales982 , Daviewales983

950 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
951 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
952 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
953 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
954 http://commons.wikimedia.org/wiki/User:Inductiveload
955 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
956 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
957 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
958 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
959 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
960 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
961 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
962 http://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
963 https://commons.wikimedia.org/w/index.php?title=User:Tomato86&action=edit&redlink=1
964 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
965 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
966 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
967 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
968 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
969 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
970 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
971 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
972 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
973 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
974 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
975 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
976 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
977 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
978 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
979 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
980 http://commons.wikimedia.org/w/index.php?title=User:Daviewales&action=edit&redlink=1
981 https://commons.wikimedia.org/w/index.php?title=User:Daviewales&action=edit&redlink=1
982 http://commons.wikimedia.org/w/index.php?title=User:Daviewales&action=edit&redlink=1
983 https://commons.wikimedia.org/w/index.php?title=User:Daviewales&action=edit&redlink=1

724
List of Figures

115 Pmillerrhodes984 , Pmillerrhodes985 CC-BY-SA-3.0


116 Pmillerrhodes986 , Pmillerrhodes987 CC-BY-SA-3.0
117 No machine-readable author provided. Pmillerrhodes988 as- CC-BY-SA-3.0
sumed (based on copyright claims)., No machine-readable
author provided. Pmillerrhodes989 assumed (based on copy-
right claims).
118 Clapsus990 , Clapsus991
119 The original uploader was Iorsh992 at English Wikipedia993 PD
120 Lavaka994 , Lavaka995 CC-BY-SA-3.0
121 Nemti996 , Nemti997
122 MyName (Gkc998 (talk999 )), MyName (Gkc1000 (talk1001 )) GFDL
123 LaTeX / GIMP CC-BY-3.0
124 Ambrevar1002 , Ambrevar1003 CC-BY-SA-3.0
125 jeg PD
126 Hankjones1004 , Hankjones1005 GFDL
127 Hankjones1006 , Hankjones1007 CC-BY-SA-3.0
128 Hankjones1008 , Hankjones1009 CC-BY-SA-3.0
129 jeg PD
130 Hankjones1010 , Hankjones1011 GFDL
131 Hankjones1012 , Hankjones1013 CC-BY-SA-3.0
132 Philip John Gorinski1014 , Philip John Gorinski1015 PD

984 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
985 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
986 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
987 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
988 http://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
989 https://commons.wikimedia.org/w/index.php?title=User:Pmillerrhodes&action=edit&redlink=1
990 http://commons.wikimedia.org/wiki/User:Clapsus
991 https://commons.wikimedia.org/wiki/User:Clapsus
992 http://en.wikipedia.org/wiki/User:Iorsh
993 http://en.wikipedia.org/wiki/
994 http://commons.wikimedia.org/w/index.php?title=User:Lavaka&action=edit&redlink=1
995 https://commons.wikimedia.org/w/index.php?title=User:Lavaka&action=edit&redlink=1
996 http://commons.wikimedia.org/wiki/User:Nemti
997 https://commons.wikimedia.org/wiki/User:Nemti
998 http://commons.wikimedia.org/wiki/User:Gkc
999 http://commons.wikimedia.org/wiki/User_talk:Gkc
1000 https://commons.wikimedia.org/wiki/User:Gkc
1001 https://commons.wikimedia.org/wiki/User_talk:Gkc
1002 http://commons.wikimedia.org/wiki/User:Ambrevar
1003 https://commons.wikimedia.org/wiki/User:Ambrevar
1004 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1005 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1006 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1007 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1008 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1009 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1010 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1011 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1012 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1013 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1014 http://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1
1015 https://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1

725
List of Figures

133 Philip John Gorinski1016 , Philip John Gorinski1017 PD


134 Philip John Gorinski1018 , Philip John Gorinski1019 PD
135 Matěj Korvas
136 Matej.korvas1020 , Matej.korvas1021 PD
137 Matej.korvas1022 , Matej.korvas1023 PD
138 Daniele Pighin GFDL
139 Olesh1024 , Olesh1025 CC-BY-SA-3.0
140 Hankjones1026 , Hankjones1027 CC-BY-SA-3.0
141 Hankjones1028 , Hankjones1029 CC-BY-SA-3.0
142 ChrisHodgesUK1030 , ChrisHodgesUK1031 PD
143 Hankjones1032 , Hankjones1033 CC-BY-SA-3.0
144 Hankjones1034 , Hankjones1035 CC-BY-SA-3.0
145 Hankjones1036 , Hankjones1037 CC-BY-SA-3.0
146 Hankjones1038 , Hankjones1039 CC-BY-SA-3.0
147 Stefano Coretta1040 , Stefano Coretta1041
148 Dirk Hünniger1042 , Dirk Hünniger1043 CC-BY-SA-3.0
149 Dirk Hünniger1044 , Dirk Hünniger1045 CC-BY-SA-3.0
150 Dirk Hünniger1046 , Dirk Hünniger1047 CC-BY-SA-3.0
151 Literaturgenerator1048 , Literaturgenerator1049 GFDL

1016 http://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1
1017 https://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1
1018 http://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1
1019 https://commons.wikimedia.org/w/index.php?title=User:PhilJohnG&action=edit&redlink=1
1020 http://commons.wikimedia.org/w/index.php?title=User:Matej.korvas&action=edit&redlink=1
1021 https://commons.wikimedia.org/w/index.php?title=User:Matej.korvas&action=edit&redlink=1
1022 http://commons.wikimedia.org/w/index.php?title=User:Matej.korvas&action=edit&redlink=1
1023 https://commons.wikimedia.org/w/index.php?title=User:Matej.korvas&action=edit&redlink=1
1024 http://commons.wikimedia.org/w/index.php?title=User:Olesh&action=edit&redlink=1
1025 https://commons.wikimedia.org/w/index.php?title=User:Olesh&action=edit&redlink=1
1026 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1027 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1028 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1029 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1030 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
1031 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
1032 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1033 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1034 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1035 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1036 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1037 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1038 http://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1039 https://commons.wikimedia.org/w/index.php?title=User:Hankjones&action=edit&redlink=1
1040 http://commons.wikimedia.org/wiki/User:SynConlanger
1041 https://commons.wikimedia.org/wiki/User:SynConlanger
1042 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1043 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1044 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1045 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1046 http://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1047 https://commons.wikimedia.org/wiki/User:Dirk_H%C3%BCnniger
1048 http://commons.wikimedia.org/w/index.php?title=User:Literaturgenerator&action=edit&redlink=1
1049 https://commons.wikimedia.org/w/index.php?title=User:Literaturgenerator&action=edit&redlink=1

726
List of Figures

152 Emijrpbot, Hazard-Bot, JarektBot, MGA73bot2, Mwtoews,


Patrick87, SieBot, Ö
153 Mijio
154 Jimbotyson1050 , Jimbotyson1051 GFDL
155 Derbeth1052 . GFDL
156
157 Gms
158 Israel Buitron1053 , Israel Buitron1054 GFDL
159 Flip1055 , Flip1056 CC-BY-SA-3.0
160 Israel Buitron1057 , Israel Buitron1058 CC-BY-SA-3.0
161 Ambrevar1059 , Ambrevar1060 PD
162 Ambrevar1061 , Ambrevar1062 PD
163 ChrisHodgesUK1063 , ChrisHodgesUK1064 PD
164 Alessio Damato1065 , Alessio Damato1066 GFDL
165 Alessio Damato1067 , Alessio Damato1068 GFDL
166 Alessio Damato1069 , Alessio Damato1070 GFDL
167 Alessio Damato1071 , Alessio Damato1072 GFDL
168 Alessio Damato1073 , Alessio Damato1074 GFDL
169 Alessio Damato1075 , Alessio Damato1076 GFDL
170 Alessio Damato1077 , Alessio Damato1078 GFDL
171 Alessio Damato1079 , Alessio Damato1080 GFDL

1050 http://commons.wikimedia.org/w/index.php?title=User:Jimbotyson&action=edit&redlink=1
1051 https://commons.wikimedia.org/w/index.php?title=User:Jimbotyson&action=edit&redlink=1
1052 http://en.wikibooks.org/wiki/en:User:Derbeth
1053 http://commons.wikimedia.org/w/index.php?title=User:Neoriddle&action=edit&redlink=1
1054 https://commons.wikimedia.org/w/index.php?title=User:Neoriddle&action=edit&redlink=1
1055 http://commons.wikimedia.org/w/index.php?title=User:Flip&action=edit&redlink=1
1056 https://commons.wikimedia.org/w/index.php?title=User:Flip&action=edit&redlink=1
1057 http://commons.wikimedia.org/w/index.php?title=User:Neoriddle&action=edit&redlink=1
1058 https://commons.wikimedia.org/w/index.php?title=User:Neoriddle&action=edit&redlink=1
1059 http://commons.wikimedia.org/wiki/User:Ambrevar
1060 https://commons.wikimedia.org/wiki/User:Ambrevar
1061 http://commons.wikimedia.org/wiki/User:Ambrevar
1062 https://commons.wikimedia.org/wiki/User:Ambrevar
1063 http://commons.wikimedia.org/wiki/User:ChrisHodgesUK
1064 https://commons.wikimedia.org/wiki/User:ChrisHodgesUK
1065 http://commons.wikimedia.org/wiki/User:Alejo2083
1066 https://commons.wikimedia.org/wiki/User:Alejo2083
1067 http://commons.wikimedia.org/wiki/User:Alejo2083
1068 https://commons.wikimedia.org/wiki/User:Alejo2083
1069 http://commons.wikimedia.org/wiki/User:Alejo2083
1070 https://commons.wikimedia.org/wiki/User:Alejo2083
1071 http://commons.wikimedia.org/wiki/User:Alejo2083
1072 https://commons.wikimedia.org/wiki/User:Alejo2083
1073 http://commons.wikimedia.org/wiki/User:Alejo2083
1074 https://commons.wikimedia.org/wiki/User:Alejo2083
1075 http://commons.wikimedia.org/wiki/User:Alejo2083
1076 https://commons.wikimedia.org/wiki/User:Alejo2083
1077 http://commons.wikimedia.org/wiki/User:Alejo2083
1078 https://commons.wikimedia.org/wiki/User:Alejo2083
1079 http://commons.wikimedia.org/wiki/User:Alejo2083
1080 https://commons.wikimedia.org/wiki/User:Alejo2083

727
List of Figures

172 Alessio Damato1081 , Alessio Damato1082 GFDL


173 Alessio Damato1083 , Alessio Damato1084 GFDL
174 GFDL
• Neighbourhood_definition2.png1085 : Wegmann1086
• derivative work: Pablo Castellanos1087 (talk1088 )
,
• Neighbourhood_definition2.png1089 : Wegmann1090
• derivative work: Pablo Castellanos1091 (talk1092 )

175 Nobelium1093 , Nobelium1094 PD


176 Nobelium1095 , Nobelium1096 PD
177 Nobelium1097 , Nobelium1098 PD
178 Nobelium1099 PD
179 KlasN1100 , KlasN1101
180 KlasN1102 , KlasN1103
181 Nobelium1104 , Nobelium1105 PD
182 Nobelium1106 , Nobelium1107
183 Nobelium1108 , Nobelium1109
184 Nobelium1110 , Nobelium1111
185 Nobelium1112 , Nobelium1113

1081 http://commons.wikimedia.org/wiki/User:Alejo2083
1082 https://commons.wikimedia.org/wiki/User:Alejo2083
1083 http://commons.wikimedia.org/wiki/User:Alejo2083
1084 https://commons.wikimedia.org/wiki/User:Alejo2083
1085 http://commons.wikimedia.org/wiki/File:Neighbourhood_definition2.png
1086 http://commons.wikimedia.org/wiki/User:Wegmann
1087 http://commons.wikimedia.org/w/index.php?title=User:Pablo_Castellanos&action=edit&redlink=1
1088 http://commons.wikimedia.org/wiki/User_talk:Pablo_Castellanos
1089 https://commons.wikimedia.org/wiki/File:Neighbourhood_definition2.png
1090 https://commons.wikimedia.org/wiki/User:Wegmann
1091 https://commons.wikimedia.org/w/index.php?title=User:Pablo_Castellanos&action=edit&redlink=1
1092 https://commons.wikimedia.org/wiki/User_talk:Pablo_Castellanos
1093 http://commons.wikimedia.org/wiki/User:Nobelium
1094 https://commons.wikimedia.org/wiki/User:Nobelium
1095 http://commons.wikimedia.org/wiki/User:Nobelium
1096 https://commons.wikimedia.org/wiki/User:Nobelium
1097 http://commons.wikimedia.org/wiki/User:Nobelium
1098 https://commons.wikimedia.org/wiki/User:Nobelium
1099 http://commons.wikimedia.org/wiki/User:Nobelium
1100 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1101 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1102 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1103 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1104 http://commons.wikimedia.org/wiki/User:Nobelium
1105 https://commons.wikimedia.org/wiki/User:Nobelium
1106 http://commons.wikimedia.org/wiki/User:Nobelium
1107 https://commons.wikimedia.org/wiki/User:Nobelium
1108 http://commons.wikimedia.org/wiki/User:Nobelium
1109 https://commons.wikimedia.org/wiki/User:Nobelium
1110 http://commons.wikimedia.org/wiki/User:Nobelium
1111 https://commons.wikimedia.org/wiki/User:Nobelium
1112 http://commons.wikimedia.org/wiki/User:Nobelium
1113 https://commons.wikimedia.org/wiki/User:Nobelium

728
List of Figures

186 Nobelium1114 , Nobelium1115


187 Nobelium1116 , Nobelium1117
188 Nobelium1118 , Nobelium1119
189 Nobelium1120 , Nobelium1121
190 KlasN1122 , KlasN1123
191 KlasN1124 , KlasN1125
192 KlasN1126 , KlasN1127
193 KlasN1128 , KlasN1129
194 KlasN1130 , KlasN1131
195 KlasN1132 , KlasN1133
196 KlasN1134 , KlasN1135
197 KlasN1136 , KlasN1137
198 KlasN1138 , KlasN1139
199 KlasN1140 , KlasN1141
200 Alessio Damato1142 , Alessio Damato1143 GFDL
201 Alessio Damato1144 , Alessio Damato1145 GFDL
202 Alessio Damato1146 , Alessio Damato1147 GFDL

1114 http://commons.wikimedia.org/wiki/User:Nobelium
1115 https://commons.wikimedia.org/wiki/User:Nobelium
1116 http://commons.wikimedia.org/wiki/User:Nobelium
1117 https://commons.wikimedia.org/wiki/User:Nobelium
1118 http://commons.wikimedia.org/wiki/User:Nobelium
1119 https://commons.wikimedia.org/wiki/User:Nobelium
1120 http://commons.wikimedia.org/wiki/User:Nobelium
1121 https://commons.wikimedia.org/wiki/User:Nobelium
1122 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1123 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1124 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1125 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1126 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1127 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1128 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1129 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1130 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1131 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1132 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1133 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1134 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1135 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1136 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1137 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1138 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1139 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1140 http://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1141 https://commons.wikimedia.org/w/index.php?title=User:KlasN&action=edit&redlink=1
1142 http://commons.wikimedia.org/wiki/User:Alejo2083
1143 https://commons.wikimedia.org/wiki/User:Alejo2083
1144 http://commons.wikimedia.org/wiki/User:Alejo2083
1145 https://commons.wikimedia.org/wiki/User:Alejo2083
1146 http://commons.wikimedia.org/wiki/User:Alejo2083
1147 https://commons.wikimedia.org/wiki/User:Alejo2083

729
List of Figures

203 Alessio Damato1148 , Alessio Damato1149 GFDL


204 Alessio Damato1150 , Alessio Damato1151 GFDL
205 Alessio Damato1152 , Alessio Damato1153 GFDL
206 Alessio Damato1154 , Alessio Damato1155 GFDL
207 Alessio Damato1156 , Alessio Damato1157 GFDL
208 Alessio Damato1158 , Alessio Damato1159 GFDL
209 Alessio Damato1160 , Alessio Damato1161 GFDL
210 Ambrevar1162 , Ambrevar1163 PD
211 Ambrevar1164 , Ambrevar1165 PD
212 Ambrevar1166 , Ambrevar1167 PD
213 Original uploader was Arnehe1168 at en.wikibooks1169 GPL
214 The original uploader was Arnehe1170 at English Wiki- GPL
books1171
215 Original uploader was Arnehe1172 at en.wikibooks1173 GPL
216 The original uploader was Arnehe1174 at English Wiki- GPL
books1175
217 The original uploader was Arnehe1176 at English Wiki- GPL
books1177
218 Alessio Damato1178 , Alessio Damato1179 GFDL
219 Alessio Damato GFDL

1148 http://commons.wikimedia.org/wiki/User:Alejo2083
1149 https://commons.wikimedia.org/wiki/User:Alejo2083
1150 http://commons.wikimedia.org/wiki/User:Alejo2083
1151 https://commons.wikimedia.org/wiki/User:Alejo2083
1152 http://commons.wikimedia.org/wiki/User:Alejo2083
1153 https://commons.wikimedia.org/wiki/User:Alejo2083
1154 http://commons.wikimedia.org/wiki/User:Alejo2083
1155 https://commons.wikimedia.org/wiki/User:Alejo2083
1156 http://commons.wikimedia.org/wiki/User:Alejo2083
1157 https://commons.wikimedia.org/wiki/User:Alejo2083
1158 http://commons.wikimedia.org/wiki/User:Alejo2083
1159 https://commons.wikimedia.org/wiki/User:Alejo2083
1160 http://commons.wikimedia.org/wiki/User:Alejo2083
1161 https://commons.wikimedia.org/wiki/User:Alejo2083
1162 http://commons.wikimedia.org/wiki/User:Ambrevar
1163 https://commons.wikimedia.org/wiki/User:Ambrevar
1164 http://commons.wikimedia.org/wiki/User:Ambrevar
1165 https://commons.wikimedia.org/wiki/User:Ambrevar
1166 http://commons.wikimedia.org/wiki/User:Ambrevar
1167 https://commons.wikimedia.org/wiki/User:Ambrevar
1168 http://en.wikibooks.org/wiki/en:User:Arnehe
1169 http://en.wikibooks.org
1170 http://en.wikibooks.org/wiki/User:Arnehe
1171 http://en.wikibooks.org/wiki/
1172 http://en.wikibooks.org/wiki/en:User:Arnehe
1173 http://en.wikibooks.org
1174 http://en.wikibooks.org/wiki/User:Arnehe
1175 http://en.wikibooks.org/wiki/
1176 http://en.wikibooks.org/wiki/User:Arnehe
1177 http://en.wikibooks.org/wiki/
1178 http://commons.wikimedia.org/wiki/User:Alejo2083
1179 https://commons.wikimedia.org/wiki/User:Alejo2083

730
67. Licenses

67.1. GNU GENERAL PUBLIC LICENSE


Version 3, 29 June 2007 The “Corresponding Source” for a work in object code form means all different server (operated by you or a third party) that supports equiv- your license, and (b) permanently, if the copyright holder fails to no-
the source code needed to generate, install, and (for an executable alent copying facilities, provided you maintain clear directions next to tify you of the violation by some reasonable means prior to 60 days
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> work) run the object code and to modify the work, including scripts the object code saying where to find the Corresponding Source. Re- after the cessation.
to control those activities. However, it does not include the work’s gardless of what server hosts the Corresponding Source, you remain
System Libraries, or general-purpose tools or generally available free obligated to ensure that it is available for as long as needed to satisfy Moreover, your license from a particular copyright holder is reinstated
Everyone is permitted to copy and distribute verbatim copies of this
programs which are used unmodified in performing those activities but these requirements. * e) Convey the object code using peer-to-peer permanently if the copyright holder notifies you of the violation by
license document, but changing it is not allowed. Preamble
which are not part of the work. For example, Corresponding Source transmission, provided you inform other peers where the object code some reasonable means, this is the first time you have received notice
includes interface definition files associated with source files for the and Corresponding Source of the work are being offered to the general of violation of this License (for any work) from that copyright holder,
The GNU General Public License is a free, copyleft license for software work, and the source code for shared libraries and dynamically linked public at no charge under subsection 6d. and you cure the violation prior to 30 days after your receipt of the
and other kinds of works. subprograms that the work is specifically designed to require, such as notice.
by intimate data communication or control flow between those sub- A separable portion of the object code, whose source code is excluded
The licenses for most software and other practical works are designed programs and other parts of the work. from the Corresponding Source as a System Library, need not be in- Termination of your rights under this section does not terminate the
to take away your freedom to share and change the works. By con- cluded in conveying the object code work. licenses of parties who have received copies or rights from you under
trast, the GNU General Public License is intended to guarantee your The Corresponding Source need not include anything that users can re- this License. If your rights have been terminated and not permanently
freedom to share and change all versions of a program–to make sure generate automatically from other parts of the Corresponding Source.
A “User Product” is either (1) a “consumer product”, which means any reinstated, you do not qualify to receive new licenses for the same
it remains free software for all its users. We, the Free Software Foun-
tangible personal property which is normally used for personal, family, material under section 10. 9. Acceptance Not Required for Having
dation, use the GNU General Public License for most of our software;
The Corresponding Source for a work in source code form is that same or household purposes, or (2) anything designed or sold for incorpora- Copies.
it applies also to any other work released this way by its authors. You
work. 2. Basic Permissions. tion into a dwelling. In determining whether a product is a consumer
can apply it to your programs, too.
product, doubtful cases shall be resolved in favor of coverage. For a You are not required to accept this License in order to receive or run
All rights granted under this License are granted for the term of copy- particular product received by a particular user, “normally used” refers a copy of the Program. Ancillary propagation of a covered work oc-
When we speak of free software, we are referring to freedom, not price.
right on the Program, and are irrevocable provided the stated con- to a typical or common use of that class of product, regardless of the curring solely as a consequence of using peer-to-peer transmission to
Our General Public Licenses are designed to make sure that you have
ditions are met. This License explicitly affirms your unlimited per- status of the particular user or of the way in which the particular receive a copy likewise does not require acceptance. However, nothing
the freedom to distribute copies of free software (and charge for them
mission to run the unmodified Program. The output from running a user actually uses, or expects or is expected to use, the product. A other than this License grants you permission to propagate or modify
if you wish), that you receive source code or can get it if you want
covered work is covered by this License only if the output, given its product is a consumer product regardless of whether the product has any covered work. These actions infringe copyright if you do not accept
it, that you can change the software or use pieces of it in new free
content, constitutes a covered work. This License acknowledges your substantial commercial, industrial or non-consumer uses, unless such this License. Therefore, by modifying or propagating a covered work,
programs, and that you know you can do these things.
rights of fair use or other equivalent, as provided by copyright law. uses represent the only significant mode of use of the product. you indicate your acceptance of this License to do so. 10. Automatic
Licensing of Downstream Recipients.
To protect your rights, we need to prevent others from denying you
You may make, run and propagate covered works that you do not con- “Installation Information” for a User Product means any methods, pro-
these rights or asking you to surrender the rights. Therefore, you have
vey, without conditions so long as your license otherwise remains in cedures, authorization keys, or other information required to install Each time you convey a covered work, the recipient automatically re-
certain responsibilities if you distribute copies of the software, or if you
force. You may convey covered works to others for the sole purpose and execute modified versions of a covered work in that User Product ceives a license from the original licensors, to run, modify and prop-
modify it: responsibilities to respect the freedom of others.
of having them make modifications exclusively for you, or provide you from a modified version of its Corresponding Source. The information agate that work, subject to this License. You are not responsible for
with facilities for running those works, provided that you comply with must suffice to ensure that the continued functioning of the modified enforcing compliance by third parties with this License.
For example, if you distribute copies of such a program, whether gratis the terms of this License in conveying all material for which you do not object code is in no case prevented or interfered with solely because
or for a fee, you must pass on to the recipients the same freedoms that control copyright. Those thus making or running the covered works modification has been made. An “entity transaction” is a transaction transferring control of an or-
you received. You must make sure that they, too, receive or can get for you must do so exclusively on your behalf, under your direction ganization, or substantially all assets of one, or subdividing an orga-
the source code. And you must show them these terms so they know and control, on terms that prohibit them from making any copies of
If you convey an object code work under this section in, or with, or nization, or merging organizations. If propagation of a covered work
their rights. your copyrighted material outside their relationship with you.
specifically for use in, a User Product, and the conveying occurs as results from an entity transaction, each party to that transaction who
part of a transaction in which the right of possession and use of the receives a copy of the work also receives whatever licenses to the work
Developers that use the GNU GPL protect your rights with two steps: Conveying under any other circumstances is permitted solely under the party’s predecessor in interest had or could give under the previous
User Product is transferred to the recipient in perpetuity or for a fixed
(1) assert copyright on the software, and (2) offer you this License the conditions stated below. Sublicensing is not allowed; section 10 paragraph, plus a right to possession of the Corresponding Source of
term (regardless of how the transaction is characterized), the Corre-
giving you legal permission to copy, distribute and/or modify it. makes it unnecessary. 3. Protecting Users’ Legal Rights From Anti- the work from the predecessor in interest, if the predecessor has it or
sponding Source conveyed under this section must be accompanied by
Circumvention Law. the Installation Information. But this requirement does not apply if can get it with reasonable efforts.
For the developers’ and authors’ protection, the GPL clearly explains neither you nor any third party retains the ability to install modi-
that there is no warranty for this free software. For both users’ and No covered work shall be deemed part of an effective technological fied object code on the User Product (for example, the work has been You may not impose any further restrictions on the exercise of the
authors’ sake, the GPL requires that modified versions be marked as measure under any applicable law fulfilling obligations under article installed in ROM). rights granted or affirmed under this License. For example, you may
changed, so that their problems will not be attributed erroneously to 11 of the WIPO copyright treaty adopted on 20 December 1996, or not impose a license fee, royalty, or other charge for exercise of rights
authors of previous versions. similar laws prohibiting or restricting circumvention of such measures. granted under this License, and you may not initiate litigation (in-
The requirement to provide Installation Information does not include
a requirement to continue to provide support service, warranty, or up- cluding a cross-claim or counterclaim in a lawsuit) alleging that any
Some devices are designed to deny users access to install or run mod- dates for a work that has been modified or installed by the recipient, patent claim is infringed by making, using, selling, offering for sale, or
When you convey a covered work, you waive any legal power to forbid
ified versions of the software inside them, although the manufacturer or for the User Product in which it has been modified or installed. importing the Program or any portion of it. 11. Patents.
circumvention of technological measures to the extent such circum-
can do so. This is fundamentally incompatible with the aim of protect- vention is effected by exercising rights under this License with respect Access to a network may be denied when the modification itself ma-
ing users’ freedom to change the software. The systematic pattern of to the covered work, and you disclaim any intention to limit opera- terially and adversely affects the operation of the network or violates A “contributor” is a copyright holder who authorizes use under this
such abuse occurs in the area of products for individuals to use, which tion or modification of the work as a means of enforcing, against the the rules and protocols for communication across the network. License of the Program or a work on which the Program is based. The
is precisely where it is most unacceptable. Therefore, we have designed work’s users, your or third parties’ legal rights to forbid circumvention work thus licensed is called the contributor’s “contributor version”.
this version of the GPL to prohibit the practice for those products. If of technological measures. 4. Conveying Verbatim Copies.
such problems arise substantially in other domains, we stand ready to Corresponding Source conveyed, and Installation Information pro-
vided, in accord with this section must be in a format that is publicly A contributor’s “essential patent claims” are all patent claims owned
extend this provision to those domains in future versions of the GPL,
You may convey verbatim copies of the Program’s source code as you documented (and with an implementation available to the public in or controlled by the contributor, whether already acquired or hereafter
as needed to protect the freedom of users.
receive it, in any medium, provided that you conspicuously and appro- source code form), and must require no special password or key for acquired, that would be infringed by some manner, permitted by this
priately publish on each copy an appropriate copyright notice; keep in- unpacking, reading or copying. 7. Additional Terms. License, of making, using, or selling its contributor version, but do
Finally, every program is threatened constantly by software patents. not include claims that would be infringed only as a consequence of
tact all notices stating that this License and any non-permissive terms
States should not allow patents to restrict development and use of soft- further modification of the contributor version. For purposes of this
added in accord with section 7 apply to the code; keep intact all no-
ware on general-purpose computers, but in those that do, we wish to “Additional permissions” are terms that supplement the terms of this definition, “control” includes the right to grant patent sublicenses in a
tices of the absence of any warranty; and give all recipients a copy of
avoid the special danger that patents applied to a free program could License by making exceptions from one or more of its conditions. Ad- manner consistent with the requirements of this License.
this License along with the Program.
make it effectively proprietary. To prevent this, the GPL assures that ditional permissions that are applicable to the entire Program shall be
patents cannot be used to render the program non-free. treated as though they were included in this License, to the extent that
You may charge any price or no price for each copy that you con- they are valid under applicable law. If additional permissions apply Each contributor grants you a non-exclusive, worldwide, royalty-free
vey, and you may offer support or warranty protection for a fee. 5. only to part of the Program, that part may be used separately under patent license under the contributor’s essential patent claims, to make,
The precise terms and conditions for copying, distribution and modi- use, sell, offer for sale, import and otherwise run, modify and propa-
Conveying Modified Source Versions. those permissions, but the entire Program remains governed by this
fication follow. TERMS AND CONDITIONS 0. Definitions. gate the contents of its contributor version.
License without regard to the additional permissions.
You may convey a work based on the Program, or the modifications
“This License” refers to version 3 of the GNU General Public License. In the following three paragraphs, a “patent license” is any express
to produce it from the Program, in the form of source code under the When you convey a copy of a covered work, you may at your option
terms of section 4, provided that you also meet all of these conditions: agreement or commitment, however denominated, not to enforce a
remove any additional permissions from that copy, or from any part
“Copyright” also means copyright-like laws that apply to other kinds patent (such as an express permission to practice a patent or covenant
of it. (Additional permissions may be written to require their own
of works, such as semiconductor masks. not to sue for patent infringement). To “grant” such a patent license
* a) The work must carry prominent notices stating that you modified removal in certain cases when you modify the work.) You may place
to a party means to make such an agreement or commitment not to
it, and giving a relevant date. * b) The work must carry prominent additional permissions on material, added by you to a covered work,
“The Program” refers to any copyrightable work licensed under this Li- enforce a patent against the party.
notices stating that it is released under this License and any conditions for which you have or can give appropriate copyright permission.
cense. Each licensee is addressed as “you”. “Licensees” and “recipients” added under section 7. This requirement modifies the requirement in
may be individuals or organizations. section 4 to “keep intact all notices”. * c) You must license the entire If you convey a covered work, knowingly relying on a patent license,
Notwithstanding any other provision of this License, for material you and the Corresponding Source of the work is not available for anyone
work, as a whole, under this License to anyone who comes into pos-
add to a covered work, you may (if authorized by the copyright holders to copy, free of charge and under the terms of this License, through
To “modify” a work means to copy from or adapt all or part of the work session of a copy. This License will therefore apply, along with any
of that material) supplement the terms of this License with terms: a publicly available network server or other readily accessible means,
in a fashion requiring copyright permission, other than the making of applicable section 7 additional terms, to the whole of the work, and
an exact copy. The resulting work is called a “modified version” of the all its parts, regardless of how they are packaged. This License gives then you must either (1) cause the Corresponding Source to be so
earlier work or a work “based on” the earlier work. no permission to license the work in any other way, but it does not * a) Disclaiming warranty or limiting liability differently from the available, or (2) arrange to deprive yourself of the benefit of the patent
invalidate such permission if you have separately received it. * d) If terms of sections 15 and 16 of this License; or * b) Requiring preser- license for this particular work, or (3) arrange, in a manner consistent
the work has interactive user interfaces, each must display Appropriate vation of specified reasonable legal notices or author attributions in with the requirements of this License, to extend the patent license to
A “covered work” means either the unmodified Program or a work
Legal Notices; however, if the Program has interactive interfaces that that material or in the Appropriate Legal Notices displayed by works downstream recipients. “Knowingly relying” means you have actual
based on the Program.
do not display Appropriate Legal Notices, your work need not make containing it; or * c) Prohibiting misrepresentation of the origin of knowledge that, but for the patent license, your conveying the cov-
them do so. that material, or requiring that modified versions of such material be ered work in a country, or your recipient’s use of the covered work
To “propagate” a work means to do anything with it that, without per- marked in reasonable ways as different from the original version; or * in a country, would infringe one or more identifiable patents in that
mission, would make you directly or secondarily liable for infringement d) Limiting the use for publicity purposes of names of licensors or au- country that you have reason to believe are valid.
under applicable copyright law, except executing it on a computer or A compilation of a covered work with other separate and independent
thors of the material; or * e) Declining to grant rights under trademark
modifying a private copy. Propagation includes copying, distribution works, which are not by their nature extensions of the covered work,
law for use of some trade names, trademarks, or service marks; or * If, pursuant to or in connection with a single transaction or arrange-
(with or without modification), making available to the public, and in and which are not combined with it such as to form a larger program,
f) Requiring indemnification of licensors and authors of that material ment, you convey, or propagate by procuring conveyance of, a covered
some countries other activities as well. in or on a volume of a storage or distribution medium, is called an
by anyone who conveys the material (or modified versions of it) with work, and grant a patent license to some of the parties receiving the
“aggregate” if the compilation and its resulting copyright are not used
contractual assumptions of liability to the recipient, for any liability covered work authorizing them to use, propagate, modify or convey a
to limit the access or legal rights of the compilation’s users beyond
To “convey” a work means any kind of propagation that enables other that these contractual assumptions directly impose on those licensors specific copy of the covered work, then the patent license you grant is
what the individual works permit. Inclusion of a covered work in an
parties to make or receive copies. Mere interaction with a user through and authors. automatically extended to all recipients of the covered work and works
aggregate does not cause this License to apply to the other parts of
a computer network, with no transfer of a copy, is not conveying. based on it.
the aggregate. 6. Conveying Non-Source Forms.
All other non-permissive additional terms are considered “further re-
An interactive user interface displays “Appropriate Legal Notices” to strictions” within the meaning of section 10. If the Program as you A patent license is “discriminatory” if it does not include within the
You may convey a covered work in object code form under the terms of
the extent that it includes a convenient and prominently visible fea- received it, or any part of it, contains a notice stating that it is gov- scope of its coverage, prohibits the exercise of, or is conditioned on the
sections 4 and 5, provided that you also convey the machine-readable
ture that (1) displays an appropriate copyright notice, and (2) tells the erned by this License along with a term that is a further restriction, non-exercise of one or more of the rights that are specifically granted
Corresponding Source under the terms of this License, in one of these
user that there is no warranty for the work (except to the extent that you may remove that term. If a license document contains a further under this License. You may not convey a covered work if you are
ways:
warranties are provided), that licensees may convey the work under restriction but permits relicensing or conveying under this License, you a party to an arrangement with a third party that is in the business
this License, and how to view a copy of this License. If the inter- may add to a covered work material governed by the terms of that li- of distributing software, under which you make payment to the third
face presents a list of user commands or options, such as a menu, a * a) Convey the object code in, or embodied in, a physical product (in- cense document, provided that the further restriction does not survive party based on the extent of your activity of conveying the work, and
prominent item in the list meets this criterion. 1. Source Code. cluding a physical distribution medium), accompanied by the Corre- such relicensing or conveying. under which the third party grants, to any of the parties who would
sponding Source fixed on a durable physical medium customarily used
receive the covered work from you, a discriminatory patent license (a)
for software interchange. * b) Convey the object code in, or embodied
The “source code” for a work means the preferred form of the work for If you add terms to a covered work in accord with this section, you in connection with copies of the covered work conveyed by you (or
in, a physical product (including a physical distribution medium), ac-
making modifications to it. “Object code” means any non-source form must place, in the relevant source files, a statement of the additional copies made from those copies), or (b) primarily for and in connection
companied by a written offer, valid for at least three years and valid
of a work. terms that apply to those files, or a notice indicating where to find the with specific products or compilations that contain the covered work,
for as long as you offer spare parts or customer support for that prod-
applicable terms. unless you entered into that arrangement, or that patent license was
uct model, to give anyone who possesses the object code either (1) a
A “Standard Interface” means an interface that either is an official granted, prior to 28 March 2007.
copy of the Corresponding Source for all the software in the product
standard defined by a recognized standards body, or, in the case of that is covered by this License, on a durable physical medium cus- Additional terms, permissive or non-permissive, may be stated in the
interfaces specified for a particular programming language, one that is tomarily used for software interchange, for a price no more than your Nothing in this License shall be construed as excluding or limiting any
form of a separately written license, or stated as exceptions; the above
widely used among developers working in that language. reasonable cost of physically performing this conveying of source, or implied license or other defenses to infringement that may otherwise
requirements apply either way. 8. Termination.
(2) access to copy the Corresponding Source from a network server at be available to you under applicable patent law. 12. No Surrender of
The “System Libraries” of an executable work include anything, other no charge. * c) Convey individual copies of the object code with a Others’ Freedom.
than the work as a whole, that (a) is included in the normal form of copy of the written offer to provide the Corresponding Source. This You may not propagate or modify a covered work except as expressly
packaging a Major Component, but which is not part of that Major alternative is allowed only occasionally and noncommercially, and only provided under this License. Any attempt otherwise to propagate or If conditions are imposed on you (whether by court order, agreement
Component, and (b) serves only to enable use of the work with that if you received the object code with such an offer, in accord with sub- modify it is void, and will automatically terminate your rights under or otherwise) that contradict the conditions of this License, they do
Major Component, or to implement a Standard Interface for which an section 6b. * d) Convey the object code by offering access from a this License (including any patent licenses granted under the third not excuse you from the conditions of this License. If you cannot con-
implementation is available to the public in source code form. A “Ma- designated place (gratis or for a charge), and offer equivalent access to paragraph of section 11). vey a covered work so as to satisfy simultaneously your obligations
jor Component”, in this context, means a major essential component the Corresponding Source in the same way through the same place at under this License and any other pertinent obligations, then as a con-
(kernel, window system, and so on) of the specific operating system (if no further charge. You need not require recipients to copy the Corre- However, if you cease all violation of this License, then your license sequence you may not convey it at all. For example, if you agree to
any) on which the executable work runs, or a compiler used to produce sponding Source along with the object code. If the place to copy the from a particular copyright holder is reinstated (a) provisionally, un- terms that obligate you to collect a royalty for further conveying from
the work, or an object code interpreter used to run it. object code is a network server, the Corresponding Source may be on a less and until the copyright holder explicitly and finally terminates those to whom you convey the Program, the only way you could satisfy
both those terms and this License would be to refrain entirely from Later license versions may give you additional or different permissions. If the disclaimer of warranty and limitation of liability provided above You should have received a copy of the GNU General Public License
conveying the Program. 13. Use with the GNU Affero General Public However, no additional obligations are imposed on any author or copy- cannot be given local legal effect according to their terms, reviewing along with this program. If not, see <http://www.gnu.org/licenses/>.
License. right holder as a result of your choosing to follow a later version. 15. courts shall apply local law that most closely approximates an abso-
Disclaimer of Warranty. lute waiver of all civil liability in connection with the Program, unless a
warranty or assumption of liability accompanies a copy of the Program Also add information on how to contact you by electronic and paper
Notwithstanding any other provision of this License, you have permis- in return for a fee. mail.
sion to link or combine any covered work with a work licensed under
version 3 of the GNU Affero General Public License into a single com- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EX-
TENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN END OF TERMS AND CONDITIONS How to Apply These Terms If the program does terminal interaction, make it output a short notice
bined work, and to convey the resulting work. The terms of this Li-
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLD- to Your New Programs like this when it starts in an interactive mode:
cense will continue to apply to the part which is the covered work, but
the special requirements of the GNU Affero General Public License, ERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
section 13, concerning interaction through a network will apply to the “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EX- If you develop a new program, and you want it to be of the greatest <program> Copyright (C) <year> <name of author> This program
combination as such. 14. Revised Versions of this License. PRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, possible use to the public, the best way to achieve this is to make it comes with ABSOLUTELY NO WARRANTY; for details type ‘show
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND free software which everyone can redistribute and change under these w’. This is free software, and you are welcome to redistribute it under
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK terms. certain conditions; type ‘show c’ for details.
The Free Software Foundation may publish revised and/or new ver- AS TO THE QUALITY AND PERFORMANCE OF THE PRO-
sions of the GNU General Public License from time to time. Such new GRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DE-
To do so, attach the following notices to the program. It is safest to
versions will be similar in spirit to the present version, but may differ FECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SER- The hypothetical commands ‘show w’ and ‘show c’ should show the
attach them to the start of each source file to most effectively state the
in detail to address new problems or concerns. VICING, REPAIR OR CORRECTION. 16. Limitation of Liability. appropriate parts of the General Public License. Of course, your pro-
exclusion of warranty; and each file should have at least the “copyright”
line and a pointer to where the full notice is found. gram’s commands might be different; for a GUI interface, you would
use an “about box”.
Each version is given a distinguishing version number. If the Program
specifies that a certain numbered version of the GNU General Pub- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
<one line to give the program’s name and a brief idea of what it does.>
lic License “or any later version” applies to it, you have the option of AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, You should also get your employer (if you work as a programmer) or
Copyright (C) <year> <name of author>
following the terms and conditions either of that numbered version or OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS school, if any, to sign a “copyright disclaimer” for the program, if nec-
of any later version published by the Free Software Foundation. If THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU essary. For more information on this, and how to apply and follow the
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCI- This program is free software: you can redistribute it and/or modify
the Program does not specify a version number of the GNU General it under the terms of the GNU General Public License as published by GNU GPL, see <http://www.gnu.org/licenses/>.
Public License, you may choose any version ever published by the Free DENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING the Free Software Foundation, either version 3 of the License, or (at
Software Foundation. your option) any later version.
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING REN- The GNU General Public License does not permit incorporating your
DERED INACCURATE OR LOSSES SUSTAINED BY YOU OR program into proprietary programs. If your program is a subroutine
If the Program specifies that a proxy can decide which future versions THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPER- This program is distributed in the hope that it will be useful, but library, you may consider it more useful to permit linking proprietary
of the GNU General Public License can be used, that proxy’s public ATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER WITHOUT ANY WARRANTY; without even the implied warranty applications with the library. If this is what you want to do, use the
statement of acceptance of a version permanently authorizes you to OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR- GNU Lesser General Public License instead of this License. But first,
choose that version for the Program. OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. POSE. See the GNU General Public License for more details. please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.

67.2. GNU Free Documentation License


Version 1.3, 3 November 2008 following text that translates XYZ in another language. (Here XYZ in their titles. Section numbers or the equivalent are not considered (section 1) will typically require changing the actual title. 9. TERMI-
stands for a specific section name mentioned below, such as ”Acknowl- part of the section titles. * M. Delete any section Entitled ”Endorse- NATION
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, edgements”, ”Dedications”, ”Endorsements”, or ”History”.) To ”Preserve ments”. Such a section may not be included in the Modified Version.
Inc. <http://fsf.org/> the Title” of such a section when you modify the Document means that * N. Do not retitle any existing section to be Entitled ”Endorsements” You may not copy, modify, sublicense, or distribute the Document
it remains a section ”Entitled XYZ” according to this definition. or to conflict in title with any Invariant Section. * O. Preserve any except as expressly provided under this License. Any attempt oth-
Warranty Disclaimers. erwise to copy, modify, sublicense, or distribute it is void, and will
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed. 0. PREAMBLE The Document may include Warranty Disclaimers next to the notice automatically terminate your rights under this License.
which states that this License applies to the Document. These War- If the Modified Version includes new front-matter sections or appen-
ranty Disclaimers are considered to be included by reference in this dices that qualify as Secondary Sections and contain no material copied However, if you cease all violation of this License, then your license
The purpose of this License is to make a manual, textbook, or other License, but only as regards disclaiming warranties: any other impli- from the Document, you may at your option designate some or all of from a particular copyright holder is reinstated (a) provisionally, un-
functional and useful document ”free” in the sense of freedom: to as- cation that these Warranty Disclaimers may have is void and has no these sections as invariant. To do this, add their titles to the list of less and until the copyright holder explicitly and finally terminates
sure everyone the effective freedom to copy and redistribute it, with or effect on the meaning of this License. 2. VERBATIM COPYING Invariant Sections in the Modified Version’s license notice. These titles your license, and (b) permanently, if the copyright holder fails to no-
without modifying it, either commercially or noncommercially. Sec-
must be distinct from any other section titles. tify you of the violation by some reasonable means prior to 60 days
ondarily, this License preserves for the author and publisher a way to
get credit for their work, while not being considered responsible for You may copy and distribute the Document in any medium, either after the cessation.
modifications made by others. commercially or noncommercially, provided that this License, the You may add a section Entitled ”Endorsements”, provided it con-
copyright notices, and the license notice saying this License applies tains nothing but endorsements of your Modified Version by various Moreover, your license from a particular copyright holder is reinstated
to the Document are reproduced in all copies, and that you add no parties—for example, statements of peer review or that the text has permanently if the copyright holder notifies you of the violation by
This License is a kind of ”copyleft”, which means that derivative works other conditions whatsoever to those of this License. You may not use been approved by an organization as the authoritative definition of a some reasonable means, this is the first time you have received notice
of the document must themselves be free in the same sense. It com- technical measures to obstruct or control the reading or further copy- standard. of violation of this License (for any work) from that copyright holder,
plements the GNU General Public License, which is a copyleft license ing of the copies you make or distribute. However, you may accept
designed for free software. and you cure the violation prior to 30 days after your receipt of the
compensation in exchange for copies. If you distribute a large enough notice.
You may add a passage of up to five words as a Front-Cover Text,
number of copies you must also follow the conditions in section 3.
and a passage of up to 25 words as a Back-Cover Text, to the end
We have designed this License in order to use it for manuals for free
of the list of Cover Texts in the Modified Version. Only one passage Termination of your rights under this section does not terminate the
software, because free software needs free documentation: a free pro- You may also lend copies, under the same conditions stated above, and of Front-Cover Text and one of Back-Cover Text may be added by licenses of parties who have received copies or rights from you under
gram should come with manuals providing the same freedoms that the you may publicly display copies. 3. COPYING IN QUANTITY (or through arrangements made by) any one entity. If the Document this License. If your rights have been terminated and not permanently
software does. But this License is not limited to software manuals;
already includes a cover text for the same cover, previously added by reinstated, receipt of a copy of some or all of the same material does
it can be used for any textual work, regardless of subject matter or
If you publish printed copies (or copies in media that commonly have you or by arrangement made by the same entity you are acting on not give you any rights to use it. 10. FUTURE REVISIONS OF THIS
whether it is published as a printed book. We recommend this Li-
printed covers) of the Document, numbering more than 100, and the behalf of, you may not add another; but you may replace the old one, LICENSE
cense principally for works whose purpose is instruction or reference.
Document’s license notice requires Cover Texts, you must enclose the on explicit permission from the previous publisher that added the old
1. APPLICABILITY AND DEFINITIONS
copies in covers that carry, clearly and legibly, all these Cover Texts: one.
The Free Software Foundation may publish new, revised versions
Front-Cover Texts on the front cover, and Back-Cover Texts on the
This License applies to any manual or other work, in any medium, of the GNU Free Documentation License from time to time. Such
back cover. Both covers must also clearly and legibly identify you as The author(s) and publisher(s) of the Document do not by this Li-
that contains a notice placed by the copyright holder saying it can new versions will be similar in spirit to the present version, but
the publisher of these copies. The front cover must present the full title cense give permission to use their names for publicity for or to as-
be distributed under the terms of this License. Such a notice grants a may differ in detail to address new problems or concerns. See
with all words of the title equally prominent and visible. You may add sert or imply endorsement of any Modified Version. 5. COMBINING
world-wide, royalty-free license, unlimited in duration, to use that work http://www.gnu.org/copyleft/.
other material on the covers in addition. Copying with changes limited DOCUMENTS
under the conditions stated herein. The ”Document”, below, refers to to the covers, as long as they preserve the title of the Document and
any such manual or work. Any member of the public is a licensee, and satisfy these conditions, can be treated as verbatim copying in other Each version of the License is given a distinguishing version number.
is addressed as ”you”. You accept the license if you copy, modify or respects. You may combine the Document with other documents released under If the Document specifies that a particular numbered version of this
distribute the work in a way requiring permission under copyright law. this License, under the terms defined in section 4 above for modified License ”or any later version” applies to it, you have the option of
versions, provided that you include in the combination all of the In- following the terms and conditions either of that specified version or
If the required texts for either cover are too voluminous to fit legibly, variant Sections of all of the original documents, unmodified, and list
A ”Modified Version” of the Document means any work containing the of any later version that has been published (not as a draft) by the
you should put the first ones listed (as many as fit reasonably) on the them all as Invariant Sections of your combined work in its license
Document or a portion of it, either copied verbatim, or with modifica- Free Software Foundation. If the Document does not specify a version
actual cover, and continue the rest onto adjacent pages. notice, and that you preserve all their Warranty Disclaimers.
tions and/or translated into another language. number of this License, you may choose any version ever published
(not as a draft) by the Free Software Foundation. If the Document
If you publish or distribute Opaque copies of the Document numbering specifies that a proxy can decide which future versions of this License
A ”Secondary Section” is a named appendix or a front-matter sec- The combined work need only contain one copy of this License, and
more than 100, you must either include a machine-readable Transpar- can be used, that proxy’s public statement of acceptance of a version
tion of the Document that deals exclusively with the relationship of multiple identical Invariant Sections may be replaced with a single
ent copy along with each Opaque copy, or state in or with each Opaque permanently authorizes you to choose that version for the Document.
the publishers or authors of the Document to the Document’s overall copy. If there are multiple Invariant Sections with the same name
copy a computer-network location from which the general network- 11. RELICENSING
subject (or to related matters) and contains nothing that could fall but different contents, make the title of each such section unique by
using public has access to download using public-standard network
directly within that overall subject. (Thus, if the Document is in part adding at the end of it, in parentheses, the name of the original au-
protocols a complete Transparent copy of the Document, free of added
a textbook of mathematics, a Secondary Section may not explain any thor or publisher of that section if known, or else a unique number. ”Massive Multiauthor Collaboration Site” (or ”MMC Site”) means any
material. If you use the latter option, you must take reasonably pru-
mathematics.) The relationship could be a matter of historical connec- Make the same adjustment to the section titles in the list of Invariant World Wide Web server that publishes copyrightable works and also
dent steps, when you begin distribution of Opaque copies in quantity,
tion with the subject or with related matters, or of legal, commercial, Sections in the license notice of the combined work. provides prominent facilities for anybody to edit those works. A public
to ensure that this Transparent copy will remain thus accessible at the
philosophical, ethical or political position regarding them. stated location until at least one year after the last time you distribute wiki that anybody can edit is an example of such a server. A ”Massive
an Opaque copy (directly or through your agents or retailers) of that In the combination, you must combine any sections Entitled ”History” Multiauthor Collaboration” (or ”MMC”) contained in the site means
edition to the public. in the various original documents, forming one section Entitled ”His- any set of copyrightable works thus published on the MMC site.
The ”Invariant Sections” are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice that tory”; likewise combine any sections Entitled ”Acknowledgements”, and
says that the Document is released under this License. If a section does any sections Entitled ”Dedications”. You must delete all sections En- ”CC-BY-SA” means the Creative Commons Attribution-Share Alike
It is requested, but not required, that you contact the authors of the
not fit the above definition of Secondary then it is not allowed to be titled ”Endorsements”. 6. COLLECTIONS OF DOCUMENTS 3.0 license published by Creative Commons Corporation, a not-for-
Document well before redistributing any large number of copies, to
designated as Invariant. The Document may contain zero Invariant give them a chance to provide you with an updated version of the profit corporation with a principal place of business in San Francisco,
Sections. If the Document does not identify any Invariant Sections Document. 4. MODIFICATIONS You may make a collection consisting of the Document and other doc- California, as well as future copyleft versions of that license published
then there are none. uments released under this License, and replace the individual copies by that same organization.
of this License in the various documents with a single copy that is
You may copy and distribute a Modified Version of the Document un-
The ”Cover Texts” are certain short passages of text that are listed, as included in the collection, provided that you follow the rules of this ”Incorporate” means to publish or republish a Document, in whole or
der the conditions of sections 2 and 3 above, provided that you release
Front-Cover Texts or Back-Cover Texts, in the notice that says that License for verbatim copying of each of the documents in all other in part, as part of another Document.
the Modified Version under precisely this License, with the Modified
the Document is released under this License. A Front-Cover Text may respects.
Version filling the role of the Document, thus licensing distribution
be at most 5 words, and a Back-Cover Text may be at most 25 words. and modification of the Modified Version to whoever possesses a copy An MMC is ”eligible for relicensing” if it is licensed under this License,
of it. In addition, you must do these things in the Modified Version: You may extract a single document from such a collection, and dis- and if all works that were first published under this License somewhere
A ”Transparent” copy of the Document means a machine-readable tribute it individually under this License, provided you insert a copy other than this MMC, and subsequently incorporated in whole or in
copy, represented in a format whose specification is available to the * A. Use in the Title Page (and on the covers, if any) a title dis- of this License into the extracted document, and follow this License part into the MMC, (1) had no cover texts or invariant sections, and
general public, that is suitable for revising the document straightfor- tinct from that of the Document, and from those of previous versions in all other respects regarding verbatim copying of that document. 7. (2) were thus incorporated prior to November 1, 2008.
wardly with generic text editors or (for images composed of pixels) (which should, if there were any, be listed in the History section of AGGREGATION WITH INDEPENDENT WORKS
generic paint programs or (for drawings) some widely available drawing the Document). You may use the same title as a previous version if The operator of an MMC Site may republish an MMC contained in
editor, and that is suitable for input to text formatters or for automatic the original publisher of that version gives permission. * B. List on A compilation of the Document or its derivatives with other separate the site under CC-BY-SA on the same site at any time before August
translation to a variety of formats suitable for input to text formatters. the Title Page, as authors, one or more persons or entities responsible and independent documents or works, in or on a volume of a storage or 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM:
A copy made in an otherwise Transparent file format whose markup, for authorship of the modifications in the Modified Version, together distribution medium, is called an ”aggregate” if the copyright resulting How to use this License for your documents
or absence of markup, has been arranged to thwart or discourage sub- with at least five of the principal authors of the Document (all of its from the compilation is not used to limit the legal rights of the com-
sequent modification by readers is not Transparent. An image format principal authors, if it has fewer than five), unless they release you pilation’s users beyond what the individual works permit. When the
is not Transparent if used for any substantial amount of text. A copy To use this License in a document you have written, include a copy
from this requirement. * C. State on the Title page the name of the Document is included in an aggregate, this License does not apply to
that is not ”Transparent” is called ”Opaque”. of the License in the document and put the following copyright and
publisher of the Modified Version, as the publisher. * D. Preserve the other works in the aggregate which are not themselves derivative
license notices just after the title page:
all the copyright notices of the Document. * E. Add an appropriate works of the Document.
Examples of suitable formats for Transparent copies include plain copyright notice for your modifications adjacent to the other copyright
ASCII without markup, Texinfo input format, LaTeX input for- notices. * F. Include, immediately after the copyright notices, a license Copyright (C) YEAR YOUR NAME. Permission is granted to copy,
If the Cover Text requirement of section 3 is applicable to these copies distribute and/or modify this document under the terms of the GNU
mat, SGML or XML using a publicly available DTD, and standard- notice giving the public permission to use the Modified Version under of the Document, then if the Document is less than one half of the
conforming simple HTML, PostScript or PDF designed for human the terms of this License, in the form shown in the Addendum below. Free Documentation License, Version 1.3 or any later version pub-
entire aggregate, the Document’s Cover Texts may be placed on cov- lished by the Free Software Foundation; with no Invariant Sections,
modification. Examples of transparent image formats include PNG, * G. Preserve in that license notice the full lists of Invariant Sections ers that bracket the Document within the aggregate, or the electronic
XCF and JPG. Opaque formats include proprietary formats that can and required Cover Texts given in the Document’s license notice. * no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
equivalent of covers if the Document is in electronic form. Otherwise is included in the section entitled ”GNU Free Documentation License”.
be read and edited only by proprietary word processors, SGML or H. Include an unaltered copy of this License. * I. Preserve the section they must appear on printed covers that bracket the whole aggregate.
XML for which the DTD and/or processing tools are not generally Entitled ”History”, Preserve its Title, and add to it an item stating at 8. TRANSLATION
available, and the machine-generated HTML, PostScript or PDF pro- least the title, year, new authors, and publisher of the Modified Ver- If you have Invariant Sections, Front-Cover Texts and Back-Cover
duced by some word processors for output purposes only. sion as given on the Title Page. If there is no section Entitled ”History” Texts, replace the ”with … Texts.” line with this:
in the Document, create one stating the title, year, authors, and pub- Translation is considered a kind of modification, so you may distribute
lisher of the Document as given on its Title Page, then add an item translations of the Document under the terms of section 4. Replacing
The ”Title Page” means, for a printed book, the title page itself, plus Invariant Sections with translations requires special permission from with the Invariant Sections being LIST THEIR TITLES, with the
such following pages as are needed to hold, legibly, the material this describing the Modified Version as stated in the previous sentence. * Front-Cover Texts being LIST, and with the Back-Cover Texts being
J. Preserve the network location, if any, given in the Document for their copyright holders, but you may include translations of some or all
License requires to appear in the title page. For works in formats Invariant Sections in addition to the original versions of these Invari- LIST.
which do not have any title page as such, ”Title Page” means the text public access to a Transparent copy of the Document, and likewise the
network locations given in the Document for previous versions it was ant Sections. You may include a translation of this License, and all the
near the most prominent appearance of the work’s title, preceding the license notices in the Document, and any Warranty Disclaimers, pro- If you have Invariant Sections without Cover Texts, or some other
beginning of the body of the text. based on. These may be placed in the ”History” section. You may omit
a network location for a work that was published at least four years vided that you also include the original English version of this License combination of the three, merge those two alternatives to suit the sit-
before the Document itself, or if the original publisher of the version it and the original versions of those notices and disclaimers. In case of a uation.
The ”publisher” means any person or entity that distributes copies of refers to gives permission. * K. For any section Entitled ”Acknowledge- disagreement between the translation and the original version of this
the Document to the public. ments” or ”Dedications”, Preserve the Title of the section, and preserve License or a notice or disclaimer, the original version will prevail. If your document contains nontrivial examples of program code, we
in the section all the substance and tone of each of the contributor ac- recommend releasing these examples in parallel under your choice of
A section ”Entitled XYZ” means a named subunit of the Document knowledgements and/or dedications given therein. * L. Preserve all If a section in the Document is Entitled ”Acknowledgements”, ”Dedi- free software license, such as the GNU General Public License, to per-
whose title either is precisely XYZ or contains XYZ in parentheses the Invariant Sections of the Document, unaltered in their text and cations”, or ”History”, the requirement (section 4) to Preserve its Title mit their use in free software.
67.3. GNU Lesser General Public License
GNU LESSER GENERAL PUBLIC LICENSE The “Corresponding Application Code” for a Combined Work means You may convey a Combined Work under terms of your choice that, You may place library facilities that are a work based on the Library
the object code and/or source code for the Application, including any taken together, effectively do not restrict modification of the portions side by side in a single library together with other library facilities that
Version 3, 29 June 2007 data and utility programs needed for reproducing the Combined Work of the Library contained in the Combined Work and reverse engineer- are not Applications and are not covered by this License, and convey
from the Application, but excluding the System Libraries of the Com- ing for debugging such modifications, if you also do each of the follow- such a combined library under terms of your choice, if you do both of
bined Work. 1. Exception to Section 3 of the GNU GPL. ing: the following:
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
You may convey a covered work under sections 3 and 4 of this License * a) Accompany the combined library with a copy of the same work
Everyone is permitted to copy and distribute verbatim copies of this without being bound by section 3 of the GNU GPL. 2. Conveying * a) Give prominent notice with each copy of the Combined Work
license document, but changing it is not allowed. that the Library is used in it and that the Library and its use are based on the Library, uncombined with any other library facilities,
Modified Versions. conveyed under the terms of this License. * b) Give prominent no-
covered by this License. * b) Accompany the Combined Work with a
copy of the GNU GPL and this license document. * c) For a Com- tice with the combined library that part of it is a work based on the
This version of the GNU Lesser General Public License incorporates If you modify a copy of the Library, and, in your modifications, a fa- Library, and explaining where to find the accompanying uncombined
the terms and conditions of version 3 of the GNU General Public Li- bined Work that displays copyright notices during execution, include
cility refers to a function or data to be supplied by an Application that the copyright notice for the Library among these notices, as well as a form of the same work.
cense, supplemented by the additional permissions listed below. 0. uses the facility (other than as an argument passed when the facility
Additional Definitions. reference directing the user to the copies of the GNU GPL and this
is invoked), then you may convey a copy of the modified version: license document. * d) Do one of the following: o 0) Convey the 6. Revised Versions of the GNU Lesser General Public License.
Minimal Corresponding Source under the terms of this License, and
As used herein, “this License” refers to version 3 of the GNU Lesser * a) under this License, provided that you make a good faith effort to the Corresponding Application Code in a form suitable for, and under
General Public License, and the “GNU GPL” refers to version 3 of the ensure that, in the event an Application does not supply the function terms that permit, the user to recombine or relink the Application The Free Software Foundation may publish revised and/or new ver-
GNU General Public License. or data, the facility still operates, and performs whatever part of its with a modified version of the Linked Version to produce a modified sions of the GNU Lesser General Public License from time to time.
purpose remains meaningful, or * b) under the GNU GPL, with none Combined Work, in the manner specified by section 6 of the GNU Such new versions will be similar in spirit to the present version, but
“The Library” refers to a covered work governed by this License, other of the additional permissions of this License applicable to that copy. GPL for conveying Corresponding Source. o 1) Use a suitable shared may differ in detail to address new problems or concerns.
than an Application or a Combined Work as defined below. library mechanism for linking with the Library. A suitable mechanism
3. Object Code Incorporating Material from Library Header Files. is one that (a) uses at run time a copy of the Library already present Each version is given a distinguishing version number. If the Library
An “Application” is any work that makes use of an interface provided on the user’s computer system, and (b) will operate properly with a as you received it specifies that a certain numbered version of the GNU
by the Library, but which is not otherwise based on the Library. Defin- The object code form of an Application may incorporate material from modified version of the Library that is interface-compatible with the Lesser General Public License “or any later version” applies to it, you
ing a subclass of a class defined by the Library is deemed a mode of a header file that is part of the Library. You may convey such object Linked Version. * e) Provide Installation Information, but only if you have the option of following the terms and conditions either of that
using an interface provided by the Library. code under terms of your choice, provided that, if the incorporated ma- would otherwise be required to provide such information under section published version or of any later version published by the Free Software
terial is not limited to numerical parameters, data structure layouts 6 of the GNU GPL, and only to the extent that such information is Foundation. If the Library as you received it does not specify a version
and accessors, or small macros, inline functions and templates (ten or necessary to install and execute a modified version of the Combined number of the GNU Lesser General Public License, you may choose
A “Combined Work” is a work produced by combining or linking an Work produced by recombining or relinking the Application with a
Application with the Library. The particular version of the Library fewer lines in length), you do both of the following: any version of the GNU Lesser General Public License ever published
modified version of the Linked Version. (If you use option 4d0, the by the Free Software Foundation.
with which the Combined Work was made is also called the “Linked Installation Information must accompany the Minimal Corresponding
Version”. * a) Give prominent notice with each copy of the object code that the Source and Corresponding Application Code. If you use option 4d1,
Library is used in it and that the Library and its use are covered by you must provide the Installation Information in the manner specified If the Library as you received it specifies that a proxy can decide
The “Minimal Corresponding Source” for a Combined Work means the this License. * b) Accompany the object code with a copy of the GNU by section 6 of the GNU GPL for conveying Corresponding Source.) whether future versions of the GNU Lesser General Public License
Corresponding Source for the Combined Work, excluding any source GPL and this license document. shall apply, that proxy’s public statement of acceptance of any ver-
code for portions of the Combined Work that, considered in isolation, sion is permanent authorization for you to choose that version for the
are based on the Application, and not on the Linked Version. 4. Combined Works. 5. Combined Libraries. Library.

You might also like