10.5. Captions
height. This means that when using the default loc of
[tbp]
at least one of the text
page float fractions (
\topfraction
and/or
\bottomfraction
)must be larger than the
\floatpagefraction
by an amount sufficient to take account of the maximum text page
separation value.
10.5 C
APTIONS
Some publishers require, and some authors prefer, captioning styles other than the one
style provided by standard LaTeX. Further, some demand that documents that include
multi-part tables use a continuation caption on all but the first part of the multi-part table.
For the times where such a table is specified by the author as a set of tables, the class pro-
vides a simple ‘continuation’ caption command to meet this requirement. It also provides
afacility for an ‘anonymous’ caption which can be used in any float environment. Cap-
tions can be defined that are suitable for use in non-float environments, such as placing a
picture in aminipage and captioning it just as though it had been put into a normal figure
environment.
The commands described below are very similar to those supplied by theccaption
package [Wil01d].
10.6 C
APTION STYLING
Just as a reminder, the default appearance of a caption for, say, a table looks like this:
Table 11.7: Title for the table
That is, it is typeset in the normal body font, with a colon after the number.
The class uses the following to specify the standard LaTeX caption style:
\captionnamefont{}
\captiontitlefont{}
\captionstyle{}
\captionwidth{\linewidth}
\normalcaptionwidth
\normalcaption
\captiondelim{: }
These macros are explained in detail below.
\captiondelim{
delim
}
The default captioning style isto put adelimeter in the formof acolon betweenthe caption
number and the caption title. The command
\captiondelim
can be used to change the
delimeter. For example, to have an en-dash instead of the colon,
\captiondelim{-- }
will do the trick. Notice that no space is put between the delimeter and the title unless it
is specified in the delim parameter. The class initially specifies
\captiondelim{: }
to
give the normal delimeter.
\captionnamefont{
fontspec
}
183
Convert pdf to text on - SDK software service:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert pdf to text on - SDK software service:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
10. F
LOATS AND CAPTIONS
The fontspec specified by
\captionnamefont
is used for typesetting the caption name;
that is, the first part of the caption up to and including the delimeter (e.g., the portion
‘Table 3:’). fontspec can be any kind of font specification and/or command and/or text.
This first part of the caption is treated like:
{\captionnamefont Table 3: }
so font declarations, not font text-style commands, are needed for fontspec. For instance,
\captionnamefont{\Large\sffamily}
to specify alarge sans-serif font. The class initially specifies
\captionnamefont{}
to give
the normal font.
\captiontitlefont{
fontspec
}
Similarly, the fontspec specified by
\captiontitlefont
is used for typesetting the title
text of a caption. For example,
\captiontitlefont{\itshape}
for an italic title text.
The class initially specifies
\captiontitlefont{}
to give the normal font.
\captionstyle[
short
]{
style
}
\raggedleft \centering \raggedright \centerlastline
By default the name and title of acaption are typeset as a block (non-indented) paragraph.
\captionstyle
can be used to alter this. Sensible values for style are:
\centering
,
\raggedleft
or
\raggedright
for styles corresponding to these declarations. The
\centerlastline
style gives a block paragraph but with the last line centered. The class
initially specifies
\captionstyle{}
to give the normal block paragraph style.
If acaptionisless than one line inlengthit may look odd if the styleis
\raggedright
,
say, as it will be left justified. The optional short argument to
\captionstyle
can be
used to specify the style for such short captions if it should differ from that for multiline
captions. For example, I think that short captions look better centered:
\captionstyle[\centering]{\raggedright}
\hangcaption
\indentcaption{
length
}
\normalcaption
The declaration
\hangcaption
causes captions to be typeset with the second and later
lines of a multiline caption title indented by the width of the caption name. The declara-
tion
\indentcaption
will indent title lines after the first by length. These commands
are independent of the
\captionstyle{...}
and have no effect on short captions. Note
that a caption will not be simultaneously hung and indented. The
\normalcaption
dec-
laration undoes any previous
\hangcaption
or
\indentcaption
declaration. The class
initially specifies
\normalcaption
to give the normal non-indented paragraph style.
\changecaptionwidth
\captionwidth{
length
}
\normalcaptionwidth
184
SDK software service:Online Convert PDF to Text file. Best free online PDF txt
Download Free Trial. Convert a PDF to Text. Easy converting! We try to make it as easy as possible to convert your PDF files to Text.
www.rasteredge.com
SDK software service:VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. Advanced Visual Studio .NET PDF text extraction control, built in .NET framework 2.0 and compatible with Windows system.
www.rasteredge.com
10.6. Caption styling
Issuing the declaration
\changecaptionwidth
causes the captions to be typeset
within a total width length as specified by
\captionwidth
. Issuing the declaration
\normalcaptionwidth
causes captions to be typeset as normal full width captions. The
class initially specifies
\normalcaptionwidth
\captionwidth{\linewidth}
to give the normal width. If a caption is being set within the side captioned environments
from thesidecap package [NG98] then it must be a
\normalcaptionwidth
caption.
\precaption{
pretext
}
\captiontitlefinal{
text
}
\postcaption{
posttext
}
The commands
\precaption
and
\postcaption
specify pretext and posttext that
will be processed at the start and end of a caption. For example
\precaption{\rule{\linewidth}{0.4pt}\par}
\postcaption{\rule{\linewidth}{0.4pt}}
will draw a horizontal line above and below the captions. The class initially specifies
\precaption{}
\postcaption{}
to give the normal appearance.
The argument to
\captiontitlefinal
is put immediately after the title text but will
not appear in the LoF or LoT. The default is
\captiontitlefinal{}
but it could be used instead as, say
\captiontitlefinal{.}
to put a period (full stop) after the title.
If any of the above commands are used in a float, or other, environment their effect
is limited to the environment. If they are used in the preamble or the main text, their
effect persists until replaced by a similar command with a different parameter value. The
commands do not affect the appearance of the title in any ‘List of. ..’.
\\[
length
]
\\*[
length
]
The normal LaTeX command
\\
can be used within the caption text to start a new line.
Remember that
\\
is a fragile command, so if it is used within text that will be added to a
‘List of...’ it must be protected. As examples:
\caption{Title with a \protect\\ new line in
both the body and List of}
\caption[List of entry with no new line]%
{Title with a \\ new line}
\caption[List of entry with a \protect\\ new line]%
{Title text}
Effectively, a caption is typeset as though it were:
185
SDK software service:C# PDF Text Extract Library: extract text content from PDF file in
Text: Extract Text from PDF. |. Home ›› XDoc.PDF ›› C# PDF: Extract PDF Text. Enable extracting PDF text to another PDF file, TXT and SVG formats.
www.rasteredge.com
SDK software service:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to HTML. Convert PDF to SVG. Convert PDF to Text. Convert PDF to JPEG. Convert PDF to Png, Gif, Bitmap Images. File &
www.rasteredge.com
10. F
LOATS AND CAPTIONS
Table 10.3
R
EDESIGNED TABLE CAPTION STYLE
three
III
five
V
eight VIII
\precaption
{\captionnamefont NAME NUMBER\captiondelim}
{\captionstyle\captiontitlefont THE TITLE\captiontitlefinal}
\postcaption
Replacing the above commands by their defaults leads to the simple format:
{NAME NUMBER: }{THE TITLE}
As well as using the styling commands to make simple changesto the captioning style,
more noticeable modificationscan also be made. To change the captioning style so that the
name and title are typeset in a sans font it is sufficient to do:
\captionnamefont{\sffamily}
\captiontitlefont{\sffamily}
Amore obviouschange in styling is shown in Table 10.3, which was coded as:
\begin{table}
\centering
\captionnamefont{\sffamily}
\captiondelim{}
\captionstyle{\\}
\captiontitlefont{\scshape}
\setlength{\belowcaptionskip}{10pt}
\caption{Redesigned table caption style} \label{tab:style}
\begin{tabular}{lr} \toprule
...
\end{table}
This leads to the approximate caption format (processed within
\centering
):
{\sffamily NAME NUMBER}{\\ \scshape THE TITLE}
Note that the newline command (
\\
)cannot be put in the first part of the format (i.e., the
{\sffamily NAME NUMBER}
); it hasto gointo the second part, whichiswhy it isspecified
via
\captionstyle{\\}
and not
\captiondelim{\\}
.
If a mixture of captioning styles will be used you may want to define a special cap-
tion command for each non-standard style. For example for the style of the caption in
Table 10.3:
\newcommand{\mycaption}[2][\@empty]{
\captionnamefont{\sffamily\hfill}
\captiondelim{\hfill}
\captionstyle{\centerlastline\\}
186
SDK software service:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
C# PDF - Convert PDF to JPEG in C#.NET. C#.NET PDF to JPEG Converting & Conversion Control. Convert PDF to JPEG Using C#.NET. Add necessary references:
www.rasteredge.com
SDK software service:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
Convert PDF to HTML. |. Home ›› XDoc.PDF ›› VB.NET PDF: PDF to HTML. Convert PDF to HTML in VB.NET Demo Code. Add necessary references:
www.rasteredge.com
10.7. Continuation captions and legends
\captiontitlefont{\scshape}
\setlength{\belowcaptionskip}{10pt}
\ifx \@empty#1 \caption{#2}\else \caption[#1]{#2}\fi}
Remember that any code that involves the
@
sign must be either in a package (
sty
)file or
enclosed between a
\makeatletter
...
\makeatother
pairing (see §E.4).
The code for the Table 10.3 example can now be written as:
\begin{table}
\centering
\mycaption{Redesigned table caption style} \label{tab:style}
\begin{tabular}{lr} \toprule
...
\end{table}
Note that in the code for
\mycaption
I have added two
\hfill
commands and
\centerlastline
compared with the originalspecification. It turnedout that the original
definitions worked for a single line caption but not for a multiline caption. The additional
commands makes it work in both cases, forcing the name to be centered as well as the last
line of a multiline title, thus giving a balanced appearence.
10.7 C
ONTINUATION CAPTIONS AND LEGENDS
\contcaption{
text
}
The
\contcaption
command canbe used to put a ‘continued’ or ‘concluded’ caption into
afloat environment. It neither increments the float number nor makes any entry into a
float listing, but it does repeat the numbering of the previous
\caption
command.
Table 10.4 illustrates the use of the
\contcaption
command. The table was produced
from the following code.
\begin{table}
\centering
\caption{A multi-part table} \label{tab:m}
\begin{tabular}{lc} \toprule
just a single line & 1 \\ \bottomrule
\end{tabular}
\end{table}
\begin{table}
\centering
\contcaption{Continued}
\begin{tabular}{lc} \toprule
just a single line & 2 \\ \bottomrule
\end{tabular}
\end{table}
\begin{table}
\centering
\contcaption{Concluded}
187
SDK software service:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
easy for C# developers to convert and transform style that are included in target PDF document file original formatting and interrelation of text and graphical
www.rasteredge.com
SDK software service:VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
VB.NET PDF - Convert PDF to MS Office Word in VB.NET. VB.NET Tutorial for How to Convert PDF to Word (.docx) Document in VB.NET. Best
www.rasteredge.com
10. F
LOATS AND CAPTIONS
Table 10.4: A multi-part table
just a single line 1
Table 10.4: Continued
just a single line 2
Table 10.4: Concluded
just a single line 3
\begin{tabular}{lc} \toprule
just a single line & 3 \\ \bottomrule
\end{tabular}
\end{table}
\legend{
text
}
The
\legend
command is intended to be used to put an anonymous caption, or legend
into a float environment, but may be used anywhere.
For example, the following code was used to produce the two-line Table 10.5. The
\legend
command can be used within a float independently of any
\caption
command.
\begin{table}
\centering
\caption{Another table} \label{tab:legend}
\begin{tabular}{lc} \toprule
A legendary table & 5 \\
with two lines
& 6 \\ \bottomrule
Table 10.5: Another table
Alegendary table 5
with two lines
6
The legend
188
10.7. Continuation captions and legends
Legendary table
An anonymous table 5
with two lines
6
\end{tabular}
\legend{The legend}
\end{table}
LEGEND
This is a
marginal
note with a
legend.
Captioned floats are usually thought of in terms of the
table
and
figure
environ-
ments. There can be other kinds of float. As perhaps a more interesting example, the
following code producesthe titled marginal note which should be displayed near here.
\marginpar{\legend{LEGEND}
This is a marginal note with a legend.}
If you want the legend text to be included in the ‘List of... ’ you can do it like this with
the
\addcontentsline
macro.
\legend{Legend title}
% left justified
\addcontentsline{lot}{table}{Legend title}
% or
% indented
\addcontentsline{lot}{table}{\protect\numberline{}Legend title}
The first of these forms will align the first line of the legend text under the normal table
numbers. The second form will align the first line of the legend text under the normal
table
titles. In either case, second and later lines of a multi-line text will be aligned under
the normal title lines.
As an example, theLegendarytableis produced by the following code:
\begin{table}
\centering
\captiontitlefont{\sffamily}
\legend{Legendary table}
\addcontentsline{lot}{table}{Legendary table (toc 1)}
\addcontentsline{lot}{table}{\protect\numberline{}
Legendary table (toc 2)}
\begin{tabular}{lc} \toprule
An anonymous table & 5 \\
with two lines
& 6 \\ \bottomrule
\end{tabular}
\end{table}
Look at the List of Tables to see how the two forms of
\addcontentsline
are typeset.
\namedlegend[
short-title
]{
long-title
}
As a convenience, the
\namedlegend
command is like the
\caption
command except
that it does not number the caption and, by default, puts no entry into a ‘List of.. .’ file.
189
10. F
LOATS AND CAPTIONS
Table: Namedlegendarytable
seven
VII
eight
VIII
Like the
\caption
command, it picks up the name to be prepended to the title text from
the float environment in which it is called (e.g., it will use
\tablename
if called within a
table
environment). The following code is the source of the Named legendary table.
\begin{table}
\centering
\captionnamefont{\sffamily}
\captiontitlefont{\itshape}
\namedlegend{Named legendary table}
\begin{tabular}{lr} \toprule
seven & VII \\
eight & VIII \\ \bottomrule
\end{tabular}
\end{table}
\flegfloat{
name
}
\flegtocfloat{
title
}
The macro
\flegfloat
,where
float
is the name of a float environment (e.g.,
figure
)
is called by the
\namedlegend
macro. It is provided as a hook that defines the name
to be used as the name in
\namedlegend
. Two defaults are provided,
\flegtable
and
\flegfigure
defined as:
\newcommand{\flegtable}{\tablename}
\newcommand{\flegfigure}{\figurename}
which may be altered via
\renewcommand
if desired.
The macro
\flegtocfloat
, where again
float
is the name of a float environment
(e.g.,
table
)is also called by the
\namedlegend
macro. It is provided as a hook that can
be used to add title to the ‘List of.. .’. Two examplars are provided,
\flegtocfigure
and
\flegtoctable
. By default they are defined to do nothing, and can be changed via
\renewcommand
.For instance, one could be changed for tables as:
\renewcommand{\flegtoctable}[1]{
\addcontentsline{lot}{table}{#1}}
The
\legend
command produces a plain, unnumbered heading. It can also be useful
sometimes to havenamed and numbered captionsoutside afloating environment, perhaps
in a
minipage
, if you want the table or picture to appear at a precise location in your
document.
\newfixedcaption[
capcommand
]{
command
}{
float
}
\renewfixedcaption[
capcommand
]{
command
}{
float
}
\providefixedcaption[
capcommand
]{
command
}{
float
}
190
10.7. Continuation captions and legends
The
\newfixedcaption
command, and its friends, can be used to create or modify a
captioning command that may be used outside the float environment float. Both the
environment float and a captioning command, capcommand, for that environment must
have been defined before calling
\newfixedcaption
. Note that
\namedlegend
can be
used as capcommand.
For example, to define a new
\figcaption
command for captioning pictures outside
the
figure
environment, do
\newfixedcaption{\figcaption}{figure}
The optional capcommand argument is the name of the float captioning command that is
being aliased. It defaults to
\caption
. As an example of where the optional argument
is required, if you want to create a new continuation caption command for non-floating
tables, say
\ctabcaption
,then do
\newfixedcaption[\contcaption]{\ctabcaption}{table}
Captioning commands created by
\newfixedcaption
will be named and numbered
in the same style as the original capcommand, can be given a
\label
,and will appear in
the appropriate ‘List of...’. They can also be used within floating environments, but will
not use the environment name as a guide to the caption name or entry into the ‘List of.. .’.
For example, using
\ctabcaption
in a
figure
environment will still produce a Table.. .
named caption.
Sometimes captions are required on the opposite page to a figure, and a fixed caption
can be useful in this context. For example, if figure captions should be placed on an oth-
erwise empty page immediately before the actual figure, then this can be accomplished by
the following hack:
\newfixedcaption{\figcaption}{figure}
...
\afterpage{ % fill current page then flush pending floats
\clearpage
\begin{midpage} % vertically center the caption
\figcaption{The caption} % the caption
\end{midpage}
\clearpage
\begin{figure}THE FIGURE, NO CAPTION HERE\end{figure}
\clearpage
} % end of \afterpage
Note that theafterpage package [Car95] is needed, which is part of the required tools
bundle. Themidpagepackage supplies the
midpage
environment, which can be simply
defined as:
\newenvironment{midpage}{\vspace*{\fill}}{\vspace*{\fill}}
The code, in particular the use of
\clearpage
,might need adjusting to meet your partic-
ular requirements.
\clearpage
getsyou to the next page, which may be odd or even.
\cleardoublepage
gets you to the next odd-numbered page.
\cleartoevenpage
ensures that you get to the next even-numbered page.
As a word of warning, if you mix both floats and fixed environments with the same
kind of caption you have to ensure that they get printed in the correct order in the final
191
10. F
LOATS AND CAPTIONS
document. If you do not do this, then the ‘List of. ..’ captions will come out in the wrong
order (the lists are ordered according the page number in the typeset document, not your
source input order).
10.8 B
ILINGUAL CAPTIONS
Some documents require bilingual (or more) captions. The class provides a set of com-
mands for bilingual captions. Extensions to the set, perhaps to support trilingual caption-
ing, are left as an exercise for the document author. Essentially, the bilingual commands
call the
\caption
command twice, once for each language.
Several commands for bilingual captions are provided. They all produce the same
appearance in the text but differ in what they put into the ‘List of.. .’.
\bitwonumcaption[
label
]{
short1
}{
long1
}
%
{
NAME
}{
short2
}{
long2
}
\bionenumcaption[
label
]{
short1
}{
long1
}
%
{
NAME
}{
short2
}{
long2
}
Bilingual captions can be typeset by the
\bitwonumcaption
command which has six
arguments. The first, optional argument label, is the name of a label, if required. short1
and long1 are the short (i.e., equivalent to the optional argument to the
\caption
com-
mand) and long caption texts for the main language of the document. The value of the
NAME argument is used as the caption name for the second language caption, while
short2 and long2 are the short and long caption texts for the second language. For ex-
ample, if the main and secondary languages are English and German and a figure isbeing
captioned:
\bitwonumcaption{Short}{Long}{Bild}{Kurz}{Lang}
If the short title text(s) is not required, thenleave the appropriate argument(s) either empty
or asone or more spaces, like:
\bitwonumcaption[fig:bi1]{}{Long}{Bild}{ }{Lang}
Both language texts are entered into the appropriate ‘List of.. .’, and both texts are num-
bered.
Figure 10.16, typeset from the following code, is an example.
\begin{figure}
\centering
EXAMPLE FIGURE WITH BITWONUMCAPTION
\bitwonumcaption[fig:bi1]%
{}{Long \cs{bitwonumcaption}}%
{Bild}{ }{Lang \cs{bitwonumcaption}}
\end{figure}
Both
\bionenumcaption
and
\bitwonumcaption
take the same arguments. The dif-
ference between the two commands is that
\bionenumcaption
does not number the sec-
ond language text in the ‘List of... ’. Figure 10.17, typeset from the following, isanexample
of this.
\begin{figure}
\centering
192
Documents you may be interested
Documents you may be interested