L
A
T
E
XTutorials
AP
RIMER
Indian T
E
XUsers Group
Trivandrum, India
2003 September
Changing pdf to html - Library SDK component: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
Changing pdf to html - Library SDK component: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
LAT
E
XT
UTORIALS
—A P
RIMER
Indian T
E
XUsers Group
E
DITOR
:E.Krishnan
C
OVER
:G. S. Krishna
Copyright c2002, 2003 Indian T
E
XUsers Group
Floor
III
,
SJP
Buildings, Cotton Hills
Trivandrum695014, India
http://www.tug.org.in
Permission is granted to copy,distribute and/or modifythis document under theterms ofthe
GNU
FreeDocumentation License, version 1.2, with no invariantsections, no front-cover texts, and no
back-cover texts. A copy of the license is included in the end.
This document is distributed in the hopethatitwill be useful, but without anywarranty; without
even the implied warrantyofmerchantabilityor fitness for aparticular purpose.
Published bytheIndian T
E
XUsers Group
Online versions of this tutorials areavailable at:
http://www.tug.org.in/tutorials.html
Library SDK component:C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
Enable batch changing PDF page orientation without other PDF reader control. Support to overwrite PDF and save rotation changes to original PDF file.
www.rasteredge.com
Library SDK component:VB.NET Word: Word Conversion SDK for Changing Word Document into
VB.NET Word - Convert Word to PDF Using VB. How to Convert Word Document to PDF File in VB.NET Application. Visual C#. VB.NET. Home
www.rasteredge.com
PREFACE
The ideal situation occurs when
thethingsthat weregardasbeau-
tiful are also regarded by other
people as useful.
—Donald Knuth
For us who wrote the following pages, T
E
Xis something beautiful and also useful. We
enjoy T
E
X, sharing the delights of newly discovered secrets amongst ourselves and won-
dering ever a new at the infinite variety of the program and the ingenuity of its creator.
We also lend a helping hand to thenew initiates to this art. Then wethought of extend-
ing this help to a wider group and The Net being the new medium,westarted an online
tutorial. This was well received and now the Free Software Foundation has decided to
publishthese lessons as a book. It is a fitting gesturethat theorganization which upholds
therights of the usertostudy andmodify a softwarepublish a bookononeoftheearliest
programs which allows this right.
Dear reader, read the book,enjoy it and if possible,try to add to it.
TheTUGIndia Tutorial Team
3
Library SDK component:VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
to the target one, this PDF file merge function will put the two target PDF together and save as new PDF, without changing the previous two PDF documents at all
www.rasteredge.com
Library SDK component:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
PDF. Supports tiff compression selection. Supports for changing image size. Also supports convert PDF files to jpg, jpeg images. C#
www.rasteredge.com
4
Library SDK component:C# PDF Password Library: add, remove, edit PDF file password in C#
Able to perform PDF file password adding, deleting and changing in Visual Studio .NET project use C# source code in .NET class. Allow
www.rasteredge.com
Library SDK component:VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
creating, loading, merge and splitting PDF pages and Files, adding a page into PDF document, deleting unnecessary page from PDF file and changing the position
www.rasteredge.com
C
ONTENTS
I
. TheBasics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
I
.1 What isL
A
T
E
X? –7
I
.2 Simpletypesetting– 8
I
.3 Fonts– 13
I
.4 Typesize– 15
II
. TheDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
II
.1 Document class – 17
II
.2 Page style – 18
II
.3 Page numbering – 19
II
.4 Formatting
lengths–20
II
.5 Partsofadocument –20
II
.6 Dividingthedocument– 21
II
.7 Whatnext?
–23
III
. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
III
.1 Introduction–27
III
.2 natbib–28
IV
. BibliographicDatabases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
IV
.1 The B
IB
T
E
X program – 33 
IV
.2 B
IB
T
E
X style files – 33 
IV
.3 Creating a bibliographic
database–34
V
. Table of contents,Index and Glossary . . . . . . . . . . . . . . . . . . . . . . 39
V
.1 Tableofcontents– 39
V
.2 Index–41
V
.3 Glossary–44
VI
. Displayed Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
VI
.1 Borrowedwords–47
VI
.2 Poetryintypesetting–48
VI
.3 Makinglists–48
VI
.4 When
ordermatters–51
VI
.5 Descriptionsanddefinitions–54
VII
. Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
VII
.1 Keeping tabs– 57
VII
.2 Tables–62
VIII
.Typesetting Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
VIII
.1 The basics – 77 
VIII
.2 Custom commands – 81
VIII
.3 More on mathematics – 82 
VIII
.4 Mathematics miscellany – 89 
VIII
.5 New operators – 101 
VIII
.6 The many faces of
mathematics–102
VIII
.7 Andthatisnotall! –103
VIII
.8 Symbols–103
IX
. Typesetting Theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
IX
.1 Theorems in LAT
E
X – 109 
IX
.2 Designer theorems—The amsthm package – 111 
IX
.3
Housekeeping–118
X
. SeveralKinds of Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
X
.1 LR boxes – 119
X
.2 Paragraph boxes – 121
X
.3 Paragraphboxes with specific height –
122
X
.4 Nestedboxes–123
X
.5 Ruleboxes–123
XI
. Floats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
XI
.1 The
figure
environment –125
XI
.2 The
table
environment–130
5
Library SDK component:VB.NET Image: How to Generate Freehand Annotation Through VB.NET
as PDF, TIFF, PNG, BMP, etc. If this VB.NET annotation library is used, you are able to create freehand line annotation in VB.NET application without changing
www.rasteredge.com
Library SDK component:VB.NET Image: Easy to Create Ellipse Annotation with VB.NET
png, gif & bmp; Add ellipse annotation to document files, like PDF & Word to customize ellipse annotation on your document or image by changing its parameters
www.rasteredge.com
6
CONTENTS
XII
. Cross References in LAT
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
XII
.1 Why cross references? – 135
XII
.2 Let LAT
E
Xdo it –135
XII
.3 Pointingtoa page—the
packagevarioref –138
XII
.4 Pointingoutside—thepackagexr– 140
XII
.5 Lost thekeys? Use
lablst.tex
–140
XIII
.Footnotes,Marginpars, and Endnotes . . . . . . . . . . . . . . . . . . . . . . 143
XIII
.1 Footnotes–143
XIII
.2 Marginalnotes– 147
XIII
.3 Endnotes–148
Library SDK component:C# Excel - Excel Page Processing Overview
C#.NET programming. Allow for changing the order of pages in an Excel document in .NET applications using C# language. Enable you
www.rasteredge.com
Library SDK component:C#: How to Edit XDoc.HTML5 Viewer Toolbar Commands
This principle also applies equally to changing tabs order. var _userCmdDemoPdf = new UserCommand("pdf"); ID and Events take RE default.
www.rasteredge.com
TUTORIAL I
THE BASICS
I
.1. W
HAT IS
L
A
T
E
X?
The short and simple answer is that LAT
E
Xis a typesetting program and is an extension
of the original program T
E
Xwritten by Donald Knuth. But then what is a typesetting
program?
To answer this, let us look at the various stages in the preparation of a document
using computers.
1. The text is entered into the computer.
2. The input text is formatted into lines,paragraphs and pages.
3. The output text is displayed on the computer screen.
4. The final output is printed.
In most word processors all these operations are integrated into a single application
package. But a typesetting program like T
E
Xis concerned only with the second stage
above. So to typeset a document using T
E
X, we type the text of the document and the
necessary formatting commands in a text editor (such as
Emacs
in
GNU
/Linux) and then
compile it. After that the document can be viewed using a previewer or printed using a
printer driver.
T
E
Xis also a programming language, so that by learning this language, people can
writecode for additional features. In fact L
A
T
E
Xitself is such a (large) collection of extra
features. And thecollectiveeffortiscontinuing,withmoreandmorepeoplewriting extra
packages.
I
.1.1. A smallexample
Let us see LAT
E
X in action by typesetting a short (really short) document. Start your
favorite text editorand type in the lines below exactly asshown
\documentclass{article}
\begin{document}
This is my \emph{first} document prepared in \LaTeX.
\end{document}
Be especially careful with the
\
character (called the backslash) and note that this is
different from the more familiar
/
(the slash) in
and/or
and save the file onto the hard
disk as
myfile.tex
. (Instead of
myfile
you can use any name you wish, but be sure to
have
.tex
at the end as the extension.) The process of compiling this and viewing the
output depends on your operating system. We describe below the process of doing this
in
GNU
/Linux.
7
8
I
. T
HE
B
ASICS
At the shell prompt type
latex myfile
You will seea number oflines of text scrollby in the screen and then you get the prompt
back. To view the output in screen, you must have theX Window running. So, start
X
if
you havenot done so,and in a terminal window,type
xdvi myfile
Awindow comes up showing theoutput below
This is myfirstdocument prepared in L
A
T
E
X.
Now let us take a closer look at the source file (that is, the file you have typed).
The first line
\documentclass{article}
tells LAT
E
Xthat what we want to produce is an
article. If you want to write a book, this must be changed to
\documentclass{book}
.
The whole document we want to typeset should be included between
\begin{document}
and
\end{document}
.In our example, this is just one line. Now compare this line in the
source and theoutput. The first threewords are produced as typed. Then
\emph{first}
,
becomes first in the output (as you have probably noticed, it is a common practice to
emphasize words in print using italic letters). Thus
\emph
is a command to LAT
E
X to
typeset thetext within thebracesinitalic
1
.Again,thenext threewordscomeout without
any change in the output. Finally,theinput
\LaTeX
comes out in the output as LAT
E
X.
Thus our source is a mixture of text to be typeset and a couple of LAT
E
Xcommands
\emph
and
\LaTeX
.The first command changes the input text in a certain way and the
second one generates new text. Now call up the file again and add one more sentence
given below.
This is my \emph{first} document prepared in \LaTeX. I typed it
on \today.
What do you get in the output? What new text does thecommand
\today
generate?
I
.1.2. Why LAT
E
X?
So, why all this trouble? Why not simply use a word processor? The answer lies in the
motivation behind T
E
X. Donald Knuth says that hisaimin creating T
E
Xis to beautifully
typeset technical documents especially those containing a lot of Mathematics. It is very
difficult (sometimeseven impossible) to producecomplex mathematicalformulasusing a
word processor. Again, even for ordinary text,if you want your document to look really
beautiful then LAT
E
Xis the natural choice.
I
.2. S
IMPLE TYPESETTING
Wehaveseenthattotypesetsomethingin LAT
E
X,wetypeinthetexttobetypesettogether
with some LAT
E
Xcommands. Words must be separated by spaces (does not matter how
many) and linesmaybe broken arbitrarily.
The end of a paragraph is specified by a blank line in the input. In other words,
whenever you want to start a new paragraph, just leave a blank line and proceed. For
example,the first two paragraphs above were produced by the input
1Thisisnotreallytrue.Fortherealstoryofthe command,seethesectiononfonts.
I
.2. S
IMPLETYPESETTING
9
We have seen that to typeset something in \LaTeX, we type in the
text to be typeset together with some \LaTeX\ commands.
Words must be separated by spaces (does not matter how many)
and lines maybe broken arbitrarily.
The end of a paragraph is specified by a \emph{blank line}
in the input. In other words, whenever you want to start a new
paragraph, just leave a blank line and proceed.
Note that the first line of each paragraph starts with an indentation from the left
margin of the text. If you do not want this indentation, just type
\noindent
at the start
of each paragraph for example, in the above input,
\noindent We have seen ...
and
\noindent The end of ...
(come on, try it!) There is an easier way to suppress para-
graph indentation for allparagraphs of thedocument in one go,butsuch tricks can wait.
I
.2.1. Spaces
You might have noticed that even though the length of the lines of text we type in a
paragraph are different, in the output, all lines are of equal length, aligned perfectly on
theright and left. T
E
Xdoes this by adjusting thespacebetween thewords.
In traditional typesetting,a littleextra spaceis added to periods which end sentences
and T
E
Xalso follows this custom. But how does T
E
X know whether a period ends a
sentence or not? It assumes that every period not following an upper case letter ends a
sentence. But this does not always work, for there are instances where a sentence does
end in an upper case letter. For example,consider thefollowing
Carrots are good for your eyes, since they contain Vitamin A. Have you ever seen a rabbit
wearingglasses?
The right input to producethis is
Carrots are good for your eyes, since they contain Vitamin A\@. Have
you ever seen a rabbit wearing glasses?
Note the use of the command
\@
before the period to produce the extra space after the
period. (Remove this from theinput and see thedifferencein theoutput.)
On the other hand, there are instances where a period following a lowercase letter
does not end a sentence. For example
Thenumbers 1,2,3,etc.arecalled naturalnumbers. Accordingto Kronecker, theyweremade
byGod; all else being the work of Man.
To produce this (without extra spaceafter
etc.
)the input should be
The numbers 1, 2, 3, etc.\ are called natural numbers. According to
Kronecker, they were made by God;all else being the works of Man.
Here, we use thecommand
\
(that is, a backslash and a space—hereand elsewhere,we
sometimesuse to denote a space in the input,especially when wedraw attention to the
space).
There are other situations where the command
\
(which always produce a space in
theoutput) isuseful. For example, type the following line and compile it.
I think \LaTeX is fun.
10
I
. T
HE
B
ASICS
You get
Ithink LAT
E
Xis fun.
What happened tothe spaceyou typed between
\LaTeX
and
is
?You see,T
E
Xgobbles up
all spacesaftera command. To get therequired sequencein theoutput, changetheinput
as
I think \LaTeX\ is fun.
Again,the command
\
comes to the rescue.
I
.2.2. Quotes
Have you noticed that in typesetting, opening quotes are different from closing quotes?
Look at theT
E
Xoutput below
Note the difference in rightand leftquotes in ‘single quotes’and “doublequotes”.
This is produced by the input
Note the difference in right and left quotes in ‘single quotes’
and ‘double quotes’’.
Modern computer keyboardshavea key totypethesymbol`which produces aleft quote
in T
E
X. (In our simulated inputs, we show this symbol as
.) Also, the key
(the usual
‘typewriter’ quote key, which also doubles as the apostrophe key) produces a left quote
inT
E
X. Doublequotesareproduced by typing thecorresponding singlequotetwice. The
‘usual’doublequotekey
"
can also beused to producea closing doublequotein T
E
X.
If your keyboard does nothavea leftquotekey,youcanuse
\lq
commandtoproduce
it. The corresponding command
\rq
produces a right quote. Thus the output above can
also be produced by
Note the difference in right and left quotes in \lq single
quotes\rq\ and \lq\lq double quotes\rq\rq.
(Why the command
\
after thefirst
\rq
?)
I
.2.3. Dashes
In text,dashes are used for variouspurposes and they aredistinguished in typesetting by
their lengths; thus short dashes are used for hyphens, slightly longer dashes are used to
indicate numberranges and stilllongerdashes used forparentheticalcomments. Look at
thefollowing T
E
Xoutput
X-rays are discussed in pages 221–225 ofVolume 3—the volume on electromagnetic waves.
This is produced from the input
X-rays are discussed in pages 221--225 of Volume 3---the volume on
electromagnetic waves.
Note that a single dash character in the input
-
produces a hyphen in the output, two
dashes
--
produces a longer dash (–) in the output and three dashes
---
produce the
longest dash (—) in the output.
Documents you may be interested
Documents you may be interested