10.8. Bilingual captions
EXAMPLE FIGURE WITH BITWONUMCAPTION
Figure 10.16: Long
\bitwonumcaption
Bild 10.16: Lang
\bitwonumcaption
EXAMPLE FIGURE WITH BIONENUMCAPTION
Figure 10.17: Long English
\bionenumcaption
Bild 10.17: Lang Deutsch
\bionenumcaption
EXAMPLE FIGURE WITH BIONENUMCAPTION
\bionenumcaption[fig:bi3]%
{}{Long English \cs{bionenumcaption}}%
{Bild}{ }{Lang Deutsch \cs{bionenumcaption}}
\end{figure}
\bicaption[
label
]{
short1
}{
long1
}
%
{
NAME
}{
long2
}
When bilingual captions are typeset via the
\bicaption
command the second lan-
guage text is not put into the ‘List of...’. The command takes 5 arguments. The optional
label is for a label if required. short1 and long1 are the short 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. The last argument, long2, is the caption
text for the second language (which is not put into the ‘List of... ’).
For example, if the main and secondary languages are English and German:
\bicaption{Short}{Long}{Bild}{Langlauf}
If the short title text is not required, then leave the appropriate argument either empty or
as one or more spaces.
Figure 10.18 is an example of using
\bicaption
and was produced by the following
code:
\begin{figure}
\centering
EXAMPLE FIGURE WITH A RULED BICAPTION
\precaption{\rule{\linewidth}{0.4pt}\par}
\midbicaption{\precaption{}%
\postcaption{\rule{\linewidth}{0.4pt}}}
\bicaption[fig:bi2]%
{Short English \cs{bicaption}}{Longingly}%
{Bild}{Langlauf}
\end{figure}
193
.Net extract text from pdf - SDK control API: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
.Net extract text from pdf - SDK control API: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
EXAMPLE FIGURE WITH A RULED BICAPTION
Figure 10.18: Longingly
Bild 10.18: Langlauf
\bicontcaption{
long1
}
%
{
NAME
}{
long2
}
Bilingualcontinuation captionscanbe typeset viathe
\bicontcaption
command. In this
case, neither language text is put into the ‘List of... ’. The command takes 3 arguments.
long1 is the captiontext for the mainlanguage of the document. The value of the NAME
argument is used asthe caption name for the second language caption. The last argument,
long2, isthe caption text for the second language. For example, if the main and secondary
languages are again English and German:
\bicontcaption{Continued}{Bild}{Fortgefahren}
\midbicaption{
text
}
The bilingual captions are implemented by calling
\caption
twice, once for each lan-
guage. The command
\midbicaption
, which is similar to the
\precaption
and
\postcaption
commands, is executed just before calling the second
\caption
. Among
other things, this can be used to modify the style of the second caption with respect to the
first. For example, if there is a line above and below normal captions, it is probably unde-
sirable to have a double line in the middle of abilingual caption. So, for bilingual captions
the following may be done within the float before the caption:
\precaption{\rule{\linewidth}{0.4pt}\par}
\postcaption{}
\midbicaption{\precaption{}%
\postcaption{\rule{\linewidth}{0.4pt}}}
This sets a line before the first of the two captions, then the
\midbicaption{...}
nulls
the pre-caption line and adds a post-caption line for the second caption. The class initially
specifies
\midbicaption{}
.
10.9 S
UBCAPTIONS
Thesubfigure package enables the captioning of sub-figures within a larger figure, and
similarly for tables. Thesubfigure package may be used with the class, or you can use
the class commands described below; these commands can only be used inside a float
environment for which a subfloat
3
has been specified via
\newsubfloat
.
\subcaption[
list-entry
]{
subtitle
}
3See§10.3.
194
SDK control API:VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. VB.NET PDF - Extract Text from PDF Using VB. How to Extract Text from PDF with VB.NET Sample Codes in .NET Application.
www.rasteredge.com
SDK control API:C# PDF Text Extract Library: extract text content from PDF file in
C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File. Advanced Visual
www.rasteredge.com
10.9. Subcaptions
The
\subcaption
command is similar to the
\caption
command and can only be used
inside a float environment. It typesets an identified subtitle, where the identification is
an alphabetic character enclosed in parentheses. If the optional list-entry argument is
present, list-entry is added to the caption listings for the float. If it is not present, then
subtitle isadded to the listing.
The subtitle is typeset within a box which is the width of the surrounding environ-
ment, so
\subcaption
should only be used within a fixed width box of some kind, for
example a
minipage
as shown below.
\begin{figure}
\centering
\begin{minipage}{0.3\textwidth}
\verb?Some verbatim text?
\subcaption{First text}
\end{minipage}
\hfill
\begin{minipage}{0.3\textwidth}
\verb?More verbatim text?
\subcaption{Second text}
\end{minipage}
\caption{Verbatim texts}
\end{figure}
As the example code shows, the
\subcaption
command provides a means of putting
verbatim elements into subfigures.
\subtop[
list-entry
][
subtitle
]{
text
}
\subbottom[
list-entry
][
subtitle
]{
text
}
The command
\subtop
puts a subcaption identifier on top of text. If both optional ar-
guments are present, list-entry will be added to the appropriate listing, and subtitle is
placed above the text with the identifier. If only one optional argument is present this
is treated as being subtitle; the identifier and subtitle are placed above the text and
subtitle is added to the listing. Regardless of the optional arguments the identifier is
alwaysadded to the listing and placed above the text.
The
\subbottom
command is identical to
\subtop
except that the identifier, and po-
tentially the subtitle, is placed below the text. Note that verbatim text cannot be used in
the text argument to
\subbottom
or
\subtop
.
The main caption can be at either the top or the bottom of the float. The positioning of
the main and subcaptions are independent. For example
\begin{figure}
\subbottom{...}
% captioned as (a) below
\subtop{...}
% captioned as (b) above
\caption{...}
\end{figure}
If a figure that includes subfigures is itself continued then it may be desirable to con-
tinue the captioning of the subfigures. For example, if Figure 3 has three subfigures, say
A, B and C, and Figure 3 is continued then the subfigures in the continuation should be D,
E, etc.
195
SDK control API:VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Home ›› XDoc.PDF ›› VB.NET PDF: Extract PDF Image. VB.NET PDF - Extract Image from PDF Document in VB.NET. VB.NET: Extract All Images from PDF Document.
www.rasteredge.com
SDK control API:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Extract PDF Pages and Save into a New PDF File. You VB.NET: Extract PDF Pages and Overwrite the Original PDF File. Instead
www.rasteredge.com
10. F
LOATS AND CAPTIONS
\contsubcaption[
list-entry
]{
subtitle
}
\contsubtop[
list-entry
][
subtitle
]{
text
}
\contsubbottom[
list-entry
][
subtitle
]{
text
}
\subconcluded
The
\contsubcaption
,
\contsuptop
and
\contsubbottom
commands are the con-
tinued versionsof the respective subcaptioning commands. These continue the subcaption
numbering scheme across (continued) floats. In any event, the main caption can be at the
top or bottom of the float. The
\subconcluded
command is used to indicate that the
continued (sub) float has been concluded and the numbering scheme is reinitialized. The
command should be placedimmediately before the end of the last continued environment.
For example:
\begin{figure}
\subbottom{...} captioned as (a) below
\subbottom{...} captioned as (b) below
\caption{...}
\end{figure}
\begin{figure}
\contsubtop{...} captioned as (c) above
\contsubtop{...} captioned as (d) above
\contcaption{Concluded}
\subconcluded
\end{figure}
...
\begin{table}
\caption{...}
\subtop{...}
captioned as (a) above
\subbottom{...} captioned as (b) below
\end{table}
\label(
bookmark
){
labstr
}
\subcaptionref{
labstr
}
A
\label
command may be included in the subtitle argument of the subcaptioning com-
mands. Using the normal
\ref
macro to refer to the label will typeset the number of
the float (obtained from a
\label
ed main
\caption
)and the subcaption identifier. If
the
\subcaptionref
macro is used instead of
\ref
then only the subcaption identifier is
printed.
In cases where thehyperrefpackage is used, the
\label
command when used inside
the subtitle argument can take an optional bookmark argument, enclosed in parenthese not
square brackets, which will create a bookmark field of the form ‘Subfigure 4.7(d)’.
As an example to show the difference between
\subcaptionref
and
\ref
, Fig-
ure 10.19 and the paragraph immediately following this one were produced by the code
shown below.
Figure 10.19 has two subfigures, namely 10.19(a) and (b).
Figure \ref{fig:twosubfig} has two subfigures,
namely \ref{sf:1} and \subcaptionref{sf:2}.
\begin{figure}
196
SDK control API:C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Page, a Region on a Page, and PDF Document. C#.NET extract image from multiple page adobe PDF file library for Visual Studio .NET.
www.rasteredge.com
SDK control API:VB.NET PDF Form Data Read library: extract form data from PDF in
PDF software, it should have functions for processing text, image as field data from PDF and how to extract and get field data from PDF in VB.NET project.
www.rasteredge.com
10.9. Subcaptions
SUBFIGURE ONE
(a) Subfigure 1
SUBFIGURE TWO
(b) Subfigure 2
Figure 10.19: Figure with two subfigures
\centering
\subbottom[Subfigure 1]{\fbox{SUBFIGURE ONE}\label{sf:1}}
\hfill
\subbottom[Subfigure 2]{\fbox{SUBFIGURE TWO}\label{sf:2}}
\caption{Figure with two subfigures} \label{fig:twosubfig}
\end{figure}
\tightsubcaptions \loosesubcaptions
As with many other aspects of typesetting the style of subcaptions may be specified.
There is a small amount of vertical space surrounding a subcaption. More space is used
after the
\loosesubcaptions
declaration compared to that produced after the default
\tightsubcaptions
declaration.
\subcaptionsize{
size
}
\subcaptionlabelfont{
fontspec
}
\subcaptionfont{
fontspec
}
The size of the font used for subcaptions is specified by
\subcaptionsize
,and the
fontsfor the identifier and text are specified by
\subcaptionlabelfont
for the identifier
and by
\subcaptionfont
for the title text. The defaults are:
\subcaptionsize{\footnotesize}
\subcaptionlabelfont{\normalfont}
\subcaptionfont{\normalfont}
\subcaptionstyle{
style
}
\raggedleft \centering\raggedright \centerlastline
The identifier and title of a subcaption is typeset as a block (i.e., non-indented) paragraph
by specifying
\subcaptionstyle{}
Other styles are available by calling
\subcaptionstyle
with a styling cmd. Val-
ues that you might use are:
\centering
for a centered paragraph,
\raggedleft
or
\raggedright
for ragged left or right paragraphs, or
\centerlastline
which calls for
ablock paragraph with the last line centered.
\hangsubcaption
\shortsubcaption
\normalsubcaption
197
SDK control API:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Able to extract PDF pages and save changes to original PDF file in C#.NET. C#.NET Sample Code: Extract PDF Pages and Save into a New PDF File in C#.NET.
www.rasteredge.com
SDK control API:C# PDF Text Search Library: search text inside PDF file in C#.net
C#.NET PDF DLLs for Finding Text in PDF Document. Add necessary references: C#.NET PDF Demo Code: Search Text From PDF File in C#.NET.
www.rasteredge.com
10. F
LOATS AND CAPTIONS
The
\hangsubcaption
declaration causes subcaptions to be typeset with the iden-
tifier above the title.
Following the
\shortsubcaption
declaration subcaptions
that are less than a full line in length are typeset left justified instead of centered.
The
\normalsubcaption
declaration, which is the default, undoes any previous
\hangsubcaption
or
\shortsubcaption
declaration, so that subcaptions are normally
centered.
10.10 S
IDE CAPTIONS
Typically captions are put either above or below the element they are describing. Some-
times it is desireable to put a caption at the side of the element instead.
\begin{sidecaption}[
fortoc
]{
title
}[
label
]
the body of the float
\end{sidecaption}
The
sidecaption
environment is used for a sidecaption rather than a macro. The body
of the float is put inside the environment. For example:
\begin{figure}
\begin{sidecaption}{An illustration}[fig:ill]
\centering
\includegraphics{...}
\end{sidecaption}
\end{figure}
whereby the caption, ‘Figure N: Anillustration’, will be placed inthe margin alongside the
graphic, and for reference purposes will be given given the
\label fig:ill
.
\sidecapwidth\sidecapsep
\setsidecaps{
sep
}{
width
}
The captionisset inabox
\sidecapwidth
wide (the default is
\marginparwidth
)off-
set
\sidecapsep
(default
\marginparsep
)intothemargin. The command
\setsidcaps
sets the
\sidecapsep
and
\sidecapwidth
to the given values. Changing the marginpar
parameters, for example with
\setmarginnotes
, will not change the side caption set-
tings. Note also that
\checkandfixthelayout
neither checks nor fixes the side caption
parameters.
\sidecapmargin{
margin
}
\ifscapmargleft \scapmarglefttrue \scapmargleftfalse
If the float is a single column float in a twocolumn document then the caption is al-
ways
4
placed in the adjacent margin, otherwise the
\sidecapmargin
command controls
the margin where the sidecaption will be placed. The possible values for margin are one
of:
left
,
right
,
inner
,or
outer
. If
left
or
right
is specified the caption will go into
the left or right margin. If
inner
or
outer
is specified then in a two sided document the
4
Well,nearly always. See the\overridescapmargin command later.
198
10.10. Side captions
captionwill be ondifferent sides of the typeblock according to whether it is arecto or verso
page; in a one sided document the caption margin is fixed. The left margin is the default.
When the captionis to be set in the left margin,
\ifscapmargleft
is set
true
,and for
aright margin it is set
false
.
\setsidecappos{
pos
}
By default a sidecaptionis vertically centered with respect to the float it is captioning. This
can be altered by using the
\setsidecappos
declaration. The allowed values for pos
are:
t
—the top of the caption is aligned with the top of the float
c
—(the default) the center of the caption is aligned with the center of the float
b
—the bottom of the caption is aligned with the bottom of the float
The other kinds of simple captions canalso be put at the side of afloat. The positioning
and styling commands for these are exactly those for
sidecaption
. Bilingual captions,
which are not considered to be simple, can only be placed above or below a float; no
facilities are provided for setting them at the side..
\begin{sidecontcaption}{
title
}[
label
]
the body of the float
\end{sidecontcaption}
Sidecaptions may be continued with the
sidecontcaption
environment.
\begin{sidenamedlegend}[
fortoc
]{
title
}
the body of the float
\end{sidenamedlegend}
Named legends may be set at the side with the
sidenamedlegend
environment.
\begin{sidelegend}{
title
}
the body of the float
\end{sidelegend}
Legends may be set at the side with the
sidelegend
environment.
10.10.1 Tweaks
\sidecapstyle
Just before the caption is set, the
\sidecapstyle
command is called. This may be used
to set the styling for the particular caption. By default it sets captions that are in the left
margin raggedleft, and those that are in the right margin are set raggedright. The default
definition is:
\newcommand*{\sidecapstyle}{%
%% \captionnamefont{\bfseries}
\ifscapmargleft
\captionstyle{\raggedleft}%
199
10. F
LOATS AND CAPTIONS
\sidecapmargin \overridescapmargin
left
left
right
right
inner
outer
Table 10.6: Permitted
arguments for some
sidecaption related
commands
\else
\captionstyle{\raggedright}%
\fi}
You can change the command to suit your purposes; for example, uncommenting the
\captionnamefont
line would result in the caption’s float name being set in a bold font.
\overridescapmargin{
margin
}
\sidecapraise
Sometimes the caption may not be placed exactly where you want it — it may be in the
wrong margin or at the wrong height.
The command
\overridescapmargin
will force the following caption into the
margin you specify which can only be
left
or
right
. In a twosided document where
\sidecapmargin
is
inner
or
outer
and the captiongoes in the wrong margin, it islikely
that the declaration
\strictpagecheck
will solve the problem. The wrong margin might
be chosen in a twocolumn document where the float is in the second column; use
\overridescapmargin{right}
to fix this.
The caption may not be at quite the height you want with respect to the float. The cap-
tion will be raised by the length
\sidecapraise
in addition to the calculated movement
(or lowered if
\sidecapraise
is negative).
\sidecapfloatwidth{
length
}
The float is set in a
minipage
with width
sidecapfloatwidth
,whose default defini-
tion is
\newcommand*{\sidecapfloatwidth}{\linewidth}
That is, the normal width is the same as the current
\linewidth
.For a narrow table, say,
you may want to reduce this, for example to half by
\renewcommand*{\sidecapfloatwidth}{0.5\linewidth}
Note that
\sidecapfloatwidth
is a macro, not a length, so it must be altered by using a
\renewcommand*
,not by
\setlength
.
If you do reduce the
\sidecapfloatwidth
you may notice that the sidecaption is
actualy placed a distance
\sidecapsep
with respect to the float’s
minipage
, not with
respect to the text block.
Table 10.6 was created by the following code.
200
10.11. How LaTeX makes captions
\newlength{\mylength}
\setlength{\mylength}{\linewidth}
\addtolength{\mylength}{-\sidecapsep}
\addtolength{\mylength}{-\sidecapwidth}
\begin{table}
\sidecapmargin{left}%
\renewcommand*{\sidecapfloatwidth}{\mylength}%
\raggedleft
\begin{sidecaption}{%
Permitted arguments for some sidecaption related commands}[scap:one]
\centering
\begin{tabular}{cc} \toprule
\cs{sidecapmargin} & \cs{overridescapmargin} \\ \midrule
\texttt{left}
& \texttt{left}
\\
\texttt{right}
& \texttt{right}
\\
\texttt{inner}
& \\
\texttt{outer}
& \\ \bottomrule
\end{tabular}
\end{sidecaption}
\end{table}
The calculations on the
\mylength
length are so that the sidecaptionand float will just
fit inside the typeblock.
Note that the
\raggedleft
command before the
sidecaption
environment makes
the float’s
minipage
be placed raggedleft (i.e., moved across to the right hand edge of the
typeblock) while the
\centering
centers the
tabular
within the minipage. You can get
avariety of horizontal placements by judicious use of
\raggedright
,
\centering
and
\raggedleft
commands. If you do move the float sideways to leave space for the caption
make sure that the caption will go to the side you want. In the example code I ‘moved’ the
float to the right so I made sure that the caption would go on the left by explicitly setting
\sidecapmargin{left}
As far as TeX is concerned a sidecaption takes no horizontal space. If you use a side-
caption in a wrapped float from, say, thewrapfigpackage, make sure that the sidecaption
gets placed where it won’t be overlaid by the main text.
10.11 H
OW
L
A
T
E
X
MAKES CAPTIONS
Thissection providesanoverview of how LaTeXcreatescaptionsandgivessome examples
of how to change the captioning style directly. The sectionneed not be lookedat more than
once unless you like reading LaTeX code or you want to make changes to LaTeX’s style of
captioning not supported by the class.
The LaTeX kernel provides tools to help in the definition of captions, but it is the par-
ticular class that decides on their format.
\caption[
short
]{
long
}
The kernel (in
ltfloat.dtx
)defines the caption command via
201
10. F
LOATS AND CAPTIONS
\def\caption{%
\refstepcounter\@captype \@dblarg{\@caption\@captype}}
\@captype
\@captype
is defined by the code that creates a new float environment and is set to the
environment’s name (see the code for
\@xfloat
in
ltfloat.dtx
). For a
figure
environ-
ment, there is an equivalent to
\def\@captype{figure}
\@caption{
type
}[
short
]{
long
}
The kernel also provides the
\@caption
macro as:
\long\def\@caption#1[#2]#3{\par
\addcontentsline{\csname ext@#1\endcsname}{#1}%
<-
{\protect\numberline{\csname the#1\endcsname}%
{\ignorespaces #2}}
\begingroup
\@parboxrestore
\if@minipage
\@setminipage
\fi
\normalsize
\@makecaption{\csname fnum@#1\endcsname}%
<-
{\ignorespaces #3}\par
\endgroup}
where type is the name of the environment in which the caption will be used. Putting
these three commands together results in the user’s view of the caption command as
\caption[
short
]{
long
}
.
It is the responsibilty of the class (or package) which defines floats to provide defini-
tions for
\ext@type
,
\fnum@type
and
\@makecaption
whichappear in the definition of
\@caption
(in the lines marked
<-
above).
\ext@type
This macro holds the name of the extension for a ‘List of.. .’ file. For example for the
figure
float environment there isthe definition equivalent to
\newcommand{\ext@figure}{lof}
\fnum@type
Thismacro isresponsible for typesetting the captionnumber. For example, for the
figure
environment there is the definition equivalent to
\newcommand{\fnum@figure}{\figurename~\thefigure}
\@makecaption{
number
}{
text
}
202
Documents you may be interested
Documents you may be interested