summaryrefslogtreecommitdiff
path: root/media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch')
-rw-r--r--media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch1425
1 files changed, 0 insertions, 1425 deletions
diff --git a/media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch b/media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch
deleted file mode 100644
index 879b4471254c..000000000000
--- a/media-gfx/transfig/files/transfig-3.2.5d-fig2mpdf-r1.patch
+++ /dev/null
@@ -1,1425 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 14_fig2mpdf.dpatch by Michael Pfeiffer <p3fff@web.de>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-
-## DP: creating multilayered or singlelayer PDF or EPS figures for
-## DP: including into LaTeX documents.
-## DP: http://p3f.gmxhome.de/fig2mpdf/fig2mpdf.html
-
-@DPATCH@
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/doc/fig2dev.1 transfig/doc/fig2dev.1
---- transfig~/doc/fig2dev.1
-+++ transfig/doc/fig2dev.1
-@@ -53,8 +53,8 @@
- \fBbox, cgm, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta driver), gif, ibmgl, jpeg,
- latex, map (HTML image map), mf (MetaFont),
- mp (MetaPost), mmp (Multi-MetaPost),
--pcx, pdf, pdftex, pdftex_t, pic, pictex, png, ppm, ps,
--pstex, pstex_t, pstricks, ptk (Perl/tk),
-+pcx, pdf, pdftex, pdftex_t, pdftex_p, pic, pictex, png, ppm, ps,
-+pstex, pstex_t, pstex_p, pstricks, ptk (Perl/tk),
- shape (LaTeX shaped paragraphs), sld (AutoCad slide format),
- svg (beta driver), textyl,
- tiff, tk (tcl/tk), tpic, xbm and
-@@ -1062,6 +1062,62 @@
- font. Option 1 sets LaTeX font size only. Option 2 issues no font
- commands at all.
-
-+.SH PSTEX_P and PDFTEX_P OPTIONS
-+The \fBpstex_p\fR language has the same intention as
-+the combination of \fBpstex\fR and \fBpstex_t\fR.
-+The only reason to use \fBpstex_p\fR is that you have partially overlayed texts.
-+\fBpstex_p\fR splits the Fig file concerning the depths of existing texts. Because
-+of it's necessary to get the resulting size of the figure for the pdf document
-+you have to specify the target document format
-+(i.e. using \fBpstex_p\fR rsp. \fBpdftex_p\fR).
-+.br
-+Two files results by using this language:
-+.br
-+.HP +.3i
-+1) A bash script for creating and removing the necessary graphics files.
-+Extension: \fB.create\fR
-+.HP +.3i
-+.HP +.3i
-+2) The latex code which includes all graphics files and special texts. Content is
-+put to stdout.
-+
-+.TP
-+The \fBpstex_p\fR driver has the following special options:
-+
-+.TP
-+.B \-p basename
-+specifies the basename of the files to be created (see (1) above). This option
-+is mandatory.
-+.TP
-+.B "\-d dmag"
-+Set a separate magnification for the length of line dashes to
-+.I dmag.
-+.TP
-+.B \-E num
-+Set encoding for latex text translation (0 no translation, 1 ISO-8859-1, 2 ISO-8859-2)
-+.TP
-+.B "\-l lwidth"
-+Sets the threshold between LaTeX thin and thick lines to
-+.I lwidth
-+pixels.
-+LaTeX supports only two different line width: \\thinlines and \\thicklines.
-+Lines of width greater than
-+.I lwidth
-+pixels are drawn as \\thicklines.
-+Also affects the size of dots in dotted line style.
-+The default is 1.
-+.TP
-+.B \-v
-+Verbose mode.
-+.TP
-+.B \-F
-+Don't set the font face, series, and style; only set it's size and the
-+baselineskip. By default, fig2dev sets all 5 font parameters when it
-+puts some text. The disadvantage is that you can't set the font from your
-+LaTeX document. With this option on, you can set the font from your LaTeX
-+document (like "\fB\\sfshape \\input picture.eepic\fR").
-+
-+
- .SH TK and PTK OPTIONS (tcl/tk and Perl/tk)
- .TP
- .B \-l dummy_arg
-@@ -1107,6 +1163,13 @@
- .PP
- Rotated text is only supported in the IBM-GL (HP/GL) and PostScript (including eps)
- languages.
-+.PP
-+In \fBpdftex_p\fR language \fIfig2dev\fR can not determine the exact sizes of
-+the special texts set by pdflatex afterwards. If these texts are bigger than
-+expected the calculated bounding box might be too small so that some texts passes
-+over the figure boundaries. If this happen you have to put an invisible
-+rectangle (line width 0) around the text or the entire figure.
-+
- .SH COPYRIGHT
- Copyright (c) 1991 Micah Beck
- .br
-@@ -1187,3 +1250,7 @@
- The GBX (Gerber) driver was written by
- .br
- Edward Grace (ej.grace@imperial.ac.uk).
-+.sp
-+The PSTEX_P and PDFTEX_P drivers (overlayed LaTeX texts) was written by
-+.br
-+Michael Pfeiffer (p3f@gmx.de)
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2dev/dev/genpstex.c transfig/fig2dev/dev/genpstex.c
---- transfig~/fig2dev/dev/genpstex.c
-+++ transfig/fig2dev/dev/genpstex.c
-@@ -70,7 +70,307 @@
- genps_end ();
-
- static char pstex_file[1000] = "";
-+static int iObjectsRead = 0;
-+static int iTextRead = 0;
-+static int iObjectsFileNumber = 0;
-+static int iStartDepth;
-+static int iLastDepth;
-+static FILE * ptCreateFile;
-+static char szFileName[1000];
-+static int iLength;
-+static int iPdfOutputs = 0;
-+
-+#ifdef never
-+static double unitlength;
-+static double dash_mag = 1.0;
-+
-+static int (*translate_coordinates)() = NULL;
-+static int (*translate_coordinates_d)() = NULL;
-+#else
-+extern double unitlength;
-+extern double dash_mag;
-+
-+extern int (*translate_coordinates)();
-+extern int (*translate_coordinates_d)();
-+#endif
-+
-+#define TOP 840
-+#define SWAP(x,y) {tmp=x; x=y; y=tmp;}
-+#define TRANS(x,y) (*translate_coordinates)(&x,&y)
-+#define TRANS2(x1,y1,x2,y2) (*translate_coordinates)(&x1,&y1); \
-+ (*translate_coordinates)(&x2,&y2)
-+#define TRANSD(x,y) (*translate_coordinates_d)(&x,&y)
-+
-+static void genpstex_p_finalize_objects(int depth);
-+
-+/*************************************************************************
-+ *************************************************************************/
-+static
-+translate2(xp, yp)
-+ int *xp, *yp;
-+{
-+ *xp = *xp + 1;
-+ *yp = (double)(TOP - *yp -1);
-+ }
-+
-+static
-+translate1_d(xp, yp)
-+ double *xp, *yp;
-+{
-+ *xp = *xp + 1.0;
-+ *yp = *yp + 1.0;
-+ }
-+
-+static
-+translate2_d(xp, yp)
-+ double *xp, *yp;
-+{
-+ *xp = *xp + 1.0;
-+ *yp = (double)TOP - *yp -1.0;
-+ }
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpstex_p_option(opt, optarg)
-+char opt, *optarg;
-+{
-+ if (opt == 'p')
-+ {
-+ strcpy(pstex_file, optarg);
-+ }
-+ else
-+ genlatex_option(opt, optarg);
-+}
-+
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpstex_p_start(objects)
-+ F_compound *objects;
-+{
-+ int tmp;
-+ struct stat tStat;
-+ long lUnitLength;
-+
-+ if (*pstex_file == '\0')
-+ {
-+ put_msg("Argument -p is mandatory to pstex_p.");
-+ exit(1);
-+ }
-+
-+ strncpy(szFileName, pstex_file, 900);
-+ iLength = strlen(szFileName);
-+
-+ sprintf(szFileName + iLength, ".create");
-+ ptCreateFile = fopen (szFileName, "wb");
-+
-+ if ( ! ptCreateFile)
-+ {
-+ put_msg("Couldn't open %s for writing", szFileName);
-+ exit(1);
-+ }
-+ fstat(fileno(ptCreateFile), & tStat);
-+ fchmod (fileno(ptCreateFile), tStat.st_mode | ((tStat.st_mode & (S_IRUSR | S_IRGRP | S_IROTH)) >> 2));
-+ fprintf(ptCreateFile, "#!/bin/bash\n\n", szFileName);
-+
-+ fprintf(ptCreateFile, "while getopts \"r\" Option\n");
-+ fprintf(ptCreateFile, "do\n");
-+ fprintf(ptCreateFile, " case $Option in\n");
-+ fprintf(ptCreateFile, " r) iOptRemove=1;;\n");
-+ fprintf(ptCreateFile, " *) echo \"illegal option -$Option\"\n");
-+ fprintf(ptCreateFile, " esac\n");
-+ fprintf(ptCreateFile, "done\n");
-+ fprintf(ptCreateFile, "shift $(($OPTIND - 1))\n");
-+
-+ texfontsizes[0] = texfontsizes[1] =
-+ TEXFONTSIZE(font_size != 0.0? font_size : DEFAULT_FONT_SIZE);
-+
-+ unitlength = mag/ppi;
-+ dash_mag /= unitlength*80.0;
-+
-+ translate_coordinates = translate2;
-+ translate_coordinates_d = translate2_d;
-+
-+ TRANS2(llx, lly, urx, ury);
-+ if (llx > urx) SWAP(llx, urx)
-+ if (lly > ury) SWAP(lly, ury)
-+
-+ /* LaTeX start */
-+
-+ /* print any whole-figure comments prefixed with "%" */
-+ if (objects->comments) {
-+ fprintf(tfp,"%%\n");
-+ print_comments("% ",objects->comments, "");
-+ fprintf(tfp,"%%\n");
-+ }
-+
-+ lUnitLength = (long) (round(4736286.72*unitlength));
-+ fprintf(tfp, "\\setlength{\\unitlength}{%lisp}%%\n",
-+ lUnitLength);
-+ /* define the SetFigFont macro */
-+ define_setfigfont(tfp);
-+
-+ sprintf(szFileName + iLength, ".size");
-+ fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n");
-+ if (iPdfOutputs)
-+ fprintf(ptCreateFile, " echo \"\\setlength\\pdfpagewidth{%3.2fpt}\\setlength\\pdfpageheight{%3.2fpt}\" > %s\n",
-+ (float) lUnitLength / 65536 * (urx - llx), (float) lUnitLength / 65536 * (ury - lly), szFileName);
-+ else
-+ fprintf(ptCreateFile, "echo -n\"\" > %s\n", szFileName);
-+ fprintf(ptCreateFile, "else\n rm -f %s\nfi\n", szFileName);
-+}
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpdftex_p_start(objects)
-+ F_compound *objects;
-+{
-+ iPdfOutputs = 1;
-+ genpstex_p_start(objects);
-+}
-+
-+
-+/*************************************************************************
-+ *************************************************************************/
-+int genpstex_p_end()
-+{
-+ if (iTextRead)
-+ {
-+ fprintf(tfp, "\\end{picture}%%\n");
-+ iTextRead = 0;
-+ }
-+ if (iObjectsRead)
-+ {
-+ genpstex_p_finalize_objects(iLastDepth);
-+ iObjectsRead = 0;
-+ }
-+
-+ /* LaTeX ending */
-+ fprintf(tfp, "\\begin{picture}(%d,%d)\n", urx-llx, ury-lly);
-+ fprintf(tfp, "\\end{picture}%%\n");
-+
-+ fclose(ptCreateFile);
-+
-+ /* all ok */
-+ return 0;
-+}
-+
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpstex_p_finalize_objects(depth)
-+int depth;
-+{
-+ char szFileName[1000];
-+ int iLength;
-+
-+ strncpy(szFileName, pstex_file, 900);
-+ iLength = strlen(szFileName);
-+
-+
-+ sprintf(szFileName + iLength, "%03d", iObjectsFileNumber++);
-+ fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n");
-+ if (iPdfOutputs)
-+ {
-+ fprintf(ptCreateFile, " %s -L pstex -D +%d,%d %s", prog, depth, iStartDepth, from, szFileName);
-+ fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName, szFileName);
-+ }
-+ else
-+ fprintf(ptCreateFile, "%s -L pstex -D +%d,%d %s %s.eps\n", prog, depth, iStartDepth, from, szFileName);
-+ fprintf(ptCreateFile, "else\n rm -f %s.", szFileName);
-+ if (iPdfOutputs)
-+ fprintf(ptCreateFile, "pdf");
-+ else
-+ fprintf(ptCreateFile, "eps");
-+ fprintf(ptCreateFile, "\nfi\n");
-+
-+ fprintf(tfp, "\\begin{picture}(0,0)%%\n");
-+/* newer includegraphics directive suggested by Stephen Harker 1/13/99 */
-+#if defined(LATEX2E_GRAPHICS)
-+# if defined(EPSFIG)
-+ fprintf(tfp, "\\epsfig{file=%s.eps}%%\n",szFileName);
-+# else
-+ fprintf(tfp, "\\includegraphics{%s}%%\n",szFileName);
-+# endif
-+#else
-+ fprintf(tfp, "\\special{psfile=%s.eps}%%\n",szFileName);
-+#endif
-+ fprintf(tfp, "\\end{picture}%%\n");
-+}
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpstex_p_object(depth)
-+int depth;
-+{
-+ if (iTextRead)
-+ {
-+ fprintf(tfp, "\\end{picture}%%\n");
-+ iTextRead = 0;
-+ }
-+ if (iObjectsRead == 0)
-+ {
-+ iStartDepth = depth;
-+ iObjectsRead = 1;
-+ }
-+ iLastDepth = depth;
-+
-+}
-
-+void genpstex_p_arc(obj)
-+F_arc *obj;
-+{
-+ genpstex_p_object(obj->depth);
-+}
-+
-+
-+void genpstex_p_ellipse(obj)
-+F_ellipse *obj;
-+{
-+ genpstex_p_object(obj->depth);
-+}
-+
-+void genpstex_p_line(obj)
-+F_line *obj;
-+{
-+ genpstex_p_object(obj->depth);
-+}
-+
-+void genpstex_p_spline(obj)
-+F_spline *obj;
-+{
-+ genpstex_p_object(obj->depth);
-+}
-+
-+
-+
-+/*************************************************************************
-+ *************************************************************************/
-+void genpstex_p_text(t)
-+F_text *t;
-+{
-+
-+ if (!special_text(t))
-+ genpstex_p_object(t->depth);
-+ else
-+ {
-+ if (iObjectsRead)
-+ {
-+ genpstex_p_finalize_objects(iLastDepth);
-+ iObjectsRead = 0;
-+ }
-+ if (iTextRead == 0)
-+ {
-+ fprintf(tfp, "\\begin{picture}(0,0)(%d,%d)\n", llx, lly);
-+ iTextRead = 1;
-+ }
-+ genlatex_text(t);
-+ }
-+
-+}
-+
-+/*************************************************************************
-+ *************************************************************************/
- void genpstex_t_option(opt, optarg)
- char opt, *optarg;
- {
-@@ -112,6 +412,8 @@
- else genlatex_text(t);
- }
-
-+/*************************************************************************
-+ *************************************************************************/
- void genpstex_text(t)
- F_text *t;
- {
-@@ -128,6 +430,32 @@
- genlatex_option(opt, optarg);
- }
-
-+struct driver dev_pstex_p = {
-+ genpstex_p_option,
-+ genpstex_p_start,
-+ gendev_null,
-+ genpstex_p_arc,
-+ genpstex_p_ellipse,
-+ genpstex_p_line,
-+ genpstex_p_spline,
-+ genpstex_p_text,
-+ genpstex_p_end,
-+ INCLUDE_TEXT
-+};
-+
-+struct driver dev_pdftex_p = {
-+ genpstex_p_option,
-+ genpdftex_p_start,
-+ gendev_null,
-+ genpstex_p_arc,
-+ genpstex_p_ellipse,
-+ genpstex_p_line,
-+ genpstex_p_spline,
-+ genpstex_p_text,
-+ genpstex_p_end,
-+ INCLUDE_TEXT
-+};
-+
- struct driver dev_pstex_t = {
- genpstex_t_option,
- genpstex_t_start,
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2dev/drivers.h transfig/fig2dev/drivers.h
---- transfig~/fig2dev/drivers.h
-+++ transfig/fig2dev/drivers.h
-@@ -30,8 +30,10 @@
- extern struct driver dev_pdf;
- extern struct driver dev_pdftex;
- extern struct driver dev_pdftex_t;
-+extern struct driver dev_pdftex_p;
- extern struct driver dev_pstex;
- extern struct driver dev_pstex_t;
-+extern struct driver dev_pstex_p;
- extern struct driver dev_pstricks;
- extern struct driver dev_textyl;
- extern struct driver dev_tk;
-@@ -75,6 +77,7 @@
- {"pdf", &dev_pdf},
- {"pdftex", &dev_pdftex},
- {"pdftex_t", &dev_pdftex_t},
-+ {"pdftex_p", &dev_pdftex_p},
- {"pic", &dev_pic},
- {"pictex", &dev_pictex},
- {"png", &dev_bitmaps},
-@@ -82,6 +85,7 @@
- {"ps", &dev_ps},
- {"pstex", &dev_pstex},
- {"pstex_t", &dev_pstex_t},
-+ {"pstex_p", &dev_pstex_p},
- {"pstricks", &dev_pstricks},
- {"ptk", &dev_ptk},
- {"shape", &dev_shape},
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2dev/fig2dev.c transfig/fig2dev/fig2dev.c
---- transfig~/fig2dev/fig2dev.c
-+++ transfig/fig2dev/fig2dev.c
-@@ -651,6 +651,18 @@
- #endif /* NFSS */
- printf(" -p name name of the PostScript file to be overlaid\n");
-
-+ printf("PSTEX_P and PDFTEX_P Options:\n");
-+ printf(" -p name basename of the files to be created\n");
-+#ifdef NFSS
-+ printf(" -F don't set font family/series/shape, so you can\n");
-+ printf(" set it from latex\n");
-+#endif /* NFSS */
-+ printf(" -d dmag set separate magnification for length of line dashes to dmag\n");
-+ printf(" -E num set encoding for text translation (0 no translation,\n");
-+ printf(" 1 ISO-8859-1, 2 ISO-8859-2)\n");
-+ printf(" -l lwidth set threshold between thin and thick lines to lwidth\n");
-+ printf(" -v verbose mode\n");
-+
- printf("SHAPE (ShapePar driver) Options:\n");
- printf(" -n name Set basename of the macro (e.g. \"face\" gives faceshape and facepar)\n");
- printf("Tcl/Tk (tk) and Perl/Tk (ptk) Options:\n");
-@@ -778,6 +790,12 @@
- int rec_comp(r1, r2)
- struct obj_rec *r1, *r2;
- {
-+ if (r2->depth == r1->depth)
-+ {
-+ if ((r1->gendev == dev->text) ^ (r2->gendev == dev->text))
-+ return ((r1->gendev == dev->text) * 2 - 1);
-+ return (0);
-+ }
- return (r2->depth - r1->depth);
- }
-
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2mpdf/copyright.txt transfig/fig2mpdf/copyright.txt
---- transfig~/fig2mpdf/copyright.txt
-+++ transfig/fig2mpdf/copyright.txt
-@@ -0,0 +1,25 @@
-+The following files contain copyright and license info for
-+the code they contain:
-+fig2mpdf, fig2mpdf.1, transfig.3.2.4.patch, transfig-3.2.5-alpha7.patch
-+
-+-- fig2mpdf copyright begins here --
-+
-+ fig2mpdf/pdftex_p and pstex_p driver of fig2dev
-+ Copyright (C) 2006 Michael Pfeiffer -- p3fff@web.de
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+ (Author's note: the license is in the file gpl.txt, which is included
-+ in the archive.)
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2mpdf/fig2mpdf transfig/fig2mpdf/fig2mpdf
---- transfig~/fig2mpdf/fig2mpdf
-+++ transfig/fig2mpdf/fig2mpdf
-@@ -0,0 +1,653 @@
-+#!/bin/sh
-+
-+unset POSIXLY_CORRECT
-+
-+gawk '
-+#########################################################################
-+#########################################################################
-+BEGIN {
-+
-+ cmdGawk = "gawk";
-+ cmdCat = "cat";
-+ cmdLess = "less";
-+ cmdRm = "rm"
-+ cmdMv = "mv"
-+ cmdLatex = "latex";
-+ cmdPdftex = "pdflatex";
-+ cmdEpsToPdf = "epstopdf";
-+ cmdDvips = "dvips";
-+ cmdFig2dev = "fig2dev";
-+ cmdTouch = "touch";
-+
-+ szVersion = "1.1.2";
-+ iError = 0;
-+ iGapWidth = 1;
-+
-+
-+ # get the options
-+ szOptString = "&l%e&m$p%i%I$s$H$g%G%v%V%d";
-+ getopt(szOptString);
-+
-+ if (aOptions["d"])
-+ {
-+ aOptions["v"] = "-";
-+ for (iI = 0; iI < ARGC; iI++)
-+ printf("ARGV[%d]=%s\n", iI, ARGV[iI]);
-+
-+ iDim = split(szOptString, aOpts, "[$%&]");
-+ for (iI = 2; iI <= iDim; iI++)
-+ debug("aOptions[%s] = >%s<\n", aOpts[iI], aOptions[aOpts[iI]]);
-+ }
-+
-+
-+
-+ if (aOptions["V"] != "")
-+ {
-+ printf("fig2mpdf: version %s\n", szVersion);
-+ iError = 1;
-+ exit(0);
-+ }
-+
-+ szTmpPrefix = "_fig2mpdf"
-+
-+ iLine = -1;
-+ iInString = 0;
-+ iDepths = 1;
-+
-+ iInvalidDepth = -2
-+ iAdminDepth = 2000
-+
-+ szBase = ARGV[1];
-+ szOrigFile = ARGV[1];
-+ szOrigPath = ARGV[1];
-+
-+ # set default switch state
-+ iDoMultiLayer = 0;
-+ iDoLatex = 0;
-+ iDoPdftex = 1;
-+ iIncludeLowestRange = 1;
-+
-+ # set iDoLatex and iDoMultiLayer concerning the given suffix
-+ match(szBase, /\.[^\.\/]+$/);
-+ if (RLENGTH != -1)
-+ {
-+ szSuffix = substr(szBase, RSTART);
-+ if (szSuffix == ".lfig")
-+ iDoLatex = 1;
-+ else if (szSuffix == ".mfig")
-+ iDoMultiLayer = 1;
-+ else if ((szSuffix == ".mlfig") || (szSuffix == ".lmfig"))
-+ {
-+ iDoLatex = 1;
-+ iDoMultiLayer = 1;
-+ }
-+ }
-+
-+ ################################
-+ # evalutate options
-+
-+ # set toggle latex
-+ if (aOptions["l"] == "-")
-+ iDoLatex = 1;
-+ if (aOptions["l"] == "+")
-+ iDoLatex = 0;
-+
-+ # set multilayer flag
-+ if (aOptions["m"] == "-")
-+ iDoMultiLayer = 1;
-+ if (aOptions["m"] == "+")
-+ iDoMultiLayer = 0;
-+
-+ # set toggle pdftex
-+ if (aOptions["e"] == "-")
-+ iDoPdftex = 0;
-+
-+ # evaluate do not include lowest layer in all figs
-+ iIncludeLowestRange = (aOptions["i"] == "-");
-+
-+ # evaluate include all lower ranges in the sub figs
-+ iIncludeAllLowerRanges = (aOptions["I"] != "-");
-+
-+ # check consistencies
-+ # if there are ranges given -> do multilayer
-+ if (aOptions["p"] != "")
-+ iDoMultiLayer = 1;
-+
-+
-+ if (aOptions["g"] != "")
-+ {
-+ if ( ! match (aOptions["g"], /^[0-9]+$/))
-+ usage();
-+
-+ iGapWidth = aOptions["g"] + 1;
-+ }
-+
-+ # get the basename of the source
-+ gsub(/\.[^\/]+$/, "", szBase);
-+ gsub(/^.*\//, "", szBase);
-+
-+ # get the path to the original
-+ gsub(/[^\/]+$/, "", szOrigPath);
-+}
-+#########################################################################
-+#########################################################################
-+
-+( iInString != 0) {
-+ aszLine[iLine] = sprintf("%s\n%s", aszLine[iLine], $0);
-+ iInString = (match($0, "\\\\001$") == 0);
-+ iSubLine++;
-+ next;
-+}
-+
-+/^[135][ ]/ {
-+ iCmd = $1;
-+ iSubCmd = -1;
-+ iSubLine = 0;
-+ aiDepth[++iLine] = fnGetDepth($1);
-+ aszLine[iLine] = $0;
-+ next;
-+}
-+
-+/^[2][ ]/ {
-+ iCmd = $1;
-+ iSubCmd = $2;
-+ iSubLine = 0;
-+ aiDepth[++iLine] = fnGetDepth($1);
-+ aszLine[iLine] = $0;
-+ next;
-+}
-+
-+
-+/^[4][ ]/ {
-+ iCmd = $1;
-+ iSubCmd = $2;
-+ iSubLine = 0;
-+ aiDepth[++iLine] = fnGetDepth($1);
-+ aszLine[iLine] = $0;
-+ iInString = (match($0, "\\\\001$") == 0);
-+ next;
-+}
-+
-+/^(6[ ])|(-6)/ {
-+ iCmd = $1;
-+ iSubCmd = -1;
-+ iSubLine = 0;
-+ next;
-+}
-+
-+/^[^ ]/ {
-+ iCmd = -1;
-+ aiDepth[++iLine] = fnGetDepth("A");
-+ iSubLine = 0;
-+ aszLine[iLine] = $0;
-+ next;
-+}
-+
-+/^[ ]/ {
-+ iSubLine++;
-+ if ((iCmd == 2) && (iSubCmd == 5) && (iSubLine == 1))
-+ {
-+ if (match($0, "^\t[01] "))
-+ {
-+ szFileName = substr($0, RSTART + RLENGTH);
-+ if ( ! match(szFileName, /^\//))
-+ szFileName = sprintf("%s%s", szOrigPath, szFileName);
-+ aszLine[iLine] = sprintf("%s\n\t%s %s", aszLine[iLine], $1, szFileName);
-+ }
-+ else
-+ aszLine[iLine] = sprintf("%s\n%s", aszLine[iLine], $0);
-+ }
-+ else
-+ aszLine[iLine] = sprintf("%s\n%s", aszLine[iLine], $0);
-+}
-+
-+
-+END {
-+ iLine++;
-+ iLowestLayer = 0;
-+ iFirstRange = 0;
-+
-+ if (iError == 0)
-+ {
-+
-+
-+ if (iDoMultiLayer)
-+ {
-+ asort(aiDepths, aiSortedDepth);
-+
-+ # check for ranges as options
-+ if (aOptions["p"] != "")
-+ {
-+ # we have explicit ranges
-+ gsub(/-/, ":", aOptions["p"]);
-+ iRanges = split(aOptions["p"], aszRanges, ",");
-+ }
-+ else
-+ {
-+ if (iDepths < 4)
-+ {
-+ iRanges = 1;
-+ aszRanges[1] = "1:999";
-+ }
-+ else
-+ {
-+ iRanges = 0;
-+ iLastRange = aiSortedDepth[iDepths - 2] + 0;
-+ iRangeStart = iLastRange;
-+ for (iI = iDepths - 3; iI > 0; iI--)
-+ {
-+ aiSortedDepth[iI] += 0;
-+ if ((aiSortedDepth[iI] < iLastRange - iGapWidth) || (iI == 1))
-+ {
-+ if (aiSortedDepth[iI] >= iLastRange - iGapWidth)
-+ iLastRange = aiSortedDepth[iI];
-+
-+ if (iLastRange != iRangeStart)
-+ aszRanges[++iRanges] = sprintf("%d:%d", iLastRange, iRangeStart);
-+ else
-+ aszRanges[++iRanges] = sprintf("%d", iRangeStart);
-+ iRangeStart = aiSortedDepth[iI];
-+
-+ if ((iI == 1) && (aiSortedDepth[iI] < iLastRange - iGapWidth))
-+ aszRanges[++iRanges] = sprintf("%d", aiSortedDepth[iI]);
-+ }
-+ iLastRange = aiSortedDepth[iI];
-+ }
-+ }
-+ }
-+
-+
-+ # check for a multilayer file with only one range
-+ if ((iRanges == 1) && iIncludeLowestRange)
-+ {
-+ iIncludeLowestRange = 0;
-+ }
-+
-+ szInitRangeList = " -D ";
-+ szSep = "";
-+
-+ if (iIncludeLowestRange)
-+ {
-+ szInitRangeList = sprintf("%s+%s", szInitRangeList, aszRanges[1]);
-+ szSep = ",";
-+ }
-+ szRangeList = szInitRangeList;
-+
-+ # step through the ranges
-+ for (iI = iIncludeLowestRange; iI < iRanges; iI++)
-+ {
-+ szFileBase = sprintf("%s-%d", szBase, iI - iIncludeLowestRange);
-+
-+ if (aOptions["I"])
-+ {
-+ szRangeList = sprintf("%s%s+%s", szRangeList, szSep, aszRanges[iI + 1]);
-+ szSep = ",";
-+ }
-+ else
-+ szRangeList = sprintf("%s%s+%s", szInitRangeList, szSep, aszRanges[iI + 1]);
-+
-+
-+ if (iDoLatex)
-+ szTargetFile = fnDoTexFig(szFileBase, szOrigFile, szRangeList, (iDoPdftex != 0));
-+ else
-+ szTargetFile = fnDoNormalFig(szFileBase, szOrigFile, szRangeList, (iDoPdftex != 0));
-+
-+
-+ if (aOptions["G"])
-+ {
-+ match(szTargetFile, /\.[^.]*$/);
-+ szCommand = sprintf("%s %s %s.page%d%s", cmdMv, szTargetFile, szBase, iI - iIncludeLowestRange, substr(szTargetFile, RSTART, RLENGTH));
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+ }
-+ }
-+ else
-+ {
-+ szRangeList = "";
-+
-+ if (iDoLatex)
-+ szTargetFile = fnDoTexFig(szBase, szOrigFile, szRangeList, (iDoPdftex != 0));
-+ else
-+ szTargetFile = fnDoNormalFig(szBase, szOrigFile, szRangeList, (iDoPdftex != 0));
-+ }
-+ }
-+}
-+
-+
-+
-+#########################################################################
-+#########################################################################
-+function debug(str, arg0, arg1, arg2, arg3, arg4)
-+{
-+ if (aOptions["v"])
-+ printf (str, arg0, arg1, arg2, arg3, arg4);
-+}
-+
-+#########################################################################
-+#########################################################################
-+function fnGetDepth (iControl)
-+{
-+
-+ if (iControl == 1)
-+ {
-+ iReturn = sprintf("%04d", $7);
-+ }
-+ else if (iControl == 2)
-+ {
-+ iReturn = sprintf("%04d", $7);
-+ }
-+ else if (iControl == 3)
-+ {
-+ iReturn = sprintf("%04d", $7);
-+ }
-+ else if (iControl == 4)
-+ {
-+ iReturn = sprintf("%04d", $4);
-+ }
-+ else if (iControl == 5)
-+ {
-+ iReturn = sprintf("%04d", $7);
-+ }
-+ else if ((iControl == 6) || (iControl == -6))
-+ {
-+ iReturn = sprintf("%04d", iInvalidDepth);
-+ }
-+ else
-+ {
-+ iReturn = sprintf("%04d", iAdminDepth);
-+ }
-+
-+ if (iReturn >= 0)
-+ {
-+ if (ahDepths[iReturn] == 0)
-+ {
-+ ahDepths[iReturn] = 1;
-+ aiDepths[iDepths++] = iReturn;
-+ }
-+ }
-+
-+ return (iReturn);
-+
-+}
-+
-+#########################################################################
-+#########################################################################
-+function fnDoNormalFig(szFileNameBase, szFigFile, szRangeList, iPdf,
-+ szEpsFile, szPdfFile, szTargetFile, szCommand)
-+{
-+
-+ debug("FileNameBase >%s< FigFile >%s< Pdf:%d\n", szFileNameBase, szFigFile, iPdf);
-+
-+ if (iPdf)
-+ szEpsFile = sprintf("%s%s.eps", szTmpPrefix, szFileNameBase);
-+ else
-+ {
-+ szEpsFile = sprintf("%s.eps", szFileNameBase);
-+ szTargetFile = szEpsFile;
-+ }
-+
-+ szCommand = sprintf("%s -L eps %s %s %s 2> /dev/null", cmdFig2dev, szRangeList, szFigFile, szEpsFile);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+
-+ if (iPdf)
-+ {
-+ szPdfFile = sprintf("%s.pdf", szFileNameBase);
-+ szTargetFile = szPdfFile;
-+ szCommand = sprintf("%s --outfile=%s %s", cmdEpsToPdf, szPdfFile, szEpsFile);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+
-+
-+ if ( ! aOptions["d"])
-+ {
-+ szCommand = sprintf("%s -f %s", cmdRm, szEpsFile);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+ }
-+
-+
-+ return (szTargetFile);
-+}
-+
-+
-+#########################################################################
-+#########################################################################
-+function fnDoTexFig(szFileNameBase, szFigFile, szRangeList, iPdf,
-+ szEpsFile, szPdfFile, szTexDoc, szTexPdf, szTexLog, szTexAux, szTexInp, szTmpPs, szTmpPdf, szTexSiz, szTmpEps, szCommand, szHeader)
-+{
-+
-+ debug("FileNameBase >%s< FigFile >%s< Pdf:%d\n", szFileNameBase, szFigFile, iPdf);
-+
-+ szEpsFile = sprintf("%s.eps", szFileNameBase);
-+ szPdfFile = sprintf("%s.pdf", szFileNameBase);
-+ szTexDoc = sprintf("%s%s_doc.tex", szTmpPrefix, szFileNameBase);
-+ szTexPdf = sprintf("%s%s_doc.pdf", szTmpPrefix, szFileNameBase);
-+ szTexDvi = sprintf("%s%s_doc.dvi", szTmpPrefix, szFileNameBase);
-+ szTexLog = sprintf("%s%s_doc.log", szTmpPrefix, szFileNameBase);
-+ szTexAux = sprintf("%s%s_doc.aux", szTmpPrefix, szFileNameBase);
-+ szTexInpPref = sprintf("%s%s_inp", szTmpPrefix, szFileNameBase);
-+ szTexInp = sprintf("%s.tex", szTexInpPref);
-+ szTexCreator = sprintf("%s.create", szTexInpPref);
-+ szTexSiz = sprintf("%s.size", szTexInpPref);
-+
-+ if (iPdf)
-+ szCommand = sprintf("%s -L pdftex_p %s -p %s %s %s", cmdFig2dev, szRangeList, szTexInpPref, szFigFile, szTexInp);
-+ else
-+ szCommand = sprintf("%s -L pstex_p %s -p %s %s %s", cmdFig2dev, szRangeList, szTexInpPref, szFigFile, szTexInp);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+
-+ szCommand = sprintf("./%s", szTexCreator);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+
-+ # check if there is an own hederfile to include
-+ if (aOptions["s"] == "")
-+ aOptions["s"] = "times";
-+
-+ if (aOptions["H"] == "")
-+ {
-+ szHeader = sprintf("\\documentclass{article}\n\
-+\\usepackage{german,amssymb,amsmath}\n\
-+\\usepackage{%s}", aOptions["s"]);
-+ }
-+ else
-+ szHeader = sprintf("\\input{%s}\n", aOptions["H"]);
-+
-+ szHeader = sprintf("%s\n\
-+\\usepackage{color}\n\
-+\\usepackage{ifpdf}\n\
-+\\setlength{\\textwidth}{100cm}\n\
-+\\setlength{\\textheight}{100cm}\n\
-+\\setlength{\\topmargin}{-1in}\n\
-+\\setlength{\\headsep}{0pt}\n\
-+\\setlength{\\headheight}{0pt}\n\
-+\\setlength{\\oddsidemargin}{-1in}\n\
-+\\parindent=0cm\n\
-+\\ifpdf\n\
-+\\usepackage[pdftex]{graphicx}\n\
-+\\DeclareGraphicsExtensions{.pdf,.png,.jpg}\n\
-+\\usepackage{epsfig}\n\
-+\\input{%s}\n\
-+\\else\n\
-+\\usepackage{graphicx}\n\
-+\\usepackage{epsfig}\n\
-+\\fi\n\
-+", szHeader, szTexSiz);
-+
-+ szCommand = sprintf("%s > %s << EOF\n\
-+%s\\begin{document}\n\
-+\\pagestyle{empty}\n\
-+\\input{%s}\n\
-+\\end{document}\n\
-+EOF", cmdCat, szTexDoc, szHeader, szTexInp);
-+ if (aOptions["d"] != "")
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+
-+ if (iPdf)
-+ {
-+
-+ szCommand = sprintf("%s -interaction batchmode %s", cmdPdftex, szTexDoc);
-+ debug("%s\n", szCommand);
-+ iReturn = system(szCommand);
-+
-+ if (iReturn)
-+ {
-+ szCommand = sprintf("%s %s | %s +G", cmdCat, szTexLog, cmdLess);
-+ system (szCommand);
-+ }
-+ else
-+ {
-+ szCommand = sprintf("%s %s %s", cmdMv, szTexPdf, szPdfFile);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+
-+ }
-+ else
-+ {
-+ szCommand = sprintf("%s -interaction batchmode %s", cmdLatex, szTexDoc);
-+ debug("%s\n", szCommand);
-+ iReturn = system(szCommand);
-+ if (iReturn)
-+ {
-+ szCommand = sprintf("%s %s | %s +G", cmdCat, szTexLog, cmdLess);
-+ system (szCommand);
-+ }
-+ else
-+ {
-+ szCommand = sprintf("%s -q -E %s -o %s 2>&1 > /dev/null", cmdDvips, szTexDvi, szEpsFile);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+ }
-+
-+ if ( ! aOptions["d"])
-+ {
-+ szCommand = sprintf("./%s -r", szTexCreator);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+
-+ if ( ! aOptions["d"])
-+ {
-+ szCommand = sprintf("%s -f %s %s %s %s %s %s %s", cmdRm, szTexDoc, szTexLog, szTexAux, szTexDvi, szTexInp, szTexCreator, szTexPdf);
-+ debug("%s\n", szCommand);
-+ system(szCommand);
-+ }
-+
-+ if (iPdf)
-+ return (szPdfFile);
-+ else
-+ return (szEpsFile);
-+}
-+
-+
-+#########################################################################
-+#########################################################################
-+function getopt(sOptions, n, m, fHuntParam, iSearchMinus, iSPos, iCLen, iHuntSwitches, szSwChar, szOptChar) {
-+# Options: Flagoptions: %f
-+# Parameter: $p
-+
-+ n = 1; # index in argv
-+ m = 1; # processed entries in argv finally it points to the firs$
-+ iSearchMinus = 1; # indicate that a switch leading sign minus is expected
-+
-+ # check for initial -- to separate the gawk switches from the script switches
-+ if (ARGV[n] == "--")
-+ n++;
-+
-+
-+ while (n < ARGC)
-+ {
-+ iHuntSwitches = 0;
-+ iCLen = length(ARGV[n]);
-+
-+ szSwChar = substr(ARGV[n], 1, 1);
-+ if ((szSwChar == "-") || (szSwChar == "+"))
-+ {
-+ if ((iSearchMinus == 0) || fHuntParam)
-+ usage();
-+ iHuntSwitches = 1;
-+ iSPos = 2;
-+ fHuntParam = 0;
-+ }
-+ else
-+ {
-+ iSPos = 1;
-+
-+ if (fHuntParam == 0)
-+ iSearchMinus = 0;
-+ }
-+
-+ while (iSPos <= iCLen)
-+ {
-+ if (iHuntSwitches)
-+ {
-+ szOptChar = substr(ARGV[n], iSPos, 1);
-+ iOPos = index(sOptions, szOptChar);
-+ if (iOPos == 0)
-+ {
-+ printf("unknown option \"%s\"\n", szOptChar);
-+ usage();
-+ }
-+ if ((substr(sOptions, iOPos - 1, 1) == "&") || ((substr(sOptions, iOPos - 1, 1) == "%") && (szSwChar == "-")))
-+ {
-+ aOptions[szOptChar] = szSwChar;
-+ iSPos = iSPos + 1;
-+ }
-+ else if ((substr(sOptions, iOPos - 1, 1) == "$") && (szSwChar == "-"))
-+ {
-+ fHuntParam = 1;
-+ iHuntSwitches = 0;
-+ iSPos = iSPos + 1;
-+ }
-+ else
-+ usage();
-+
-+ }
-+ else if (fHuntParam)
-+ {
-+ fHuntParam = 0;
-+ aOptions[szOptChar] = substr(ARGV[n], iSPos, iCLen + 1 - iSPos);
-+ iSPos = iCLen + 1;
-+ }
-+ else
-+ {
-+ ARGV[m++] = ARGV[n];
-+ iSPos = iCLen + 1;
-+ }
-+ }
-+ n = n + 1;
-+ }
-+ ARGC = m;
-+}
-+
-+
-+#########################################################################
-+#########################################################################
-+function usage() {
-+ print "usage: fig2mpdf [-|+lm] [-eiIGvV] [-p <ranges>] [-g <gapwidth>] [-s <style>] [-H <headerfile>] file\n\
-+\n\
-+ -|+l set|reset latex call\n\
-+ -e create an eps file instead of a pdf\n\
-+ -|+m set|reset multilayer creation\n\
-+ -p <ranges> colon separated list of layer ranges a-b,c,d-e,...\n\
-+ -i do include the deepest range in all figures\n\
-+ (the one with the higest level number)\n\
-+ -I include all lower ranges (pyramide mode)\n\
-+ -g <gap> set layer gapwidth for automatically detecting ranges (default:0)\n\
-+ -s <style> replace \\usepackage{times} by \\usepackage{<style>} in the latex commands\n\
-+ -H <header> use file <header> for creating tex documents (only\n\
-+ \\begin{document}...\\end{document} is set by fig2mpdf)\n\
-+ -G name multilayer files in PGF file name format <name>.page<no>.<ext>\n\
-+ -v be verbose\n\
-+ -V print out the version of fig2mpdf\n";
-+ exit 1;
-+}
-+' -- $*
-+
-diff -urNad '--exclude=CVS' '--exclude=.svn' transfig~/fig2mpdf/fig2mpdf.1 transfig/fig2mpdf/fig2mpdf.1
---- transfig~/fig2mpdf/fig2mpdf.1
-+++ transfig/fig2mpdf/fig2mpdf.1
-@@ -0,0 +1,208 @@
-+.TH fig2mpdf 1 "Jun 2006" "" "Including xfig figures into LaTeX documents"
-+.SH NAME
-+fig2mpdf \- creation of multilayer pdf or eps figures from fig files using latex for typesetting
-+.SH SYNOPSIS
-+.B fig2mpdf
-+[\fIOPTION\fR]... \fIFILE\fR
-+.SH DESCRIPTION
-+.PP
-+This tool can create pdf or eps figures using fig files as source. For beamer
-+presentations, for example, you can use the multilayer mode to create
-+multiple figures that can be overlayed to get a dynamic figure. For
-+proper appearance you can use latex to typeset some or all texts,
-+possibly containing formulas.
-+
-+The default interpretation of the given fig \fIFILE\fR depends on its suffix.
-+.TP
-+\fIfig\fR
-+Normal conversion of a fig file. All texts are interpreted as postscript
-+texts and all elements of the figure are included in the resulting figure.
-+.TP
-+\fIlfig\fR
-+LaTeX interpretation of the file. All texts of the input file that have the
-+special bit set are typeset by pdflatex resp. latex (see: Option \fB\-|+l\fR).
-+.TP
-+\fImfig\fR
-+Multilayer file interpretation. Depending on the used depths of the
-+figure it is split into multiple parts. For each part an output file is
-+created (see: section \fBMultiLayerOutput\fR).
-+.TP
-+\fImlfig\fR or \fIlmfig\fR
-+Combination of multilayer and LaTeX interpretation of the input (see: Suffix
-+\fIlfig\fR and \fImfig\fR).
-+.PP
-+The default interpretation of the input can be changed by using the options below.
-+.SH OPTIONS
-+.PP
-+.TP
-+\fB\-e\fR
-+produce an eps output file. Instead of creating a pdf file (the default)
-+an eps figure is produced.
-+.TP
-+\fB\-|+l\fR
-+force calling (pdf)latex (-) or do not use (pdf)latex (+) for
-+typesetting the text marked with the special flag. With this option you
-+can change the default behavior given by the input file suffix.
-+.TP
-+\fB\-|+m\fR
-+force set (-) or unset (+) the multilayer interpretation (see:
-+\fBMultiLayerOutput\fR below) which was previously set by the input
-+file suffix.
-+.TP
-+\fB\-p\fR \fIranges\fR
-+explicitly set the ranges of depths for splitting the input figure in
-+multilayer mode. \fIranges\fR is a colon separated list of ranges of
-+the form \fIupper-lower\fR or \fIdepth\fR where \fIupper\fR is the
-+top and \fIlower\fR the bottom depth in the range. If you use the
-+\fIdepth\fR form the range consist of just that depth.
-+.TP
-+\fB\-i\fR
-+include the the bottommost range (that is, the one with the highest depth) into
-+all output figures. This is for compatibility to older versions of this
-+tool.
-+.TP
-+\fB\-I\fR
-+turn on pyramid mode. The figure of a corresponding range in multilayer
-+mode includes all lower ranges too.
-+.TP
-+\fB\-g\fR \fIgapwidth\fR
-+set the allowed gapwidth between two used depths to decide if these
-+depths should be grouped together in one range. With this option you get
-+more flexibility to insert objects with new depths. The default width is
-+zero (no gap = consecutively numbered depths are grouped together).
-+.TP
-+\fB\-s\fR \fIstyle\fR
-+replace the default style for selecting a font family in LaTeX mode.
-+If this option is omitted the style `times' is set by default.
-+.TP
-+\fB\-H\fR \fIheader\fR
-+replace the default header sequence for creating temporary
-+LaTeX documents in LaTeX mode. To get maximum flexibility you can
-+set the entire document header in the file \fIheader\fR (see:
-+\fBCustomized Headers\fR below).
-+.TP
-+\fB\-G\fR
-+in multilayer mode change the default output file pattern to the PDF
-+format which is <name>.page<no>.<ext>
-+.TP
-+\fB\-v\fR
-+be verbose and print out all executed commands
-+.TP
-+\fB\-V\fR
-+print out the version of \fBfig2mpdf\fR
-+.PP
-+.SH "MultiLayerOutput"
-+In xfig you can assign an individual depth to all objects of the
-+figure. These depths are normally used to determine the order of
-+printing the objects. \fBfig2mpdf\fR uses these depths to group the
-+objects into ranges in automatic mode (if the ranges option is
-+omitted). In the list of used depths, consecutively numbered depths are
-+grouped into one range. That is, all gaps between used depths are used
-+to logically split the figure. With \fB\-g\fR you can set the
-+gapwidth which doesn't split the figure (default: zero).
-+.PP
-+The resulting list of ranges determines the number of output files. In
-+default mode all objects with depths assigned to one range are
-+collected and put into the corresponding output file. The contents of
-+the output files can be changed with the two Options \fB\-i\fR and
-+\fB\-I\fR.
-+.PP
-+The \fB\-i\fR option reduces the number of output files by one. The
-+bottommost range, that is the range which consist of the highest depths
-+of the figure, is included into all output files.
-+.PP
-+In pyramid mode, activated by the option \fB\-I\fR, the output files
-+contain additionally all lower ranges. With this mode you can
-+get stand alone figures that don't have to be overlayed to have
-+meaningful content.
-+.PP
-+\fBExample 1\fR
-+.PD 0
-+.PP
-+Assume that you have a fig file \fIfoo.fig\fR which contains the three ranges
-+.IR "230-233",
-+.IR "455-460"
-+and
-+.IR "499-500".
-+.PD
-+.PP
-+With no options set you get three output files, one per range. But if you
-+set the \fB\-i\fR option you get the following two files where the
-+bottommost range is included in both of the files:
-+.PD 0
-+.PP
-+ \fIfoo-0.pdf\fR with ranges \fI455-460\fR and \fI499-500\fR
-+.PP
-+ \fIfoo-1.pdf\fR with ranges \fI230-233\fR and \fI499-500\fR.
-+.PD
-+.PP
-+\fBExample 2\fR
-+.PD 0
-+.PP
-+The pyramid mode, activated by the option \fB\-I\fR, will produce the
-+following files from the source file of \fBExample 1\fR:
-+.PP
-+ \fIfoo-0.pdf\fR with ranges \fI499-500\fR
-+.PP
-+ \fIfoo-1.pdf\fR with ranges \fI455-460\fR and \fI499-500\fR
-+.PP
-+ \fIfoo-2.pdf\fR with ranges \fI230-233\fR, \fI455-460\fR and \fI499-500\fR.
-+.PD
-+.PP
-+\fBExample 3\fR
-+.PD 0
-+.PP
-+If both options are set you will get just two files with the following
-+contents:
-+.PP
-+ \fIfoo-0.pdf\fR with ranges \fI455-460\fR and \fI499-500\fR
-+.PP
-+ \fIfoo-1.pdf\fR with ranges \fI230-233\fR, \fI455-460\fR and \fI499-500\fR.
-+.PD
-+.PP
-+.SH "Customized Headers"
-+For various reasons you might want to change the standard latex generation,
-+e.g., if you want to change the default font family. The following
-+example represents a valid header file.
-+
-+The usage of this example file changes the font family to sans serif
-+and adds an additional search path for includegraphics to the `figures'
-+subdirectory.
-+
-+.PD 0
-+ \\documentclass{article}
-+.PP
-+ \\usepackage{german,amssymb,amsmath}
-+.PP
-+ \\renewcommand{\\familydefault}{\\sfdefault}
-+.PP
-+ \\AtBeginDocument{\\graphicspath{{figures/}}}
-+.PD
-+
-+The following packages are generally used: \fBcolor\fR, \fBgraphicx\fR and \fBepsfig\fR.
-+.SH "Tex errors"
-+Sometimes it might happen that latex generates an error while processing
-+your special texts. To keep you informed about the occurrence of that
-+error and about what has happened, in this case the log file is shown
-+by invoking a less command.
-+.SH "Files"
-+In single layer mode for the resulting files the suffix fig is replaced
-+by pdf (resp. eps) (i.e. foo.fig -> foo.pdf).
-+.PP
-+.PD 0
-+In multilayer mode the base name of the source fig files is extended
-+by '-<range>' and the suffix is set to pdf (resp. eps).
-+.PP
-+(i.e., foo.fig -> foo-0.pdf, foo-1.pdf, foo-2.pdf, ...
-+.PP
-+ or foo.fig -> foo.page0.pdf, foo.page1.pdf, foo.page2.pdf, ...
-+.PP
-+ if the option \fB\-G\fR is set).
-+.PD
-+.SH "SEE ALSO"
-+.IR xfig(1)
-+.IR fig2dev(1)
-+.IR gawk(1)
-+.IR pdflatex(1)
-+.IR latex(1)
-+.IR dvips(1)