Chapter 18: Modes
62
18 Modes
When L
A
T
E
Xis processing your input text, it is always in one of three modes:
 Paragraph mode
 Math mode
 Left-to-right mode, called LR mode for short
L
A
T
E
Xchanges mode only when it goes up or down a staircase to a different level, though
not all level changes produce mode changes. Mode changes occur only when entering or
leaving an environment, or when L
A
T
E
Xis processing the argument of certain text-producing
commands.
“Paragraph mode” is the most common; it’s the one L
A
T
E
Xis in whenprocessing ordinary
text. In that mode, LAT
E
Xbreaks your text into lines and breaks the lines into pages. LAT
E
X
is in “math mode” when it’s generating a mathematical formula. In “LR mode”, as in
paragraph mode, LAT
E
Xconsiders the output that it produces to be a string of words with
spaces between them. However, unlike paragraph mode, LAT
E
X keeps going from left to
right; it never starts a new line in LR mode. Even if you put a hundred words into an
\mbox, LAT
E
Xwould keep typesetting them from left to right inside a single box, and then
complain because the resulting box was too wide to fit on the line.
LAT
E
Xis in LR mode when it starts making a box with an \mbox command. You can
get it to enter a different mode inside the box - for example, you can make it enter math
mode to put a formula in the box. There are also several text-producing commands and
environments for making a box that put L
A
T
E
Xin paragraph mode. The box make by one
of these commands or environments will be called a parbox. When LAT
E
Xis in paragraph
mode while making a box, it is said to be in “inner paragraph mode”. Its normal paragraph
mode, which it starts out in, is called “outer paragraph mode”.
Convert pdf to web page online - SDK application project:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to web page online - SDK application project:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
Chapter 19: Page styles
63
19 Page styles
The \documentclass command determines the size and position of the page’s head and
foot. The page style determines what goes in them.
19.1 \maketitle
The \maketitle command generates a title on a separate title page—except in the article
class, where the title is placed at the top of the first page. Information used to produce the
title is obtained from the following declarations:
\author{name \and name2}
The \author command declares the document author(s), where the argument
is a list of authors separated by \and commands. Use \\ to separate lines
within a single author’s entry—for example, to give the author’s institution or
address.
\date{text}
The \date command declares text to be the document’s date. With no \date
command, the current date (see Section 22.6 [\today], page 76) is used.
\thanks{text}
The \thanks command produces a \footnote to the title, usually used for
credit acknowledgements.
\title{text}
The \title command declares text to be the title of the document. Use \\ to
force a line break, as usual.
19.2 \pagenumbering
Synopsis:
\pagenumbering{style}
Specifies the style of page numbers, according to style:
arabic
arabic numerals
roman
lowercase Roman numerals
Roman
uppercase Roman numerals
alph
lowercase letters
Alph
uppercase letters
19.3 \pagestyle
Synopsis:
\pagestyle{style}
The \pagestyle command specifies how the headers and footers are typeset from the
current page onwards. Values for style:
plain
Just a plain page number.
SDK application project:XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. Wide range of web browsers support including IE9+ powerful & profession imaging controls, PDF document, image to
www.rasteredge.com
SDK application project:DocImage SDK for .NET: Web Document Image Viewer Online Demo
Document Viewer Demo to View, Annotate, Convert and Print upload a file to display in web viewer Suppported files are Word, Excel, PowerPoint, PDF, Tiff, Dicom
www.rasteredge.com
Chapter 19: Page styles
64
empty
Empty headers and footers, e.g., no page numbers.
headings Put running headers on each page. The document style specifies what goes in
the headers.
myheadings
Custom headers, specified via the \markboth or the \markright commands.
Here are the descriptions of \markboth and \markright:
\markboth{left}{right}
Sets both the left and the right heading. A “left-hand heading” (left) is gener-
ated by the last \markboth command before the end of the page, while a “right-
hand heading” (right) is generated by the first \markboth or \markright that
comes on the page if there is one, otherwise by the last one before the page.
\markright{right}
Sets the right heading, leaving the left heading unchanged.
19.4 \thispagestyle{style}
The \thispagestyle command works in the same manner as the \pagestyle command
(see previous section) except that it changes to style for the current page only.
SDK application project:C# PDF: How to Create PDF Document Viewer in C#.NET with
Support rendering web viewer PDF document to images or svg file; Free to convert viewing PDF document to TIFF file for document management;
www.rasteredge.com
SDK application project:C# HTML5 Viewer: Load, View, Convert, Annotate and Edit PDF
such as convert PDF to Microsoft Office Word (.docx) online, convert PDF to multi PDF Annotation. HTML5 Viewer for C# .NET is an advanced web viewer of rich
www.rasteredge.com
Chapter 20: Spaces
65
20 Spaces
LAT
E
Xhas many ways to produce white (or filled) space.
Another space-producing command is \, to produce a “thin” space (usually 1/6quad).
It can be used in text mode, but is more often useful in math mode (see Section 17.5
[Spacing in math mode], page 60).
20.1 \hspace
Synopsis:
\hspace[*]{length}
The \hspace command adds horizontal space. The length argument can be expressed
in any terms that LAT
E
Xunderstands: points, inches, etc. It is a rubber length. You can
add both negative and positive space with an \hspace command; adding negative space is
like backspacing.
L
A
T
E
Xnormally removes horizontal space that comes at the beginning or end of a line.
To preserve this space, use the optional * form.
20.2 \hfill
The \hfill fill command produces a “rubber length” which has no natural space but can
stretch or shrink horizontally as far as needed.
The \fill parameter is the rubber length itself (technically, the glue value ‘0pt
plus1fill’); thus, \hspace\fill is equivalent to \hfill.
20.3 \SPACE
The \ (space) command produces a normal interword space. It’s useful after punctuation
which shouldn’t end a sentence. For example Knuth’s article in Proc.\ Amer.\ Math\.
Soc.\ is fundamental. It is also often used after control sequences, as in \TeX\ is a nice
system.
In normal circumstances, \tab and \newline are equivalent to \ .
20.4 \@
The \@ command makes the following punctuation character end a sentence even if it
normally would not. This is typically used after a capital letter. Here are side-by-side
examples with and without \@:
... in C\@. Pascal, though ...
... in C. Pascal, though ...
produces
... in C. Pascal, though . ..
... in C. Pascal, though .. .
20.5 \thinspace
\thinspace produces an unbreakable and unstretchable space that is 1/6 of an em. This
is the proper space to use in nested quotes, as in ’”.
SDK application project:XDoc.HTML5 Viewer, Create Web Doc & Image Viewer in C#.NET
pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET convert PDF to SVG. C# Demo Codes for PDF Conversions. 1. Upload a file to your web viewer.
www.rasteredge.com
SDK application project:C# PDF Page Insert Library: insert pages into PDF file in C#.net
both web server-side application and Windows Forms. Ability to add PDF page number in preview. Offer PDF page break inserting function. Free components and online
www.rasteredge.com
Chapter 20: Spaces
66
20.6 \/
The \/ command produces an italic correction. This is a small space defined by the font
designer for a given character, to avoid the character colliding with whatever follows. The
italic f character typically has a large italic correction value.
If the following character is a period or comma, it’s not necessary to insert an italic
correction, since those punctuation symbols have a very small height. However, with semi-
colons or colons, as well as normal letters, it can help. Compare f : f; with f: f;.
Despite the name, roman characters can also have an italic correction. Compare pdfT
E
X
with pdfT
E
X.
20.7 \hrulefill
The \hrulefill fill command produces a “rubber length” which can stretch or shrink
horizontally. It will be filled with a horizontal rule.
20.8 \dotfill
The \dotfill command produces a “rubber length” that fills with dots instead of just
white space.
20.9 \addvspace
\addvspace{length}
The \addvspace command normally adds a vertical space of height length. However,
if vertical space has already been added to the same point in the output by a previous
\addvspace command, then this command will not add more space than needed to make
the natural length of the total vertical space equal to length.
20.10 \bigskip \medskip \smallskip
These commands produce a given amount of space.
\bigskip The same as \vspace{bigskipamount}, ordinarily about one line space (with
stretch and shrink).
\medskip The same as \vspace{medskipamount}, ordinarily about half of a line space
(with stretch and shrink).
\smallskip
The same as \vspace{smallskipamount}, ordinarily about a quarter of a line
space (with stretch and shrink).
The \...amount parameters are determined by the document class.
20.11 \vfill
The \vfill fill command produces a rubber length (glue) which can stretch or shrink
vertically as far as needed. It’s equivalent to \vspace{\fill} (see Section 20.2 [\hfill],
page 65).
SDK application project:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
a more suitable choice for publishing in web services than Using this C#.NET PDF to JPEG conversion library C# developers can easily and quickly convert a large
www.rasteredge.com
SDK application project:C# PDF Convert to SVG SDK: Convert PDF to SVG files in C#.net, ASP
Instantly convert all PDF document pages to SVG image files in C#.NET class Perform high-fidelity PDF to SVG conversion in both ASP.NET web and WinForms
www.rasteredge.com
Chapter 20: Spaces
67
20.12 \vspace[*]{length}
Synopsis:
\vspace[*]{length}
The \vspace command adds the vertical space length, i.e., a rubber length. length can
be negative or positive.
Ordinarily, L
A
T
E
Xremoves vertical space added by \vspace at the top or bottom of a
page. With the optional * argument, the space is not removed.
SDK application project:C# Image: How to Annotate Document Image in Web Viewer with C#.NET
annotations on source image or document page within C# RasterEdge Web Viewer Control provides C# developers with options on documents in TIFF, PDF, Office Word
www.rasteredge.com
Chapter 21: Boxes
68
21 Boxes
All the predefined length parameters (see Section 15.6 [Predefined lengths], page 47) can
be used in the arguments of the box-making commands.
21.1 \mbox{text}
The\mbox commandcreates a box just wideenoughtohold the text createdby its argument.
The text is not broken into lines, so it can be used to prevent hyphenation.
21.2 \fbox and \framebox
Synopses:
\fbox{text}
\framebox[width][position]{text}
The \fbox and \framebox commands are like \mbox, except that they put a frame
around the outside of the box being created.
In addition, the \framebox command allows for explicit specification of the box width
with the optional width argument (a dimension), and positioning with the optional position
argument.
Both commands produce a rule of thickness \fboxrule (default ‘.4pt’), and leave a
space of \fboxsep (default ‘3pt’) between the rule and the contents of the box.
See Section 9.19.3 [\framebox (picture)], page 27, for the \framebox command in the
picture environment.
21.3 lrbox
\begin{lrbox}{cmd} text \end{lrbox}
This is the environment form of \sbox.
The text inside the environment is saved in the box cmd, which must have been declared
with \newsavebox.
21.4 \makebox
Synopsis:
\makebox[width][position]{text}
The \makebox command creates a box just wide enough to contain the text specified.
The width of the box is specified by the optional width argument. The position of the
text within the box is determined by the optional position argument, which may take the
following values:
c
Centered (default).
l
Flush left.
r
Flush right.
s
Stretch (justify) across entire width; text must contain stretchable space for
this to work.
Chapter 21: Boxes
69
\makebox is also used within the picture environment see Section 9.19.2 [\makebox
(picture)], page 26.
21.5 \parbox
Synopsis:
\parbox[position][height][inner-pos]{width}{text}
The \parbox command produces a box whose contents are created in paragraph mode.
It shouldbeusedto make a box smallpieces of text, with nothing fancy inside. Inparticular,
you shouldn’t use any paragraph-making environments inside a \parbox argument. For
larger pieces of text, including ones containing a paragraph-makingenvironment, youshould
use a minipage environment (see Section 9.18 [minipage], page 25).
\parbox has two mandatory arguments:
width
the width of the parbox;
text
the text that goes inside the parbox.
The optional position argument allows you to align either the top or bottom line in the
parbox with the baseline of the surrounding text (default is top).
The optional height argument overrides the natural height of the box.
The inner-pos argument controls the placement of the text inside the box, as follows; if
it is not specified, position is used.
t
text is placed at the top of the box.
c
text is centered in the box.
b
text is placed at the bottom of the box.
s
stretch vertically; the text must contain vertically stretchable space for this to
work.
21.6 \raisebox
Synopsis:
\raisebox{distance}[height][depth]{text}
The \raisebox command raises or lowers text. The first mandatory argument specifies
how high text is to be raised (or lowered if it is a negative amount). text itself is processed
in LR mode.
The optional arguments height and depth are dimensions. If they are specified, LAT
E
X
treats text as extending a certain distance above the baseline (height) or below (depth),
ignoring its natural height and depth.
21.7 \savebox
Synopsis:
\savebox{\boxcmd}[width][pos]{text}
This command typeset text in a box just as with \makebox (see Section 21.4 [\makebox],
page 68), except that instead of printing the resulting box, it saves it in the box labeled
Chapter 21: Boxes
70
\boxcmd, which must have been declared with \newsavebox (see Section 13.4 [\newsave-
box], page 43).
21.8 \sbox{\boxcmd}{text}
Synopsis:
\sbox{\boxcmd}{text}
\sbox types text in a box just as with \mbox (see Section 21.1 [\mbox], page 68) except
that instead of the resulting box being included in the normal output, it is saved in the
box labeled \boxcmd. \boxcmd must have been previously declared with \newsavebox (see
Section 13.4 [\newsavebox], page 43).
21.9 \usebox{\boxcmd
Synopsis:
\usebox{\boxcmd}
\usebox produces the box most recently saved in the bin \boxcmd by a \savebox
command (see Section 21.7 [\savebox], page 69).
Chapter 22: Special insertions
71
22 Special insertions
LAT
E
X provides commands for inserting characters that have a special meaning do not
correspond to simple characters you can type.
22.1 Reserved characters
The following characters play a special role in LAT
E
Xand are called “reserved characters”
or “special characters”.
# $ % & ~ _ ^ \ { }
Whenever you write one of these characters into your file, L
A
T
E
X will do something
special. If you simply want the character to be printed as itself, include a \ in front of the
character. For example, \$ will produce $ in your output.
One exception to this rule is \ itself, because \\ has its own special (context-dependent)
meaning. A roman \ is produced by typing $\backslash$ in your file, and a typewriter \
is produced by using ‘\’ in a verbatim command (see Section 9.28 [verbatim], page 35).
Also, \~ and \^ place tilde and circumflex accents over the following letter, as in ~o and
^o (see Section 22.3 [Accents], page 74); to get a standalone ~ or ^, you can again use a
verbatim command.
Finally, you can access any character of the current font once you know its number by
using the \symbol command. For example, the visible space character used in the \verb*
command has the code decimal 32, so it can be typed as \symbol{32}.
Youcanalso specifyoctalnumbers with ’ or hexadecimalnumbers with ",sothe previous
example could also be written as \symbol{’40} or \symbol{"20}.
22.2 Text symbols
L
A
T
E
X provides commands to generate a number of non-letter symbols in running text.
Some of these, especially the more obscure ones, are not available in OT1; you may need
to load the textcomp package.
\copyright
\textcopyright
The copyright symbol,
c
.
\dag
The dagger symbol (in text).
\ddag
The double dagger symbol (in text).
\LaTeX
The LAT
E
Xlogo.
\guillemotleft («)
\guillemotright (»)
\guilsinglleft ()
\guilsinglright ()
Double and single angle quotation marks, commonly used in French: «,»,,.
Documents you may be interested
Documents you may be interested