fig2sty(1)

NAME

fig2sty - LaTeX Layout Generator

SYNOPSIS

fig2sty [-debug] [-baselineskip=..] [-fontsize=..]
        [-reference=(grid|upper|lower)] [-offset=..]
        [-figversion=..] [-nopipe] [-fig2dev=...] input-file
"-debug"
  Show base lines in background picture
"-baselineskip", "-fontsize", "-reference", "-offset"
  Default values. May be overriden by tags.
"-figversion"
  XFig format version which will be fed to "fig2dev" to generate
  background picture
"-nopipe"
  If your version of "fig2dev" does not accept piped input use this
  switch
"-fig2dev"
  If you have installed several versions of "fig2dev" you can specify
  which version to use

DESCRIPTION

fig2sty allows you to generate fancy layouts with LaTeX. The basic
idea is to draw layout definitions interactively with XFig and
transform this definition to a LaTeX style file. You can then use LaTeX to typeset your text into arbitrarily shaped polygons (frames) within
the layout.

You can even add any graphical elements in the layout definition which will appear in the LaTeX output as a background picture.

How to draw the layout definition.

Any closed polygon or box may be a frame. But it must not have an area fill such that your coloured background boxes will not interfere with
your frames. Tags are associated to each frame. A tag is simply a text "key=value" marked as special and positioned within the bounding box of the respective frame. If there are any ambiguities, simply put your
frame and its tags into a compound.

Several key words are interpreted by "fig2sty":

"type"
This tag is compulsory; a frame will not be detected as such if you don't provide a type tag. You can have several type tags in your
layout, but you may as well have several frames associated with the same type tag. Text will then flow between all the frames of common type. The type tag must neither contain numerals nor any special
characters, just plain alpha characters. If you care about the
ordering of the text flow you can use the following tag:
"n" Text will flow between frames of common type in increasing size of
"n"
"baselineskip"
Text will be typeset in a fixed line grid. Baselineskip provides
the distance between neighbouring lines. All frames of a certain
type share the same baselineskip. If you provide several of them,
the tag within the frame of lowest "n" will be used. If you have
rectangular frames of equal widths only you may set
"baselineskip=any". Text will then by set in ordinary horizontal
mode. For any other kind of frame or multiple rectangulars with
differing width "baselineskip=any" is forbidden.
"reference"
Lines of all frames will be aligned if you assign the value "grid" to this tag. Other possibilities are "upper"("lower") which will
align to the upper(lower) boundary of your frame. Each frame has
its private reference.
"offset"
You can shift your base lines by an arbitrary amount by providing
the "offset" tag. Each frame has its private offset.
"fontsize"
Used only as minimal distance from top baseline to the upper
boundary of the frame.
"head"
LaTeX code to be prepended to the text
"tail"
LaTeX code to be appended to the text
Default values to the tags are "baselineskip=12", "reference=grid", "offset=0", but you can overwrite these defaults by the command
line options. All dimensions are given in TeX pt.

How the baselines are chosen

First of all, you can't have lines split horizontally. Lines will
always go from the leftmost intersection of the base line with the
frame to the rightmost one. There is not really any technical reason
for this (except for laziness, one of the virtues...). If you find this to be a major restriction, please let me know.

The baselines are chosen such that the distance to the reference point is a multiple of "baselineskip". "fig2sty" will ensure that no textual element of size "fontsize" will overlap the given frame. This is indeed the only use of the "fontsize" tag. "fontsize=baselineskip" is usually a good choice except when using small letters at wide vertical spacing. The choice of the reference point is based on the "reference" tag. The value "grid" means that a global reference point (the upper-left corner of the layout) will be used. This allows text in different frames to be aligned. "reference=upper" means that text will touch the upper
boundary of your frame. The analogous functionality is provided by the "lower" value.

How to use in your LaTeX document.

If you have two frames of type '"abstract"' and '"text"' within the
layout "fancylayout" you type:

\documentclass{article} \usepackage{figtosty} \usepackage{fancylayout}
\begin{document}
...
\begin{fancylayout}
\begin{figframe}{abstract}
blah blah
\end{figframe}
\begin{figframe}{text}
blah blah
\end{figframe}
\end{fancylayout}
...
\end{document}>

INSTALLATION

You will need XFig.pm in your Perl Library path , figtosty.sty in your LaTeX search path and fig2sty in your binary search path.

KNOWN BUGS

list environments do not respect frame boundaries

some mysterious bug with splines

doesn't work with \sloppy

AUTHOR

M. Rohner, rohner@ife.ee.ethz.ch

CONTRIBUTORS

Thanks to Tobias Oetiker for his helpful comments

SEE ALSO

XFig.pm
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout