Finally, the command nvfill is used to add empty lines between two paragraphs so that
the second paragraph goes exactly to the bottom of the page. For example,
This appears at the top of
the page{\ldots}
\vfill
{\ldots}and this at the bottom.
This appears at the top of the page...
...and this at the bottom.
5.3.3 Paragraph/Margins
Normally, the margins are set for the whole document as seen in Section2.5. Redening
them for a section of text will not work: if you want to set a paragraph’s margins, you’ll
have to create a new environment like in the following example:
\newenvironment{margins}[2]
{
\begin{list}{} {
\setlength{\leftmargin}{#1}
\setlength{\rightmargin}{#2}
} \item }
{\end{list}}
Then you will use the new environment:
As you can see, this paragraph
has normal margins.
\begin{margins}{0.5cm}{1cm}
But please note that this
paragraph has custom margins.
\end{margins}
As you can see, this paragraph has normal
margins.
But please note that this para-
graph has custom margins.
5.3.4 Paragraph/Indentation
To set the amount of indentation of the rst line of a paragraph, we redene the value of
the nparindent counter. In the following example, we set a 1-cm indentation:
\setlength{\parindent}{1cm}
The commands nindent and nnoindent allow/disallow indentation on the following para-
graph. Finally, the distance between paragraphs is set by the nparskip counter:
\setlength{\parskip}{3pt}
5.3.5 Paragraph/Border and Shade
To get framed (bordered) paragraphs or words, you have the choice of using the framed
package or the nparbox command. The package calc is required in the latter case.
This is the simplest method, using framed:
29
How to convert pdf file to html - control SDK system: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
How to convert pdf file to html - control SDK system: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
\setlength{\FrameRule}{2pt}
\setlength{\FrameSep}{5pt}
\begin{framed}
this is a framed paragraph!
\end{framed}
\definecolor{shadecolor}{rgb}
{0.9,0.8,1}
\begin{shaded}
this is a shaded paragraph,
do you like it?
\end{shaded}
this is a framed paragraph!
this is a shaded paragraph, do you like it?
Equivalently, use the boxedminipage package and the equally named environment. For
those who want to know more: the commands
\framebox{
\begin{minipage}[c]{\linewidth}
text to be framed
\end{minipage}
}
are functionally equivalent to the boxedminipage environment.
nwidth sets the width of the minipage equal to that of the remaining text. Obviously, you
can specify the width as you like.
Finally, to frame something adapting the frame to the width of the text:
this is a
\framebox[\width]{framed}
word
this is a
framed
word
Modifying the parameter, you can adjust the frame width:
this is another
\framebox[2\width][r]{framed}
word
this is another
framed
word
Note that the second optional parameter species the alignment (to the right in this
example).
5.3.6 Paragraph/Colour
Now that you have a bordered paragraph, you’ll want to set its colour too. Do this:
\colorbox{yellow}{
\begin{minipage}
{0.8\linewidth}
I am a minipage, my colour
is yellow!
\end{minipage}
}
Iam a minipage, my colour is yel-
low!
Just as an example, we set the minipage colour for only the 80% of its width. More about
colours in Section5.2.5.
30
control SDK system:Online Convert PDF to HTML5 files. Best free online PDF html
Download Free Trial. Convert a PDF file to HTML. Just upload your file by clicking on the blue button or drag-and-drop your pdf file into the drop area.
www.rasteredge.com
control SDK system:VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Convert smooth lines to curves. Detect and merge image fragments. Flatten visible layers. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project
www.rasteredge.com
5.3.7 Format/Columns
The commands ntwocolumn and nonecolumn start a new page and set the number of
columns; they can also be used as parameters in ndocumentclass. If this is not enough
for you, the package multicols provides an environment of the same name. I could have
set this section in two columns with these commands:
\columnseprule=1pt
\begin{multicols}{2}[\subsection{\entry{Format}{Columns}}]
The commands \cmd{twocolumn} ...
\end{multicols}
The space between columns is controlled by the parameter ncolumnsep, and the thickness
of the rule between columns by ncolumnseprule. The text given as optional parameter
in brackets is excluded from the environment.
6 The Table Menu
Quite a complex subject... A table is a  oat (as explained in Section4.12) that must t
on one page. It usually contains a tabular environment, even though other possibilities
exist. By default, a table adjusts its width to match the width of its contents.
Let me stress that the table environment is a  oat, but tabular is not. Keep this in
mind if you want to write informal tabular material, i.e. without label and caption.
This is the general format of a table:
\begin{table}[htbp] % placement: here, top, bottom, separate page
% \begin{small}
% sets the table font
\begin{center}
% optional
% 4-column table; alignment is left, centered, right, fixed width
\begin{tabular}{|l|c|rp{4cm}|}
\hline
% horizontal line
\textbf{Left} & \textbf{Centre} & \textbf{Right} & \textbf{4 cm}\\
\hline
row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4\\
\cline{1-2}
% horizontal line spanning columns 1-2
row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4\\
\cline{1-2}
\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 &
row 3, col 4\\
\cline{1-3}
row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right\\
% force a space with "\ "
row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~\\
row 5, col 1 & row 5, col 2 & row 5, col 3 &
~ \hfill centre \hfill ~\\
\hline
\end{tabular}
\caption{A sample table.}
% labels are used for cross references;
% for example, "see Table~\ref{tab:sampletab}"
\label{tab:sampletab}
\end{center}
% \end{small}
\end{table}
31
control SDK system:VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Professional VB.NET PDF file merging SDK support Visual Studio .NET. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
www.rasteredge.com
control SDK system:C# PDF File Split Library: Split, seperate PDF into multiple files
Application. Best and professional adobe PDF file splitting SDK for Visual Studio .NET. outputOps); Divide PDF File into Two Using C#.
www.rasteredge.com
Left
Centre
Right 4 cm
row 1, col 1
row 1, col 2
row 1, col 3 row 1, col 4
row 2, col 1
row 2, col 2
row 2, col 3 row 2, col 4
spanning two columns
row 3, col 3 row 3, col 4
row 4, col 1
row 4, col 2
row 4, col 3
right
row 5, col 1
row 5, col 2
row 5, col 3 left
row 5, col 1
row 5, col 2
row 5, col 3
centre
Table 8: A sample table.
Table8 shows the result.
Sometimes, a table is too wide and won’t t on the page. In that case, the rotating package
provides the new environment sidewaystable. Also, rotating makes it possible to rotate
the contents of a cell by a specied angle. Finally, the tabularx package lets one specify
tables of xed width: the X column specier indicates that a column can be spread as
needed.
Here’s an example:
\begin{sidewaystable}
\begin{tabularx}{7.5cm}{|l|X|X|}
\hline
\textbf{normal} & \textbf{tilted} &
\textbf{wider}\\
\hline
normal & \rotatebox{30}{I’m tilted!} &
I’m wider\\
\hline
\end{tabularx}
\end{sidewaystable}
normal
tilted
wider
normal
m’I
!detlit
wider
The standard tabular environment cannot span more than one page! There are some
b
packages that overcome this limitation: you will want to try out longtable, supertabular,
and xtab.
To enable colours in tables, you use the colortbl package:
Colour by row:\\\vskip 2mm
\begin{tabular}{|l|c|r|}
\hline
\rowcolor{cyan}
one & two & three\\
\rowcolor{green}
one & two & three\\
\rowcolor{yellow}
one & two & three\\
\hline
\end{tabular}
Colour by row:
one
two
three
one
two
three
one
two
three
32
control SDK system:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to Tiff; C#: Convert PDF to HTML; C#: Convert PDF to Jpeg; C# File: Compress PDF; C# File: Merge PDF; C# File: Split PDF;
www.rasteredge.com
control SDK system:VB.NET PDF File Split Library: Split, seperate PDF into multiple
Professional VB.NET PDF file splitting SDK for Visual Studio and .NET framework 2.0. Split PDF file into two or multiple files in ASP.NET webpage online.
www.rasteredge.com
Colour by column:\\\vskip 2mm
\begin{tabular}
{|>{\columncolor{cyan}}l|
>{\color{red}
\columncolor{green}}c|
>{\columncolor{yellow}}r|}
\hline
one & two & three\\
one & two & three\\
one & two & three\\
\hline
\end{tabular}
Colour by column:
one
two
three
one
two
three
one
two
three
To conclude the subject, a neat little trick. If you think that writing LAT
E
Xtables is too
complicated, you could be relieved by OpenOce Calc and Calc2LaTeX.The former is the
well-known free spreadsheet, while the latter is a plugin that that lets you turn a cell range
into a LAT
E
Xtable. Links:http://www.openoce.org/,http://calc2latex.sourceforge.net/.
6.1 Table/Line Spacing
Aline adjusts itself to the height of the text it contains. To add some space before a line,
the trick is to start it with a nrule of 0 length and specied height. To add space after a
line, use nn followed by optional space. Here is an example:
\begin{tabular}{lll}
one & two & three\\
0.3 centimeters & \textbf{after} &
this line\\[0.3cm]
one & two & three\\
one & two & three\\
\rule{0pt}{1.2cm}1.2 centimeters &
\textbf{before} & this line\\
\end{tabular}
one
two
three
0.3 centimeters after
this line
one
two
three
one
two
three
1.2 centimeters before this line
6.2 Table/Rule Width
\begin{tabular}{|lll|}
\hline
%\setlength{\arrayrulewidth}{5pt}
one & two & three\\
\hline
four & five & six\\
%\setlength{\arrayrulewidth}{1pt}
\hline
\end{tabular}
one
two three
four ve six
6.3 Table/Aligning Numbers
Aspecial case of a tabular environment is when we want to align numbers with respect
to the decimal positions.
The simplest method is using the @ column specier, which in practice is useful in tables
33
control SDK system:C# PDF File Compress Library: Compress reduce PDF size in C#.net
All object data. File attachment. Hidden layer content. Convert smooth lines to curves. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
www.rasteredge.com
control SDK system:C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Professional C#.NET PDF SDK for merging PDF file merging in Visual Studio .NET. Append one PDF file to the end of another and save to a single PDF file.
www.rasteredge.com
containing only numbers. The column separator & is replaced by the decimal dot:
\begin{tabular}{r@{.}l}
3&14159\\
1&61803\\
1&41421\\
100&00000
\end{tabular}
3.14159
1.61803
1.41421
100.00000
Alternatively, use the dcolumn package, which adds the D column specier. D has three
arguments: the separator to use in the LAT
E
Xsource and in output (usually the same,
‘.’), and the number of digits to the right of the decimal place indicator. Optionally, the
third argument can specify the number of digits to the left and to the right of the decimal
place indicator, separated by a dot. Lastly, if the third argument is -1, the material of the
column is centered around the separator.
All material in the table is typeset in math mode. To insert headings, you’ll have to put
the text in an nmbox.
\begin{tabular}{|D{.}{,}{4.2}|%
D{.}{.}{5}|D{.}{.}{-1}|}
\hline
\mbox{One} & \mbox{Two} &
\mbox{Three}\\
10.33 & 10.33 & 10.33\\
1000 & 1000 & 1000\\
5.1 & 5.1 & 5.1\\
3.14 & 3.14159 & 3.14159\\
\hline
\end{tabular}
One
Two
Three
10;33
10:33
10:33
1000
1000
1000
5;1
5:1
5:1
3;14
3:14159
3:14159
6.4 Using slashbox
This package add the nbackslashbox command:
\begin{tabular}{|l|l|l|}
\hline
\backslashbox[2cm]{Lesson}{Date} &
Monday & Tuesday\\
\hline
Stratigraphy & room A & room A\\
Chemistry & room B & Lab $\alpha$\\
Physics & room C & Lab $\beta$\\
\hline
\end{tabular}
P
P
P
P
P
P
P
PP
Lesson
Date
Monday
Tuesday
Stratigraphy
room A
room A
Chemistry
room B
Lab 
Physics
room C
Lab 
6.5 Importing Data in L
A
T
E
XTables
For many people, data les are the bread and butter of everyday’s work. Most data les
are simply ASCIItext withcolumns of numbers, but some people use spreadsheets. Nearly
all spreadsheet applications can export sheets in the ASCII-based .csv le format; values
are usually separated by the ‘;’ character.
Converting a data le into a L
A
T
E
Xtable is quite a tedious process. The following script
for Unix will convert a datale with an arbitrary number of columns to a table. It will
also work on .csv les.
34
#!/bin/sh
# dat2tex.sh: converts tabular data to a tabular environment
if [ $# != 1 ]; then
echo "Usage: $0 <datafile>"
exit 1
fi
# is this a csv file?
grep ";" $1 > /dev/null
if [ $? = 0 ]; then
AWK="awk -F;"
else
AWK=awk
fi
# ok awk, make my day
$AWK ’{if (1 == FNR) { \
printf "\\begin{tabular}{"; \
for (i = 1; i <= NF; i++) {printf "l"}; \
printf "}\n"
}
for (i = 1; i < NF; i++) \
{printf $i" & "} printf $NF"\\\\ \n"} \
END {printf "\\end{tabular}\n"}’ $1
# end of dat2tex
7 The Tools Menu
7.1 Tools/Mail Merges
This useful and time-saving tool is implemented in LAT
E
Xby the textmerg package. Let’s
consider a simple document, in which the name, surname, and title of people we’re writing
to may vary. The remaining text does not change.
We’ll dene three elds, which are the variable part of the text: nName, nSurname, and
nTitle. Their values will be gathered from an external le, data.dat.
\documentclass{article}
\usepackage{textmerg}
\begin{document}
% let’s declare the variable fields:
% \Void is for empty lines
\Fields{\Name\Surname\Title-\Void}
\Merge{data.dat}{%
Dear \Title{} \Surname,\\
may I call you \Name?\\
Yours,\\
\hspace{3cm}Guido\clearpage}
\end{document}
The fourth eld, nVoid, isn’t really necessary and it’s there for illustration. It’s preceded
35
by a minus sign, which indicates that it can be empty in the data le. Simply put, we
want to separate the records using empty lines.
The le data.dat reads:
Guido
Gonzato
Dr.
Francesco
Mulargia
Prof.
Marie
Curie
Mme
That’s it: the resulting output will contain the merged text, one page for each recipient.
7.2 Tools/Labels
If making mail merges was easy, making labels is even trivial. Let’s suppose you want to
make 20 equal labels on a 38 peel{o label sheet. The package to use, predictably, is
called labels. In this example, we’ll make 10 plain labels and 10 boxed labels:
\documentclass[a4paper,12pt]{article}
\usepackage{labels}
\LabelCols=3
% n. of columns of labels
\LabelRows=8
% n. of rows of labels
\LeftBorder=8mm
% borders of each label
\RightBorder=8mm
\TopBorder=5mm
\BottomBorder=5mm
\LabelGridtrue
% show the grid
\numberoflabels=10 % number of labels of each type to print
% the text of the label is specified by
% the \addresslabel[]{} macro:
\begin{document}
\addresslabel[\large] % optional arguments
{\textbf{Guido Gonzato}, Ph.D.\\
\textsl{Linux system manager}}
% now on to the boxed labels
\boxedaddresslabel[\fboxsep=4mm\fboxrule=1mm]
{\textbf{Guido Gonzato}, Ph.D.\\
\textsl{Linux system manager}}
\end{document}
To make labels containing dierent addresses, you may use either an external le or insert
the addresses in the main le:
\documentclass[a4paper,12pt]{article}
\usepackage{labels}
\LabelCols=3
36
\LabelRows=8
\LeftBorder=3mm
\RightBorder=3mm
\TopBorder=8mm
\BottomBorder=8mm
\LabelGridtrue
\begin{document}
% use either this environment:
\begin{labels}
1$^{st}$ name
1$^{st}$ address
1$^{st}$ city, state, zipcode
2$^{nd}$ name
2$^{nd}$ address
2$^{nd}$ city, state, zipcode
3$^{rd}$ name
3$^{rd}$ address
3$^{rd}$ city, state, zipcode
\end{labels}
% or an external file containing exactly the same text:
% \labelfile{addresses.dat}
\end{document}
It is left to you to combine textmerg and labels!
7.3 Tools/Default Language
L
A
T
E
Xdefault language is English, but other languages are supported. By languagesupport
Imean the translation of terms like ‘Chapter’ or ‘Index’, correct hyphenation, and the
possibility of inserting characters like ‘c’ or ‘e’ directly via your keyboard. (The normal
way being typing nc c and n’e.)
Your LAT
E
Xdistributioncontains a le calledlanguage.dat (usually $TEXMF/tex/generic/
config/language.dat that contains a list of languages. Editing this le you choose the
languages for which you want hyphenation patterns.
If you are not a native English speaker, you’ll want to use the package babel as in the
following example:
\usepackage[italian,english]{babel}
Z
babel alters the way some characters behave in a language-dependent way. If you
experience odd problems, insert the oending characters using the ncharXX syntax.
In addition, to type accented letters and in general non-standard ASCII characters
3
you
may want to use the packages inputenc and fontenc. In most cases, UTF-8 is the right
choice: remember to enable it in your editor too!
3
in computer jargon, ‘standard ASCII characters’ are the characters whose code is included between 32
(space) and 126 (tilde).
37
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
Adierent way of inserting accented letters is conguring your editor to type those for
you. For example, I set up my editor of choice (jed) to have it insert n’e whenever I type
‘e’. I included this in my .jedrc:
define latex_mode_hook ()
f
set_abbrev_mode (1);
if ( () = abbrev_table_p ("LaTeX") )
use_abbrev_table ("LaTeX");
#ifdef WIN32
% prevent clash with movement keys
undefinekey ("aa", "LaTeX-Mode");
definekey (" nn‘a", "aa", "LaTeX-Mode");
#else
local_setkey (" nn‘a",
"a");
#endif
local_setkey (" nn’e",
"e");
local_setkey (" nn‘e",
"e");
local_setkey (" nn‘nnifg", "");
local_setkey (" nn‘o",
"o");
local_setkey (" nn‘u",
"u");
g
Please consult your editor’s documentation.
7.4 Tools/Hyphenation
Although LAT
E
Xusually does a good job at hyphenating words, sometimes manual inter-
vention may yield better results. Manual hyphens are specied inserting \- where we want
the word to be broken. A better way is to declare hyphenation rules:
\hyphenation{ge-o-phy-sics ge-o-lo-gy earth}
The above declaration instructs L
A
T
E
Xnot to hyphen the word ‘earth’. Another way to
prevent a word to be hyphenated is to put it in nmbox:
Do not hyphen \mbox{internationalisation}, please. I’m a masochistic.
7.5 Tools/Spell Check
LAT
E
Xis not aware of spell spelling. This task is done using external tools like ispell,
aspell or others. Under Unix, you can use ispell this way:
shell> ispell -t mydocument.tex
The -t switch instructs ispell to ignore T
E
Xand L
A
T
E
Xcommands. If your language is
not English, specify the appropriate dictionary with the -d switch:
shell> ispell -d italiano -t mydocument.tex
38
Documents you may be interested
Documents you may be interested