|
A to Z on figures with LATEX
YI, Hoze
2010 KTS Workshop
This document is of A4 size with landscape orientation.
1
Terms used herein:
• latex; tex
• pdflatex; pdftex
• xelatex; xetex
• lualatex; luatex
2
Moguls:
David Carlisle
What do we owe him?
What are we indebted to him?
Jin-Hwan Cho
3
To insert a figure file, the only thing you need is:
\includegraphics{foo}
However, not sufficient?
4
Now, satisfied?
\usepackage{graphicx}
\begin{document}
\includegraphics{foo}
\end{document}
5
Once upon a time:
\usepackage[dvips]{graphicx}
\begin{document}
\includegraphics{foo.eps}
\end{document}
Then:
#> latex doc.tex
#> dvips doc.dvi
#> pstopdf doc.ps
6
From graphics.sty:
\DeclareOption{dvips}{\def\Gin@driver{dvips.def}}
\DeclareOption{dvipdfmx}{\def\Gin@driver{dvipdfmx.def}}
\DeclareOption{xetex}{\def\Gin@driver{xetex.def}}
\DeclareOption{pdftex}{\def\Gin@driver{pdftex.def}}
From xetex.def:
\def\Gin@extensions{.pdf,.eps,.ps,%
.png,.jpg,.bmp,.pict,.tif,.psd,.mac,.sga,.tga,.gif}
% xdvipdfmx is now the default driver, and can support EPS images,
7
What is a figure to LATEX?
width
total height
height reference
point
baselinedepth
8
Now, the best way is:
\usepackage{graphicx}
\begin{document}
\includegraphics{foo}
\end{document}
Then:
#> xelatex doc.tex
9
Figure file formats in TWO groups:
• Raster: bmp, png, jpg, tif, eps, pdf, · · ·
• Vector: eps, pdf, wmf, emf, · · ·
10
By what do you get RASTER figures?
Figure 1: Adobe Photoshop
• Camera
• Screen capture
• Adobe Photo-shop
11
By what tool you get VECTOR figures?
Figure 2: Adobe Illustrator
• Adobe Illustrator
• Microsoft Visio
• Xfig
• Dia
• Inkscape
• CAD
12
Figure 3: 141 mm PDF
13
Figure 4: 100 DPI JPG
14
Figure 5: 150 DPI JPG
15
Figure 6: 300 DPI JPG
16
Figure 7: 600 DPI JPG
17
Figure 8: 100 DPI JPG 1
2 scaled down
Figure 9: 150 DPI JPG 1
2 scaled down
18
Figure 10: 300 DPI JPG 1
2 scaled down
Figure 11: 600 DPI JPG 1
2 scaled down
19
Figure 12: 1680 pixels 72 DPI JPG 1
4 scaled down
20
Figure 13: 1680 pixels 100 DPI JPG 1
3 scaled down
21
Figure 14: 1680 pixels 150 DPI JPG 1
2 scaled down
22
Figure 15: 1680 pixels 300 DPI JPG
23
Some tips for figure file processing:
#> convert -density 150 foo.bmp foo.jpg
#> for %i in (*.bmp) do convert -density 150 %i %~ni.jpg
#> epstopdf foo.eps
#> for %i in (*.eps) do epstopdf %i
#> pdfcrop foo.pdf
24
Recommendations:
• Keep size ratio.
• Try to use only the scale option for includegraphics
• One figure should have only one message.
25
Where shoud we put figures on page?
26
Why floating?
\begin{figure}[!hbt]
\includegraphics{foo}
\caption{blah blah}
\label{xxx}
\end{figure}
A tip to force figures to settle:
\clearpage
27
If you don’t want floating:
• caption.sty (or ccaption.sty emulated by memoir.cls)
• minipage environment
Figure 16: Hoze Jr.
\begin{minipage}{\textwidth}
\centering
\includegraphics[scale=.2]{silver}
\captionof{figure}{Hoze Jr.}
\end{minipage}
28
Figures in a table:
Silver at Jeju-do
hiking along Olle-gil
29
\begin{tabular}{ccc}
\includegraphics[scale=.15]{silver}
& \includegraphics[scale=.15]{silver}
& \includegraphics[scale=.15]{silver} \\
Silver & at & Jeju-do\\
\includegraphics[scale=.15]{silver}
& hiking along Olle-gil
& \includegraphics[scale=.15]{silver}\\
\end{tabular}
\newpage
A tip to align figures, or a figure and a text:
\\[-.5\baselineskip]
30
Figure environment in two columns:
I am happy to join with you today in what will go down in history as
the greatest demonstration for freedom in the history of our nation.
Five score years ago, a great American, in whose symbolic shadow we
stand today, signed the Emancipation Proclamation. This momen-tous decree came as a great beacon light of hope to millions of Negro
slaves, who had been seared in the flames of withering injustice. It
came as a joyous daybreak to end the long night of their captivity.
But one hundred years later, the Negro still is not free. One hundred
years later, the life of the Negro is still sadly crippled by the manacles
of segregation and the chains of discrimination. One hundred years
later, the Negro lives on a lonely island of poverty in the midst of a
vast ocean of material prosperity. One hundred years later, the Negro
is still languished in the corners of American society and finds himself
an exile in his own land. And so we’ve come here today to dramatize
a shameful condition.
\begin{figure*}
\includegraphics{foo}
\end{figure*}
I am happy to join with you today in what will go down in history as
the greatest demonstration for freedom in the history of our nation.
Five score years ago, a great American, in whose symbolic shadow we
stand today, signed the Emancipation Proclamation. This momen-tous decree came as a great beacon light of hope to millions of Negro
slaves, who had been seared in the flames of withering injustice. It
came as a joyous daybreak to end the long night of their captivity.
But one hundred years later, the Negro still is not free. One hundred
years later, the life of the Negro is still sadly crippled by the manacles
of segregation and the chains of discrimination. One hundred years
later, the Negro lives on a lonely island of poverty in the midst of a
vast ocean of material prosperity. One hundred years later, the Negro
is still languished in the corners of American society and finds himself
an exile in his own land. And so we’ve come here today to dramatize
a shameful condition.
31
cuted.sty or midfloat.sty in two columns:
I am happy to join with you today in what will go down in history as
the greatest demonstration for freedom in the history of our nation.
Five score years ago, a great American, in whose symbolic shadow we
stand today, signed the Emancipation Proclamation. This momen-tous decree came as a great beacon light of hope to millions of Negro
slaves, who had been seared in the flames of withering injustice. It
came as a joyous daybreak to end the long night of their captivity.
But one hundred years later, the Negro still is not free. One hundred
years later, the life of the Negro is still sadly crippled by the manacles
of segregation and the chains of discrimination. One hundred years
later, the Negro lives on a lonely island of poverty in the midst of a
vast ocean of material prosperity. One hundred years later, the Negro
is still languished in the corners of American society and finds himself
an exile in his own land. And so we’ve come here today to dramatize
a shameful condition.
\begin{strip}
\includegraphics{foo}
\end{strip}
I am happy to join with you today in what will go down in history as
the greatest demonstration for freedom in the history of our nation.
Five score years ago, a great American, in whose symbolic shadow we
stand today, signed the Emancipation Proclamation. This momen-tous decree came as a great beacon light of hope to millions of Negro
slaves, who had been seared in the flames of withering injustice. It
came as a joyous daybreak to end the long night of their captivity.
But one hundred years later, the Negro still is not free. One hundred
years later, the life of the Negro is still sadly crippled by the manacles
of segregation and the chains of discrimination. One hundred years
later, the Negro lives on a lonely island of poverty in the midst of a
vast ocean of material prosperity. One hundred years later, the Negro
is still languished in the corners of American society and finds himself
an exile in his own land. And so we’ve come here today to dramatize
a shameful condition.
32
Packages related to figures:
• subfigure.sty
• hvfloat.sty
• wrapfig.sty
• eso-pic.sty
• wallpaper.sty
• everypage.sty
• flowfram.sty
#> texdoc hvfloat
33
To make text flow around a figure, using wrapfig package:
I am happy to join with you today in what will go down in history as the
greatest demonstration for freedom in the history of our nation.
Figure 17: Martin Luther
King Jr.
Five score years ago, a great American, in
whose symbolic shadow we stand today,
signed the Emancipation Proclamation. This
momentous decree came as a great beacon light
of hope to millions of Negro slaves, who had
been seared in the flames of withering injustice.
It came as a joyous daybreak to end the long
night of their captivity. Five score years ago, a
great American, in whose symbolic shadow we
stand today, signed the Emancipation Procla-mation. This momentous decree came as a
great beacon light of hope to millions of Negro
slaves, who had been seared in the flames of withering injustice. It came
as a joyous daybreak to end the long night of their captivity.
34
\stri
\begin{wrapfigure}{l}{0.35\textwidth}
%\vspace{-20pt}
\begin{center}
\includegraphics[scale=.5]{MartinLutherKingSpeaking}
\end{center}
%\vspace{-20pt}
\caption{Martin Luther King Jr.}
%\vspace{-10pt}
\end{wrapfigure}
\strii\ \strii
\newpage
35
To put a text next to a figure, using the minipage environment:
I am happy to join with you today in what will go down in history as the
greatest demonstration for freedom in the history of our nation.
Five score years ago, a great Ameri-can, in whose symbolic shadow we
stand today, signed the Emancipa-tion Proclamation. This momen-tous decree came as a great bea-con light of hope to millions of Ne-gro slaves, who had been seared in
the flames of withering injustice. It
came as a joyous daybreak to end
the long night of their captivity.
I am happy to join with you today in what will go down in history as the
greatest demonstration for freedom in the history of our nation.
36
\stri\par
\begin{minipage}[m]{\textwidth}
\begin{minipage}{.475\textwidth}
\includegraphics[scale=.25]{silver}
\end{minipage}\hfill
\begin{minipage}{.475\textwidth}
\strii
\end{minipage}
\end{minipage}
\par\stri
\newpage
37
How to put a list next to a figure?
Get it out of your mind.
What you need only is:
• The figure environment
• The wrapfig package
38
Where to round up the figure files?
\graphicspath{{fig/}{../fig/}{../Eng/fig/}}
39
An alternative of eps editors, Tikz:
..Business
.Planning
.Design
.Development .Support
.Translation
\begin{tikzpicture}[->,>=stealth’,shorten >=1pt,node distance=2cm,
on grid,semithick,inner sep=2pt,bend angle=50, font=\small\sffamily]
\node (A) {Business};
\node (B) [below=of A] {Planning};
\node (C) [below=of B] {Design};
\node (D) [below left=of C] {Development};
\node (E) [below right=of C] {Support};
\node (F) [below=of E] {Translation};
\path
(B) edge (A)
(C) edge (B)
(D) edge (C)
(D) edge [bend left] (B)
(E) edge (C)
(E) edge [bend right] (B)
(F) edge (E)
(F) edge [bend right] (A);
\end{tikzpicture}
40
Things you can do with hzillust.sty based on memoir:
• \placefigure[...]{figure}
• \illustfigure[...]{figure}{text}
• \placetable[...]{tabular}
• \illusttable[...]{tabular}{text}
• \listfig[...]{figure}
• \linefig[...]{figure}
• IFenumerate
41
\placefigure:
Figure 18: Li Bing-bing
\placefigure[float=false, caption={Li Bingbing}, captionstyle=\raggedright, figurehalign=\centering,
scale=0.35, rotate=90]{LiBingbing}
42
\illustfigure:
Li Bingbing (born February 27, 1976) is a Chinese
actress and singer. Becoming active in her acting career
since 1994, Li has steadily achieved success in both
television and film, especially in Mainland China and
other Asian countries.
Li Bingbing
\illustfigure[figureposition=right, frame, framerule=0.5pt, framesep=5pt, scale=0.25, valign=middle,
textstyle=\sloppy\raggedright, legend={Li Bingbing}]{LiBingbing}{
Li Bingbing (born February 27, 1976) is a Chinese actress and singer.
Becoming active in her acting career since 1994,
Li has steadily achieved success in both television and film,
especially in Mainland China and other Asian countries.
}
43
\placetable:
Table 1: Paper size
A B C JIS B
0 841x1189 1000x1414 917x1297 1030x1456
1 594x841 707x1000 648x917 728x1030
2 420x594 500x707 458x648 515x728
3 297x420 353x500 324x458 364x515
4 210x297 250x353 229x324 257x364
5 148x210 176x250 162x229 182x257
6 105x148 125x176 114x162 128x182
7 74x105 88x125 81x114 91x128
\placetable[float=false, caption={Paper size}, captionstyle=\centering, label=PaperSize,
tabularstyle=\centering,tabularfont=\sffamily\small]{
\begin{tabular}{ccccc}
\toprule
44
& \textbf{A} & \textbf{B} & \textbf{C} & \textbf{JIS B} \\
\midrule
0 & 841x1189 & 1000x1414 & 917x1297 & 1030x1456 \\
1 & 594x841 & 707x1000 & 648x917 & 728x1030 \\
2 & 420x594 & 500x707 & 458x648 & 515x728 \\
3 & 297x420 & 353x500 & 324x458 & 364x515 \\
4 & 210x297 & 250x353 & 229x324 & 257x364 \\
5 & 148x210 & 176x250 & 162x229 & 182x257 \\
6 & 105x148 & 125x176 & 114x162 & 128x182 \\
7 & 74x105 & 88x125 & 81x114 & 91x128 \\
\bottomrule
\end{tabular}
}
45
\illusttable:
raster vector
eps O O
pdf O O
bmp O X
jpg O X
png O X
In computer graphics, a raster graphics image or bitmap
is a data structure representing a generally rectangular
grid of pixels, or points of color, viewable via a moni-tor, paper, or other display medium. Raster images are
stored in image files with varying formats.
\illusttable[valign=bottom]{
\begin{tabular}{c|cc}
\toprule
& raster & vector \\
\midrule
eps & O & O \\
pdf & O & O \\
bmp & O & X \\
jpg & O & X \\
png & O & X \\
\bottomrule
46
\end{tabular}
}{
In computer graphics, a raster graphics image or bitmap is a data structure representing a generally
rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium.
Raster images are stored in image files with varying formats.
}
47
To put a tiny figure in a text line:
While the test is performed, the valid items will be indicated by a whereas
the invalid items will be indicated by a .
While the test is performed, the valid items will be indicated by a
whereas the invalid items will be indicated by a .
While the test is performed, the valid items will be indicated by a \linefig{MarkChecked}
whereas the invalid items will be indicated by a \linefig{MarkFailed}.
While the test is performed, the valid items will be indicated by a \linefig[scale=2]{MarkChecked}
whereas the invalid items will be indicated by a \linefig[raise=0pt]{MarkFailed}.
48
To add a figure to a list item:
• Unfasten the screw, and lift and remove the stand.
• Attach the wall-mount bracket, and fasten the screws.
49
\begin{itemize}
\item Unfasten the screw, and lift and remove the stand.
\listfig{WallMount1}
\item Attach the wall-mount bracket, and fasten the screws.
\listfig{WallMount2}
\end{itemize}
50
To enumerate items with figures:
1. Unfasten the screw, and lift and remove the stand.
2. Attach the wall-mount bracket, and fasten the screws.
\begin{IFenumerate}
\illustfigure{WallMount1}{
Unfasten the screw, and lift and remove the stand.
51
}
\illustfigure{WallMount2}{
Attach the wall-mount bracket, and fasten the screws.
}
\end{IFenumerate}
52
To put a watermark:
\usepackage{wallpaper}
\ThisCenterWallPaper{1}{MartinLutherKing}
53
With xkeyval.sty, you can make your own macros with ease.
\newcommand\linefigscale{1}
\newlength\linefigraise
\define@key{linefig}{scale}{%
\renewcommand\linefigscale{#1}%
}
\define@key{linefig}{raise}{%
\setlength\linefigraise{#1}%
}
\newif\iflinefig@showfilename\linefig@showfilenamefalse
\define@boolkey{linefig}{showfilename}[true]{
\ifKV@linefig@showfilename
\linefig@showfilenametrue
\fi
}
54
\newcommand\setlinefig[1]{%
\presetkeys{linefig}{#1}{}%
}
\setlinefig{raise={-0.5ex}, scale=1}
\newcommand\linefig[2][]{%
\setkeys{linefig}{#1}%
\raisebox{\linefigraise}{\includegraphics[scale=\linefigscale]{#2}}%
\iflinefig@showfilename{\tiny#2}\fi%
}
55
How to insert a video?
\usepackage{movie15}
\includemovie{12cm}{9cm}{Opening.swf}
However, this is not compatible with XeTeX yet.
56
A makeshift is:
\hbox{%
\special{pdf:ann width 12cm height 9cm
<</Subtype /Movie /Border [1 0 0] /T
(movie) /Movie <</F (MyHome.mov)
/Aspect [480 320] /Poster true>>
/A <</ShowControls true>> >>}%
}
57
Pieces of advice:
1. Make sure the figure you are to insert to be necessary.
2. Decide what size the figures should be before everything else.
3. Make an effort to only rely on the figure environment.
4. If you have to deviate from the conventional typography, hzillust.sty
could be a solution.
58
Thank you for your time.
59
|