4.4 Fancy Headers
87
Table 4.2: Index Key Syntax Examples.
Example
Index Entry Comment
\index{hello}
hello, 1
Plain entry
\index{hello!Peter}
Peter, 3
Subentry under ‘hello’
\index{Sam@\textsl{Sam}} Sam, 2
Formatted entry
\index{Lin@\textbf{Lin}} Lin, 7
Formatted entry
\index{Kaese@K\"ase}
Käse, 33
Formatted entry
\index{ecole@\’ecole}
école, 4
Formatted entry
\index{Jenny|textbf}
Jenny, 3
Formatted page number
\index{Joe|textit}
Joe, 5
Formatted page number
processed again, this sorted index gets included into the document at the
point where L
A
T
E
Xfinds
\printindex
The showidx package that comes withLAT
E
X2
ε
prints out all index entries
in the left margin of the text. This is quite useful for proofreading adocument
and verifying the index.
Note that the\index command can affect your layout if not used carefully.
My Word \index{Word}. As opposed
to Word\index{Word}. Note the
position of the full stop.
My Word . As opposed to Word. Note the
position of the full stop.
makeindexhasnoclueaboutcharactersoutsidetheASCIIrange. To
get the sorting correct, use the@ character as shown in the Käse and école
examples above.
4.4 Fancy Headers
The fancyhdr package,
6
written by Piet van Oostrum, provides a few simple
commands that allow you to customize the header and footer lines of your
document. Look at the top of this page, for an application of this package.
The tricky problem when customising headers and footers is to get things
like running section and chapter names in there. L
A
T
E
Xaccomplishes this
with a two-stage approach. In the header and footer definition, you use
the commands\rightmark and\leftmark to represent the current section
6
Available fromCTAN://macros/latex/contrib/supported/fancyhdr.
Convert pdf into web page - 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
Convert pdf into web page - 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
88
Specialities
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% with this we ensure that the chapter and section
% headings are in lowercase.
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}}
\fancyhf{} % delete current header and footer
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % space for the rule
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers on plain pages
\renewcommand{\headrulewidth}{0pt} % and the line
}
Figure 4.1: Example fancyhdr Setup.
control SDK system:C# PDF Page Insert Library: insert pages into PDF file in C#.net
in both web server-side application and Windows Forms project using a few lines of simple C# code. Apart from the ability to inserting a new PDF page into
www.rasteredge.com
control SDK system:C# PDF: How to Create PDF Document Viewer in C#.NET with
& reading library control can be easily and successfully integrated into HTML 5 document to images or svg file; Free to convert viewing PDF document to
www.rasteredge.com
4.5 The Verbatim Package
89
and chapter heading, respectively. The values of these two commands are
overwritten whenever a chapter or section command is processed.
For ultimate flexibility, the\chapter command and its friends do not
redefine \rightmark and \leftmark themselves. They call yet another
command (\chaptermark,\sectionmark, or\subsectionmark) that is re-
sponsible for redefining \rightmark and \leftmark.
If you want to change the look of the chapter name in the header line,
you need only “renew” the \chaptermark command.
Figure4.1 shows a possible setup for the fancyhdr package that makes
the headers look about the same as they look in this booklet. In any case, I
suggest you fetch the documentation for the package at the address mentioned
in the footnote.
4.5 The Verbatim Package
Earlier in this book, you got to know theverbatim environment. In this
section, you are going to learn about the verbatim package. The verbatim
package is basically a re-implementation of theverbatim environment that
works around some of the limitations of the originalverbatim environment.
This by itself is not spectacular, but the implementation of the verbatim
package added new functionality, which is why I am mentioning the package
here. The verbatim package provides the
\verbatiminput{filename}
command, which allows you to include raw ASCII text into your document
as if it were inside a verbatim environment.
As the verbatim package is part of the ‘tools’ bundle, you should find it
pre-installed on most systems. If you want to know more about this package,
make sure to read [10].
4.6 Installing Extra Packages
Most L
A
T
E
Xinstallations come with a large set of pre-installed style packages,
but many more are available on the net. The main place to look for style
packages on the Internet is CTAN (http://www.ctan.org/).
Packages such as geometry, hyphenat, and many others are typically made
up of two files: a file with the extension.ins and another with the extension
.dtx. There e will often be a readme.txt witha brief descriptionof the
package. You should of course read this file first.
In any event, once you have copied the package files onto your machine,
you still have to process them in a way that (a) tells your T
E
Xdistribution
control SDK system:XDoc.HTML5 Viewer, Create Web Doc & Image Viewer in C#.NET
VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET convert PDF to SVG. C# Demo Codes for PDF Conversions. 2. Deploy web document viewer into IIS server.
www.rasteredge.com
control SDK system:C#: How to Add HTML5 Document Viewer Control to Your Web Page
web document viewer into your own addCommand(new RECommand("convert")); _tabFile.addCommand var _userCmdDemoPdf = new UserCommand("pdf"); _userCmdDemoPdf.
www.rasteredge.com
90
Specialities
about the new style package and (b) gives you the documentation. Here’s
how you do the first part:
1. Run LAT
E
Xon the .ins file. This will extract a .sty file.
2. Movethe.styfiletoaplacewhereyourdistributioncanfindit. Usually
this is in your.../localtexmf/tex/latex subdirectory (Windows or
OS/2 users should feel free to change the direction of the slashes).
3. Refresh yourdistribution’s file-name database. . The e command de-
pends on the L
A
T
E
Xdistribution you use: T
E
Xlive –texhash; web2c –
maktexlsr; MiKT
E
X– initexmf --update-fndb or use the GUI.
Now extract the documentation from the .dtx file:
1. RunLAT
E
Xon the.dtx file. This will generate a.dvifile. Note that you
may have to run LAT
E
Xseveral times before it gets the cross-references
right.
2. ChecktoseeifLAT
E
Xhas produced a.idx file among the various files
you now have. If you do not see this file, then the documentation has
no index. Continue with step5.
3. In order to generate the index, type the following:
makeindex -s gind.ist name
(where name stands for the main-file name without any extension).
4. Run L
A
T
E
Xon the .dtx file once again.
5. Lastbutnotleast,makea .psor .pdffiletoincreaseyourreading
pleasure.
Sometimes you will see that a.glo (glossary) file has been produced.
Run the following command between step4 and5:
makeindex -s gglo.ist -o name.gls name.glo
Be sure to run LAT
E
Xon the.dtx one last time before moving on to step5.
4.7 Working with pdfL
A
T
E
X
ByDaniel Flipo <Daniel.Flipo@univ-lille1.fr>
PDF is a portable hypertext document format. Much as in a web page,
some words in the document are marked as hyperlinks. They link to other
places in the document or even to other documents. If you click on such a
hyperlink you get transported to the destination of the link. In the context
of L
A
T
E
X, this means that all occurrences of \ref and\pageref become
hyperlinks. Additionally, the table of contents, the index and all the other
similar structures become collections of hyperlinks.
control SDK system:C# PDF Convert to SVG SDK: Convert PDF to SVG files in C#.net, ASP
high-fidelity PDF to SVG conversion in both ASP.NET web and WinForms In some situations, it is quite necessary to convert PDF document into SVG image
www.rasteredge.com
control SDK system:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
Turn multiple pages PDF into single jpg files respectively online. Using this C#.NET PDF to JPEG conversion C# developers can easily and quickly convert a large
www.rasteredge.com
4.7 Working with pdfL
A
T
E
X
91
Most web pages you find today are written in HTML (HyperText Markup
Language). This format has two significant disadvantages when writing
scientific documents:
1. IncludingmathematicalformulaeintoHTMLdocumentsisnotgener-
ally supported. While there is a standard for it, most browsers used
today do not support it, or lack the required fonts.
2. PrintingHTML documentsispossible, butthe resultsvarywidely
between platforms and browsers. The results are miles removed from
the quality we have come to expect in the LAT
E
Xworld.
There have been many attempts to create translators from L
A
T
E
Xto
HTML. Some were even quite successful in the sense that they are able
to produce legible web pages from a standard L
A
T
E
Xinput file. But all of
them cut corners left and right to get the job done. As soon as you start
using more complex L
A
T
E
Xfeatures and external packages things tend to
fall apart. Authors wishing to preserve the unique typographic quality of
their documents even when publishing on the web turn to PDF (Portable
Document Format), which preserves the layout of the document and permits
hypertext navigation. Most modern browsers come with plugins that allow
the direct display of PDF documents.
Even though there are DVI and PS viewers for almost every platform,
you will find that Acrobat Reader and Xpdf for viewing PDF documents are
more widely deployed
7
. So providing PDF versions of your documents will
make them much more accessible to your potential readers.
4.7.1 PDF Documents for the Web
The creation of a PDF file from L
A
T
E
Xsource is very simple, thanks to the
pdfT
E
Xprogram developed by Hàn Th
´
êThành. pdfT
E
X produces PDF
output where normal T
E
Xproduces DVI. There is also a pdfL
A
T
E
X, which
produces PDF output from LAT
E
Xsources.
Both pdfT
E
Xand pdfLAT
E
Xare installed automatically by most modern
T
E
Xdistributions, such as teT
E
X, fpT
E
X, MikT
E
X, T
E
XLive and CMacT
E
X.
To produce a PDF instead of DVI, it is sufficient to replace the command
latex file.texby pdflatex file.tex. OnsystemswhereL
A
T
E
Xis not
called from the command line, you may find a special button in the T
E
X
GUI.
Set the paper size with an optional documentclass argument such as
a4paperor letterpaper. ThisworksinpdfLAT
E
Xtoo, but on top of this
pdfT
E
Xalso needs to know the physical size of the paper to determine the
physical size of the pages in the pdf file. If you use the hyperref package (see
page93), the papersize will be adjusted automatically. Otherwise you have
7
http://pdfreaders.org
control SDK system:XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. viewer library can be easily integrated into your ASP powerful & profession imaging controls, PDF document, image
www.rasteredge.com
control SDK system:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Create new page to PDF document in both ASP.NET web server-side application and .NET Windows Forms. DLLs for Adding Page into PDF Document in VB.NET Class.
www.rasteredge.com
92
Specialities
to do this manually by putting the following lines into the preamble of the
document:
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
The following section will go into more detail regarding the differences
between normal L
A
T
E
Xand pdfL
A
T
E
X. The main differences concern three
areas: the fonts to use, the format of images to include, and the manual
configuration of hyperlinks.
4.7.2 The Fonts
pdfLAT
E
Xcan deal with all sorts offonts (PKbitmaps, TrueType, PostScript
type 1...) but the normal LAT
E
Xfont format, the bitmap PK fonts produce
very ugly results when the document is displayed with Acrobat Reader. It is
best to use PostScript Type 1 fonts exclusively to produce documents that
display well. Modern TeX installations will be set up so that this happens
automatically. Best is to try. If it works for you, just skip this whole section.
The Type 1 font set most widely used today is called Latin Modern (LM).
If you have a recent T
E
Xinstallation, chances are that you already have a
copy of them installed; all you need to do is to add
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
to the preamble of your document and you are all set for creating excellent
PDF output with full support for the full Latin character set. If you are
working with a stripped down setup, you may have to add the lm fonts
explicitly.
For the Russian language you may want to use C1 virtual fonts, available
at ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts. These fonts com-
bine the standard CM type 1 fonts from Bluesky collection and CMCYR
type 1 fonts from the Paradissa and BaKoMa collection, all available on
CTAN. Because Paradissa fonts contain only Russian letters, C1 fonts are
missing other Cyrillic glyphs.
Another solution is to switch to other PostScript type 1 fonts. Actually,
some of them are even included with every copy of Acrobat Reader. Because
these fonts have different character sizes, the text layout on your pages will
change. Generally these other fonts will use more space than the CM fonts,
which are very space-efficient. Also, the overall visual coherence of your
document will suffer because Times, Helvetica and Courier (the primary
candidates for such a replacement job) have not been designed to work in
harmony in a single document.
control SDK system:C# Image: How to Integrate Web Document and Image Viewer
RasterEdgeImagingDeveloperGuide8.0.pdf: from this user manual, you can find the want to insert the web document viewer into your own web page, but for
www.rasteredge.com
4.7 Working with pdfL
A
T
E
X
93
Two ready-made font sets are available for this purpose: pxfonts, which is
based on Palatino as its main text body font, and the txfonts package, which
is based on Times. To use them it is sufficient to put the following lines into
the preamble of your document:
\usepackage[T1]{fontenc}
\usepackage{pxfonts}
You may find lines like
Warning: pdftex (file eurmo10): Font eur... not found
in the.log file after compiling your input file. They mean that some font
used in the document has not been found. Make sure you identify and fix
the offending parts of your document, as the resulting PDF document may
not display the pages with the missing characters at all.
4.7.3 Using Graphics
Including graphics into a document works best with the graphicx package
(see page83):
\usepackage{xcolor,graphicx}
In the sample above I have included the color package, as using color in
documents displayed on the web comes quite naturally.
Somuch for thegood news. The bad news is that graphics in Encapsulated
PostScript format do not work with pdfL
A
T
E
X. If you don’t define a file
extension in the\includegraphics command, graphicx will go looking for a
suitable file on its own, depending on the setting of the driver option. For
pdftexthisisformats .png, .pdf, .jpgand .mps(METAPOST)—butnot
.eps.
The simple way out of this problem is to just convert your EPS files into
PDF format using theepstopdf utility found on many systems. For vector
graphics (drawings) this is a great solution. For bitmaps (photos, scans) this
is not ideal, because the PDF format natively supports the inclusion of PNG
and JPEG images. PNG is good for screenshots and other images with few
colours. JPEG is great for photos, as it is very space-efficient.
It may even be desirable not to draw certain geometric figures, but rather
describe the figure with a specialized command language, such asMETA-
POST,whichcanbefoundinmostT
E
Xdistributions, and comes with its
own extensive manual.
4.7.4 Hypertext Links
The hyperref package will take care of turning all internal references of your
document into hyperlinks. For this to work properly some magic is necessary,
94
Specialities
so you have to put\usepackage[pdftex]{hyperref} as the last command
into the preamble of your document.
Many options are available to customize the behaviour of the hyperref
package:
• either as a comma separated list after the pdftex option
\usepackage[pdftex]{hyperref}
• or on individual lines with the command \hypersetup{options}.
The only required option ispdftex; the others are optional and allow
you to change the default behaviour of hyperref.8 In the following list the
default values are written in an upright font.
bookmarks (=true,false) show or hide the bookmarks bar when
displaying the document
unicode (=false,true) allows the use of characters of non-latin based
languages in Acrobat’s bookmarks
pdftoolbar (=true,false) show or hide Acrobat’s toolbar
pdfmenubar (=true,false) show or hide Acrobat’s menu
pdffitwindow (=false,true) adjusttheinitialmagnificationofthePDF
when displayed
pdftitle (={text}) define the title that gets displayed in the Document
Info window of Acrobat
pdfauthor (={text}) the name of the PDF’s author
pdfnewwindow (=false,true) define whether a new window should be
opened when a link leads out of the current document
colorlinks (=false,true) surround the links by colour frames (false)
or colour the text of the links (true). The colour of these links can be
configured using the following options (default colours are shown):
linkcolor (=red) colour of internal links (sections, pages, etc.)
citecolor (=green) colour of citation links (bibliography)
filecolor (=magenta) colour of file links
urlcolor (=cyan) colour of URL links (mail, web)
8Itisworthnotingthatthehyperref packageisnotlimitedtoworkwithpdfT
E
X. It
can also be configured to embed PDF-specific information into the DVI output of normal
L
A
T
E
X, which then gets put into the PS file bydvips and is finally picked up by the pdf
convertor when turning the PS file into PDF.
4.7 Working with pdfL
A
T
E
X
95
If you are happy with the defaults, use
\usepackage[pdftex]{hyperref}
To have the bookmark list open and links in colour (the=true values
are optional):
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
When creating PDFs destined for printing, coloured links are not a good
thing as they end up in gray in the final output, making it difficult to read.
Use colour frames, which are not printed:
\usepackage{hyperref}
\hypersetup{colorlinks=false}
or make links black:
\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black,%
pdftex}
When you just want to provide information for the Document Info
section of the PDF file:
\usepackage[pdfauthor={Pierre Desproges},%
pdftitle={Des femmes qui tombent},%
pdftex]{hyperref}
In addition to the automatic hyperlinks for cross references, it is possible
to embed explicit links using
\href{url}{text}
The code
The \href{http://www.ctan.org}{CTAN} website.
produces the output “CTAN”; a click on the word “CTAN will take you to
the CTAN website.
If the destination of the link is not a URL but a local file, use the\href
command without the ’http://’ bit:
The complete document is \href{manual.pdf}{here}
96
Specialities
which produces the text “The complete document ishere”. A click on the
word “here” will open the filemanual.pdf. (The filename is relative to the
location of the current document).
The author of an article might want her readers to easily send email
messages by using the\href command inside the\author command on the
title page of the document:
\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}%
{mary@oetiker.ch}$>$
Note that I have put the link so that my email address appears not only in
the link but also on the page itself. I did this because the link
\href{mailto:mary@oetiker.ch}{Mary Oetiker}
would work well within Acrobat, but once the page is printed the email
address would not be visible anymore.
4.7.5 Problems with Links
Messages like the following:
! pdfTeX warning (ext4): destination with the same
identifier (name{page.1}) has been already used,
duplicate ignored
appear when a counter gets reinitialized, for example by using the command
\mainmatterprovidedbythebookdocumentclass. Itresetsthepagenumber
counter to 1 prior to the first chapter of the book. But as the preface of the
book also has a page number 1 all links to “page 1” would not be unique
anymore, hence the notice that “duplicate has been ignored.”
The counter measure consists of putting plainpages=false into the
hyperref options. This unfortunately only helps with the page counter. An
even more radical solution is to use the option
hypertexnames=false,butthiswillcausethepage linksintheindexto
stop working.
4.7.6 Problems with Bookmarks
The text displayed by bookmarks does not always look like you expect it to
look. Because bookmarks are “just text,” fewer characters are available for
bookmarks than for normal LAT
E
Xtext. Hyperref will normally notice such
problems and put up a warning:
Package hyperref Warning:
Token not allowed in a PDFDocEncoded string:
Documents you may be interested
Documents you may be interested