![]() | ![]() | ![]() | 11 Using Ipe figures in Latex |
Most Latex installations support the inclusion of figures in Encapsulated Postscript (EPS) format (the "Encapsulated" means that there is only a single Postscript page and that it contains a bounding box of the figure).
The standard way of including EPS figures is using the graphicx
package. If you are not familiar with it, here is a quick overview.
In the preamble of your document, add the declaration:
\usepackage{graphicx}One useful attribute to this declaration is
draft
, which stops
LaTeX from actually including the figures--instead, a rectangle
with the figure filename is shown:
\usepackage[draft]{graphicx}
To include the figure "figure1.eps", you use the command:
\includegraphics{figs/figure1}Note that it is common not to specify the file extension ".eps". The command
\includegraphics
has various options to
scale and rotate the figure. For instance, to scale the same figure
to 50%, use:
\includegraphics[scale=0.5]{figs/figure1}To scale such that the width of the figure becomes 5 cm:
\includegraphics[width=5cm]{figs/figure1}Instead, one can specify the required height with
height
.
Here is an example that scales a figure to 200% and rotates it by
45 degrees counter-clockwise. Note that the scale argument should be
given before the angle
argument.
\includegraphics[scale=2,angle=45]{figs/figure1}
Let's stress once again that these commands are the standard commands
for including EPS files in a LaTeX document. Ipe files neither
require nor support any special treatment. If you are used to other
commands for EPS inclusion, such as the old-fashioned epsfig
package,4 you can use them as well for Ipe figures. If
you want to know more about the LaTeX packages for including
graphics and producing colour, check the grfguide.tex
document
that is probably somewhere in your TeX installation.
If you are a user of Pdflatex (a version of Latex that produces PDF instead of DVI output), you cannot include EPS files. Instead, save your Ipe figures in PDF format, and include them in the way described above.
There is a slight complication here: Each page of a PDF document can carry several "bounding boxes", such as the MediaBox (which indicates the paper size), the CropBox (which indicates how the paper will by cut), or the ArtBox (which indicates the extent of the actual contents of the page). Ipe automatically saves, for each page, the paper size in the MediaBox, and a bounding box for the drawing in the ArtBox. Ipe also puts the bounding box in the CropBox unless this has been turned off by the stylesheet.
Now, when including a PDF figure, Pdflatex will (by default) first look at the CropBox, and, if that is not set, fall back on the MediaBox. It does not inspect the ArtBox, and so it is important that you use the correct stylesheet for the kind of figure you are making--with cropping for figures to be included, without cropping for presentations (as otherwise Acrobat Reader will not display full pages--Acrobat Reader actually crops each page to the CropBox).
If you have a recent version of Pdflatex (1.40 or higher), you can
actually ask Pdflatex to inspect the ArtBox by saying
\pdfpagebox5
in your Latex file's preamble.
You can save all your figures in both EPS and PDF format, so that you
can run both Latex and Pdflatex on your document--when including
figures, Latex will look for the EPS variant, while Pdflatex will look
for the PDF variant. (Here it comes in handy that you didn't specify
the file extension in the \includegraphics
command.)
It would be cumbersome to have to save an Ipe figure in both formats each time you modify it. What you should do instead, is to always save in one format--let's say EPS. You can then write a shell script or batch file that calls ipetoipe to do the conversion to PDF. Alternatively, you can enable auto-exporting from EPS to PDF in Ipe.
On the other hand, if you only use Pdflatex, you might opt to
exploit a feature of Pdflatex: You can keep all the figures for a
document in a single, multi-page Ipe document, with one figure per
page. You can then include the figures one by one into your document
by using the page
argument of \includegraphics
.
For example, to include page 3 from the PDF file "figures.pdf" containing several figures, you could use
\includegraphics[page=3]{figures}
![]() | ![]() | ![]() | 11 Using Ipe figures in Latex |