=encoding UTF-8

=head1 NAME

autolatex - compile TeX documents

=head1 SYNOPSIS

autolatex [options] F<target> [F<target> ...]

=head1 DESCRIPTION

AutoLaTeX is a tool for managing small to large sized LaTeX documents. The user can easily perform all required steps to do such tasks as: preview the document, or produce a PDF file. AutoLaTeX will keep track of files that have changed and how to run the various programs that are needed to produce the output. One of the best feature of AutoLaTeX is to provide translator rules (aka. translators) to automatically generate the figures which will be included into the PDF.

As a quick example, consider a project, which has a single LaTeX file F<mydoc.tex>, as its input. Without AutoLaTeX, to produce a F<.pdf> file you might use the following sequence of commands:

     F<pdflatex mydoc.tex>
     F<bibtex mydoc.tex>
     F<pdflatex mydoc.tex>
     F<pdflatex mydoc.tex>
     F<pdflatex mydoc.tex>
     
The triple invocation of LaTeX is to ensure that all references have been properly resolved and any page layout changes due to inserting the references have been accounted for. The sequence of commands isn't horrible, but it still is several commands. To use AutoLaTeX for this project, you would use one of the following the command lines:

     F<autolatex -f mydoc.tex>
     F<autolatex>
     
For documents, which may need to run programs to create the PDF versions of the drawings, which are included into the PDF document, or run BibTeX/Biber to generate bibliographies, the generation of the F<.pdf> (or other) files becomes increasingly complicated to run manually. With AutoLaTeX, such operations are still very simple: you have nothing to do. AutoLaTeX is calling the translators for you. Each translator is able to convert an picture source file (eps, svg, Gnuplot...) into a PDF or PNG file.

Hopefully this introduction has provided an adequate example for how AutoLaTeX can simplify the management of LaTeX-based documents. The AutoLaTeX system is simple enough for small projects and powerful enough for large projects. The remainder of this manual will provide complete documentation on the use of AutoLaTeX as well as configuration and installation instructions.

AutoLaTeX provides several graphical user interfaces. See the section below for details.

=head1 TARGETS

AutoLaTeX provides a fixed set of targets, the arguments to
pass to AutoLaTeX to run a module, for all projects. The
default target is B<all>.

If the specified target is not recognized by AutoLaTeX, a program name C<autolatex-target> (where C<target> is
replaced by the given target string) is searched on your system, and launched.
For example, C<autolatex config> permits to launch the graphical user interface for configuring AutoLaTeX.
This interface is supported by the program C<autolatex-config>, which is provided in the AutoLaTeX distribution.

The targets provided by AutoLaTeX are:

=over 4

=item B<all>

Same as B<view>, except that the viewer is launched only if
the configuration or the CLI is enabling the viewer.

=item B<biblio>

Performs all processing that permits to generate the
bibliography (bibtex, biber...)

=item B<clean>

Cleans the current working directory by removing all LaTeX
temp files and other temp files created during processing
of the project.

=item B<cleanall>

Same as clean. In addition, emacs ~ files and other backup
files are removed. The generated figures and the produced
PDF are also removed.

=item B<commit>

Commit the changes into a SCM system (CVS, SVN, GIT).

=item B<gen_doc>

Performs all processing required to produce the file
.pdf/.dvi/.ps for the project.

=item B<images>

Performs the automatic generation of the figures.

=item B<init>

Create an empty LaTeX document that is following a standard
folder structure supported by AutoLaTeX.

=item B<makeflat>

Create a version of the document inside the subdirectory
'flat_version' in which there is a single TeX file, and all
the other files are inside the same directory of the TeX
file. This action is helpful to create a version of the
document that may be directly upload on online publication
sites (such as Elsevier). This action use the CLI option
F<--biblio> to determine if the bibliography must be put
in a BibTeX file or inline inside the TeX file (default is
inline).

If you do not want to output the flat version in a subdirectory
named 'flat_version', you could set the output directory or
the output basename.

To change the output path for the flat
version, you could use the CLI option:

F<--set makeflat.output=>I<path>

To change only the basename of the output path for the flat
version, you must use the CLI option:

F<--set makeflat.basename=>I<name>

=item B<makeindex>

Performs all processing that permits to generate the index
(makeindex).

=item B<showimages>

Display the filenames of the figures.

=item B<showimagemap>

Display the filenames of the figures, and for each of them, the selected translator.

=item B<showpath>

Show the value of the environment variable PATH

=item B<update>

Update the local copy with the changes from a SCM system
(CVS, SVN, GIT).

=item B<view>

Same as gen_doc. In addition launch the document viewer.

=back

=head1 OPTIONS

=over 4

=item B<--[no]auto>

Enable or disable the auto generation of the figures.

=item B<--[no]asyncview>

Enable or disable the asynchronous launching of the viewer.
If the viewer is launched asynchonously, AutoLaTeX does not wait
for its termination before stopping its execution.
If the viewer is launched synchonously, AutoLaTeX waits
for its termination before stopping its execution.

=item B<--[no]biblio>

Enable or disable the call to the bibliography tool (BibTeX, Biber...)

=item B<--continuous[=sleep_duration]>

=item B<--nocontinuous>

Do not stop AutoLaTeX, and continually do the action(s) given as parameter(s).
This option causes AutoLaTeX to infinitely loop. It has the same effect as the
following script (in bash):
 while 1
 do
   autolatex "$@"
   sleep B<sleep_duration>
 done

The value B<sleep_duration> permits to add some waiting time between
two loop of AutoLaTeX. If it is not given, 0 is assumed.
The B<--continuous> option force the option B<--asyncview> to be set.

With a good viewer the display will be automatically updated.
(Under some but not all versions of UNIX/Linux "gv -watch"  does
this  for  Postscript  files; this can be set by a configuration
variable.)  Many other previewers  will  need  a  manual
update.

Important note: the acroread program on MS-Windows locks the PDF
file, and prevents new versions being written, so it  is  a  bad
idea  to  use  acroread  to view PDF files in continuous
mode.

=item B<--createconfig[=S<type>]>

Do not compile the LaTeX document, but create a
configuration file. The created configuration file
depends on the S<type> value. If the S<type> is equal
to S<project>, AutoLaTeX will create the configuration
file dedicated to a project. Otherwhise it will create
the configuration file for the user level.
The project configuration file is
F<path/to/project/.autolatex_project.cfg> on Unix
platforms, and
F<path\to\project\autolatex_project.cfg>
on other platforms. The default user configuration file
is F<$HOME/.autolatex> on Unix platforms, 
F<C:\Documents and Settings\User\Local Settings\Application Data\autolatex.conf>
on Windows platforms, and F<$HOME/autolatex.conf> on
other plateforms.

=item B<--createist>

Create a default MakeIndex style file into the project
directory. The created file will be named
'default.ist'. If a file with this name already is
existing, it will be overwritten.

=item B<--debug>

Run AutoLaTeX in debug mode. The verbose level is 5, and
all the warnings in the Perl code are assumed to be errors.

=item B<--defaultist>

Allow AutoLaTeX to use MakeIndex with the default
style (ist file). The default style is provided by
AutoLaTeX.

The options --index and --noindex also permit to
change the behavior of AutoLaTeX against MakeIndex.

=item B<--dvi>

Do the compilation to produce a DVI or a XDV document.

=item B<--exclude=S<name>>

Avoid AutoLaTeX to load the translator called S<name>.
See bellow for the available translators.

The option --include permits to include a translator;
and the option -I permits to specify where to find
translator scripts.

=item B<-f=F<file>>

=item B<--file=F<file>>

Specify the main LaTeX file to compile. If this option
is not specified, AutoLaTeX will search for a TeX file
in the current directory.

=item B<--file-line-warning>

Enable or disable the extended format for warnings.
This format add the filename and the line number where
the warning is occuring, before the warning message
by itself.

=item B<--fixconfig[=F<file>]>

Fix the syntax of a configuration file. If the F<file>
is not specified on the command line, AutoLaTeX will
try to fix the project configuration, or the user
configuration if no project configuration file was
found.

=item B<-?>

=item B<--help>

Display this manual.

=item B<-I=S<paths>>

Notify AutoLaTeX that it could find translator scripts
inside the specified directories. The specified S<path>
could be a list of paths separated by the operating
system's path separator (':' on Unix, ';' for Windows
for example).

The option --exclude permits to exclude a translator;
and the option --include permits to exclude a
translator.

=item B<--imgdirectory=S<directory>>

Specify a directy inside which AutoLaTeX will find the
pictures which must be processed by the translators.
Each time this option is put on the command line, a
directory is added inside the list of the directories
to explore.

=item B<--include=S<name>>

Force AutoLaTeX to load the translator called S<name>.
See bellow for the available translators.

The option --exclude permits to exclude a translator;
and the option -I permits to specify where to find
translator scripts.

=item B<--index[=F<style_file>]>

Allow AutoLaTeX to use MakeIndex.

If this option was specified with a value, the
F<style_file> value will be assumed to be an .ist file
to pass to MakeIndex.

If this option was specified without a value,
AutoLaTeX will use MakeIndex and tries to detect a
MakeIndex style file (.ist file) inside the project
directory. If no project's .ist file was found, AutoLaTeX
will not pass a style to MakeIndex.

The options --defaultist and --noindex also permit to
change the behavior of AutoLaTeX against MakeIndex

=item B<--latex>

Use the historical LaTeX command: F<latex>.

=item B<--lualatex>

Use the LaTeX command: F<lualatex>.

=item B<--noindex>

Avoid AutoLaTeX to use MakeIndex.

The options --index and --defaultist also permit to
change the behavior of AutoLaTeX against MakeIndex.

=item B<--pdf>

Do the compilation to produce a PDF document.

=item B<--pdflatex>

Use the LaTeX command: F<pdflatex>.

=item B<--progress[=n]>

Enable or disable the progression indicator.
The value of the parameter permits to determine what is
the character that will be print out at the end of the
lines. By default, the carriage-return character C<\r>
is used. If you specify a value equals to "C<n>", the
new-line character C<\n> will be used.

=item B<--ps>

Do the compilation to produce a Postscript document,
when possible.

=item B<-q>

=item B<--quiet>

AutoLaTeX should be not verbose (see B<-v> for
changing the verbose level).

=item B<--search-project-from=F<file>>

When this option is specified, AutoLaTeX is searching a project
configuration file (usually F<.autolatex_project.cfg> on Unix
platforms) in the directory of the specified F<file> or in
one of its ancestors. When the project configuration file
was found, AutoLaTeX assumes that the building directory
is the directory where the configuration file is located.

=item B<--set [S<translator>.]S<name>=S<value>>

Set the internal value of AutoLaTeX named S<name> with
the specified S<value>. Internal values are limited
and corresponds to the "set" directives from the
configuration file syntax.

If S<translator> is given, it is the name of the
translator for which the value must ve overridden. If
S<translator> is not given then "generation" is the
default prefix.

=item B<--stderr>

Prefer to output the messages on the standard error output.

=item B<--stdout>

Prefer to output the messages on the standard output.

=item B<--[no]synctex>

Enable or disable the generation of the output file with SyncTeX.
SyncTeX is a system that is permitting to link a viewer and 
the TeX editor. When you click in one, the other software is
highlighting the corresponding line.

=item B<-v>

Each time this option was specified, AutoLaTeX is more
verbose. Note that 1) if you put 5 times the B<-v>
option on the command line, AutoLaTeX will consider
the Perl warnings as errors; 2) if you put 6 times the
B<-v> option on the command line, AutoLaTeX is
stopping immediately, and is displaying the current
configuration in memory.

=item B<--version>

Display the version of AutoLaTeX.

=item B<--view[=F<file>]>

=item B<--noview>

Enable or disable the document viewer at the end of
the compilation. The path of the document viewer could
be specify with F<file>. If not specified, AutoLaTeX
will check for the tools F<acroread>, F<kpdf>,
F<evince>, F<gv>, and F<xpdf>.

=item B<-W>

=item B<--Wall>

=item B<--Wnone>

Select the warnings that should be output: B<--Wall> for all,
B<--Wnone> for none, and B<-W> to increment the output level.
B<-W> is the default configuration used by AutoLaTeX.

=item B<--xelatex>

Use the LaTeX command: F<xelatex>.

=back

=head1 AUTO GENERATION OF FIGURES

A translator is used to convert a source figure into
a target figure which is supported by LaTeX. This
converter is an external program (eg. epstopdf)
or an internal Perl script. 

Each supported translator is described inside a
.transdef file. This file contains the definition of
the variables for the shell command line to launch or
the Perl code to use. To create a new translator, we
recommend to copy/paste an existing F<.transdef> file
and change its content. Even if you excluded a
translator from the the command line, it is
automatically included by AutoLaTeX when it is
invoked by an included translator.

The provided translators are:

=over 4

=item B<Astah/Jude (asta) to Portable Document Format (pdf)>

=over 12

=item Name:                              astah2pdf

=item Use external converter:            astah-uml, astah-pro

=item Use translator:                    svg2pdf

=item Input format:                      .asta .jude .juth

=item Output format:                     .pdf

=back

=item B<Asymptote (asy) to Portable Document Format (pdf)>

=over 12

=item Name:                              asy2pdf

=item Use external converter:            asy

=item Use translator:                    eps2pdf

=item Input format:                      .asy

=item Output format:                     .pdf

=back

=item B<Astah/Jude (asta) to Portable Network Graphic (png)>

=over 12

=item Name:                              astah2png

=item Use external converter:            astah-com, astah-uml, astah-pro

=item Use translator:

=item Input format:                      .asta .jude .juth

=item Output format:                     .png

=back

=item B<C/C++ Source Code (.cpp, .c, .hpp, .h) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              cpp2tex_texify

=item Use external converter:            texifyc++

=item Use translator:

=item Input format:                      .cpp, .c, .hpp, .h, .c++, .h++

=item Output format:                     .tex

=back

=item B<Compressed Bitmap to Uncompressed Bitmap>

based on L<zcat> tool. This translator assumes that input files are compressed. The input
filename extensions is '.gz'. This translator permits to store in the project compressed figures
as raw material for the LaTeX compiler. The bitmaps are uncompressed in a file with
the same name as the source, except that the '.gz' was removed from the name.

=over 12

=item Name:                              imggz2img

=item Use external converter:            zcat

=item Use translator:            

=item Input format:                      XXX.gz

=item Output format:                     XXX

=back

=item B<Diagram Editor (dia) to Portable Document Format (pdf)>

=over 12

=item Name:                              dia2pdf

=item Use external converter:            dia

=item Use translator:                    eps2pdf

=item Input format:                      .dia

=item Output format:                     .pdf

=back

=item B<Diagram Editor (dia) to TeX embedded in Portable Document Format (pdf+tex)>

PDF part:

=over 12

=item Name:                              dia2pdf+tex

=item Use external converter:            dia

=item Use translator:

=item Input format:                      .dia_tex .diat .dia+tex .diatex .tex.dia +tex.dia

=item Output format:                     .pdf

=back

TeX part:

=over 12

=item Name:                              dia2pdf+tex

=item Use external converter:            dia

=item Use translator:            

=item Input format:                      .dia_tex .diat .dia+tex .diatex .tex.dia +tex.dia

=item Output format:                     .pdftex_t

=back

=item B<Dot Graphviz (dot) to Portable Document Format (pdf)>

=over 12

=item Name:                              dot2pdf

=item Use external converter:            dot

=item Use translator:

=item Input format:                      .dot

=item Output format:                     .pdf

=back

=item B<Dot Graphviz (dot) to Portable Network Graphic (png)>

=over 12

=item Name:                              dot2png

=item Use external converter:            dot

=item Use translator:

=item Input format:                      .dot

=item Output format:                     .png

=back

=item B<Dot Graphviz (dot) to TeX (tex)>

=over 12

=item Name:                              dot2tex

=item Use external converter:            dot

=item Use translator:

=item Input format:                      .dot

=item Output format:                     .tex

=back

=item B<Encapsuled PostScript (eps) to Portable Document Format (pdf)>

=over 12

=item Name:                              eps2pdf_epstopdf

=item Use external converter:            epstopdf

=item Use translator: 

=item Input format:                      .eps

=item Output format:                     .pdf

=back

=item B<Encapsuled PostScript (eps) to Portable Document Format (pdf)>

=over 12

=item Name:                              eps2pdf_ps2pdf

=item Use external converter:            ps2pdf

=item Use translator: 

=item Input format:                      .eps

=item Output format:                     .pdf

=back

=item B<XFig document (fig) to Portable Document Format (pdf)>

=over 12

=item Name:                              fig2pdf

=item Use external converter:            fig2dev

=item Use translator:            

=item Input format:                      .fig

=item Output format:                     .pdf

=back

=item B<XFig document (fig) to TeX embedded in Portable Document Format (pdf+tex)>

PDF part:

=over 12

=item Name:                              fig2pdf+tex

=item Use external converter:            fig2dev

=item Use translator:

=item Input format:                      .figt .fig_tex .figtex .fig+tex .tex.fig +tex.fig

=item Output format:                     .pdf

=back

TeX part:

=over 12

=item Name:                              fig2pdf+tex

=item Use external converter:            fig2dev

=item Use translator:            

=item Input format:                      .figt .fig_tex .figtex .fig+tex .tex.fig +tex.fig

=item Output format:                     .pdftex_t

=back

=item B<GeoGebra (ggb) to Portable Document Format (pdf)>

=over 12

=item Name:                              ggb2pdf

=item Use external converter:            geogebra

=item Use translator:                    

=item Input format:                      .ggb

=item Output format:                     .pdf

=back

=item B<Graph Layout Engine (gle) to Portable Document Format (pdf)>

=over 12

=item Name:                              gle2pdf

=item Use external converter:            gle

=item Use translator:                    

=item Input format:                      .gle

=item Output format:                     .pdf

=back

=item B<Graph Layout Engine (gle) to Portable Network Graphic (png)>

=over 12

=item Name:                              gle2png

=item Use external converter:            gle

=item Use translator:                    

=item Input format:                      .gle

=item Output format:                     .png

=back

=item B<Graph eXchange Language (gxl) to Portable Document Format (pdf)>

=over 12

=item Name:                              gxl2pdf

=item Use external converter:            gxl2dot

=item Use translator:                    dot2pdf

=item Input format:                      .gxl

=item Output format:                     .pdf

=back

=item B<Graph eXchange Language (gxl) to Portable Network Graphic (png)>

=over 12

=item Name:                              gxl2png

=item Use external converter:            gxl2dot

=item Use translator:                    dot2png

=item Input format:                      .gxl

=item Output format:                     .png

=back

=item B<Java Source Code (java) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              java2tex_texify

=item Use external converter:            texifyjava

=item Use translator:

=item Input format:                      .java

=item Output format:                     .tex

=back

=item B<Lisp Script (lisp) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              lisp2tex_texify

=item Use external converter:            texifylisp

=item Use translator:

=item Input format:                      .lisp

=item Output format:                     .tex

=back

=item B<MatLab Script (m) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              matlab2tex_texify

=item Use external converter:            texifymatlab

=item Use translator:

=item Input format:                      .m

=item Output format:                     .tex

=back

=item B<ML Script (ml) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              ml2tex_texify

=item Use external converter:            texifyml

=item Use translator:

=item Input format:                      .ml

=item Output format:                     .tex

=back

=item B<Perl Script (perl) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              perl2tex_texify

=item Use external converter:            texifyperl

=item Use translator:

=item Input format:                      .perl .pl

=item Output format:                     .tex

=back

=item B<Gnuplot (plot) to Portable Document Format (pdf)>

=over 12

=item Name:                              plot2pdf

=item Use external converter:            gnuplot

=item Use translator:                    eps2pdf

=item Input format:                      .plot .gnu

=item Output format:                     .pdf

=back

=item B<Gnuplot (plot) to TeX embedded in Portable Document Format (pdf+tex)>

PDF part:

=over 12

=item Name:                              plot2pdf+tex

=item Use external converter:            gnuplot

=item Use translator:                    eps2pdf

=item Input format:                      .plott .plot_tex .plottex .plot+tex .tex.plot +tex.plot .gnut .gnu_tex .gnutex .gnu+tex .tex.gnu +tex.gnu

=item Output format:                     .pdf

=back

TeX part:

=over 12

=item Name:                              plot2pdf+tex

=item Use external converter:            gnuplot

=item Use translator:                    

=item Input format:                      .plott .plot_tex .plottex .plot+tex .tex.plot +tex.plot .gnut .gnu_tex .gnutex .gnu+tex .tex.gnu +tex.gnu

=item Output format:                     .pdftex_t

=back

=item B<Python Source Code (py) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              python2tex_texify

=item Use external converter:            texifypython

=item Use translator:

=item Input format:                      .py

=item Output format:                     .tex

=back

=item B<Ruby Source Code (rb) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              ruby2tex_texify

=item Use external converter:            texifyruby

=item Use translator:

=item Input format:                      .rb

=item Output format:                     .tex

=back

=item B<SQL Script (sql) to TeX Source Code (tex): TeXify variante>

=over 12

=item Name:                              sql2tex_texify

=item Use external converter:            texifysql

=item Use translator:

=item Input format:                      .sql

=item Output format:                     .tex

=back

=item B<Scalable Vector Graphic (svg) to Portable Document Format (pdf)>

=over 12

=item Name:                              svg2pdf

=item Use external converter:            inkscape

=item Use translator:                    

=item Input format:                      .svg

=item Output format:                     .pdf

=back

=item B<Scalable Vector Graphic (svg) to TeX embedded in Portable Document Format (pdf+tex)>

PDF part:

=over 12

=item Name:                              svg2pdf+tex

=item Use external converter:            inkscape

=item Use translator:                    

=item Input format:                      .svgt .svg_t .svgtex .svg+tex .tex.svg +tex.svg

=item Output format:                     .pdf

=back

TeX part:

=over 12

=item Name:                              svg2pdf+tex

=item Use external converter:            inkscape

=item Use translator:            

=item Input format:                      .svgt .svg_t .svgtex .svg+tex .tex.svg +tex.svg

=item Output format:                     .pdftex_t

=back

=item B<Scalable Vector Graphic (svg) to Portable Network Graphic (png)>

=over 12

=item Name:                              svg2png

=item Use external converter:            inkscape

=item Use translator:            

=item Input format:                      .svg

=item Output format:                     .png

=back

=item B<Scalable Vector Graphic with layers (svg) to Beamer Overlays>

=over 12

=item Name:                              svg2pdf+layers

=item Use external converter:            inkscape

=item Use translator:                    

=item Input format:                      .svgl .svg_l .svglayers .svg+layers .layers.svg +layers.svg

=item Output format:                     .pdftex_t .pdf

=back

=item B<Scalable Vector Graphic with layers (svg) to TeX embedded in Beamer Overlays>

PDF part:

=over 12

=item Name:                              svg2pdf+layers+tex

=item Use external converter:            inkscape

=item Use translator:                    

=item Input format:                      .svglt .svg_lt .svglayerstex .svgtexlayers .svg+layers+tex .svg+tex+layers .layers.tex.svg .tex.layers.svg +layers+tex.svg +tex+layers.svg

=item Output format:                     .pdf

=back

TeX part:

=over 12

=item Name:                              svg2pdf+layers+tex

=item Use external converter:            inkscape

=item Use translator:            

=item Input format:                      .svglt .svg_lt .svglayerstex .svgtexlayers .svg+layers+tex .svg+tex+layers .layers.tex.svg .tex.layers.svg +layers+tex.svg +tex+layers.svg

=item Output format:                     .pdftex_t

=back

=item B<Gimp (xcf) to Portable Document Format (pdf)>

=over 12

=item Name:                              xcf2pdf

=item Use external converter:            convert

=item Use translator:                    

=item Input format:                      .xcf

=item Output format:                     .pdf

=back

=item B<Gimp (xcf) to Portable Network Graphic (png)>

=over 12

=item Name:                              xcf2png

=item Use external converter:            convert

=item Use translator:                    

=item Input format:                      .xcf

=item Output format:                     .png

=back

=item B<UML Metadata Interchange (xmi) to Portable Document Format (pdf): Umbrello variante>

=over 12

=item Name:                              xmi2pdf_umbrello

=item Use external converter:            umbrello

=item Use translator:                    eps2pdf

=item Input format:                      .xmi

=item Output format:                     .pdf

=back

=item B<UML Metadata Interchange (xmi) to Portable Document Format (pdf): uml2svg variante>

=over 12

=item Name:                              xmi2pdf_uml2svg

=item Use external converter:            uml2svg

=item Use translator:                    svg2pdf

=item Input format:                      .xmi

=item Output format:                     .pdf

=back

=item B<UML Metadata Interchange (xmi) to Portable Document Format (pdf): xmi2svg variante>

=over 12

=item Name:                              xmi2pdf_xmi2svg

=item Use external converter:            xmi2svg

=item Use translator:                    svg2pdf

=item Input format:                      .xmi

=item Output format:                     .pdf

=back

=item B<Visio Binary Draw (vsd) to Portable Document Format (pdf)>

=over 12

=item Name:                              vsd2pdf

=item Use external converter:            inkscape

=item Use translator:                    

=item Input format:                      .vsd .vdx .vsdx

=item Output format:                     .pdf

=back

=back

=head1 LATEX STYLE PACKAGE

AutoLaTeX provides a LaTeX style called F<autolatex.sty>. It provides the following functions:

=over 4

=item B<\includegraphicswtex[options]{filename}>

include a figure with combined TeX macros. The filename must have one of the following extensions: F<.pdftex_t>, F<.pdftex_t>, F<.pstex_t>, F<.pdf_tex>, F<.ps_tex>. The B<options> must one of: F<width=XX>, or F<height=XX>; where F<XX> is a length.

=item B<\includefigurewtex[options]{filename}>

same as B<\includegraphicswtex>.

=item B<\includeanimatedfigure[options]{filename}>

include the layers of a figure in a Beamer presentation. The different layers are assumed to
be in separate PDF files. The figure is then a TeX file that is including the PDF files inside
a Beamer-compatible environment. The filename must have one of the following extensions: F<.pdftex_t>, F<.pdftex_t>, F<.pstex_t>, F<.pdf_tex>, F<.ps_tex>. The B<options> must one of: F<width=XX>, or F<height=XX>; where F<XX> is a length.

By default, a layer is replacing the previous layer when it is displayed. You could change
the overlay specification by adding the string F<"spec"> in the title of the layer in your SVG
editor. The F<spec> part is the specification of the slide numbers on which the layer should
appear in Beamer. For example, F<2> means 'only on the slide 2'; F<6-> means 'from slide 6 to the end'.

=item B<\includeanimatedfigurewtex[options]{filename}>

include the layers of a figure combined with TeX macros in a Beamer presentation.
The different layers are assumed to be in separate PDF files. The figure is then
a TeX file that is including the PDF files inside a Beamer-compatible environment.
The filename must have one of the following extensions: F<.pdftex_t>, F<.pdftex_t>, F<.pstex_t>, F<.pdf_tex>, F<.ps_tex>. The B<options> must one of: F<width=XX>, or F<height=XX>; where F<XX> is a length.

By default, a layer is replacing the previous layer when it is displayed. You could change
the overlay specification by adding the string F<"spec"> in the title of the layer in your SVG
editor. The F<spec> part is the specification of the slide numbers on which the layer should
appear in Beamer. For example, F<2> means 'only on the slide 2'; F<6-> means 'from slide 6 to the end'.

=item B<\DeclareGraphicsExtensionsWtex{extensions}>

permits to define the filename extensions that are used by B<\includegraphicswtex> to find the figure files.

=item B<\graphicspath{{path1},{path2}...}>

is the macros from the TeX package 'graphicx.sty'. It permits to define the search paths for the figures.

=back

=head1 CONFIGURATION FILE

=head2 Location of the Configuration Files

The configuration files used by AutoLaTex could be a several places:

=over 4

=item * System Configuration (for all users): inside the directory where AutoLaTeX was installed (usually /usr/lib/autolatex on Unix systems).

=item * User Configuration: two cases: the configuration directory named S<$HOME/.autolatex> on Unix, or S<C:\Documents and Settings\E<lt>userE<gt>\Local Settings\Application Data\autolatex> on Windows exists; or not.

In the first case, the configuration file is stored inside the directory and is named S<autolatex.conf>.

In the second case, the configuration file is inside the user directory and is named S<$HOME/.autolatex> on Unix, and S<C:\Documents and Settings\E<lt>userE<gt>\Local Settings\Application Data\autolatex.conf> on Windows.

=item * Project Configuration: the configuration file in the same directory as the main TeX file of the project. It is named S<.autolatex_project.cfg> on Unix and S<autolatex_project.cfg> on Windows.

=back

=head2 Syntax of the Configuration Files

The configuration files respect a syntax similar to the Windows .ini files.

A comment starts with the characters '#' or ';' and it finishes at the end of the line.

Each configuration directive must be inside a configuration section. A configuration section
is declared by its name between brackets. Example: F<[mysection]>

Each directive must be declared as: F<directive name = value>

Several section names are reserved by AutoLaTeX, the others are assumed to be the configuration for the translators.

=head3 [Viewer] section

This section permits to configure the viewer used by AutoLaTeX.
The recognized directives are:

=over 4

=item I<view> : Indicates if AutoLaTeX must launch a viewer after LaTeX compilation. Accepted values: F<yes> or F<no>.
	
=item I<viewer> : Is the path or the command line of the viewer to launch. Accepted value: any command line.

=back

=head3 [Generation] section

This section permits to configure the generation process used by AutoLaTeX.
The recognized directives are:

=over 4

=item I<main file> : specifies the basename of the main TeX file to compile. This option is available only inside the project's configuration file.

=item I<generate images> : indicates if AutoLaTeX automatically generates the figures. Accepted values: F<yes> or F<no>

=item I<image directory> : Specify the directories inside which AutoLaTeX will find the pictures which must be processed by the translators. The different paths are separated by the path-separator character (F<':'> on Unix, F<';'> on Windows).

=item I<generation type> : indicates the type of generation. Accepted values:

=over 8

=item F<pdf> - generate a PDF document

=item F<dvi> - generate a DVI or a XDV document

=item F<ps> - generate a PS document

=back

=item I<tex compiler> : indicates the TeX compiler to use. Accepted values:

=over 8

=item F<latex> - use F<latex>

=item F<pdflatex> - use F<pdflatex>

=item F<xelatex> - use F<xelatex>

=item F<lualatex> - use F<lualatex>

=back

=item I<synctex> : indicates if the output document may be produced with SyncTeX, or not.

=item I<makeindex style> : specifies the style that must be used by MakeIndex. This is a list of values separated by comas, in the preference order. The values should be:

=over 8

=item F<E<lt>filenameE<gt>> - if a filename was specified, AutoLaTeX assumes that it is the .ist file;

=item F<@system> - AutoLaTeX uses the system default .ist file (in AutoLaTeX distribution);

=item F<@detect> - AutoLaTeX will tries to find a .ist file in the project's directory. If none was found, AutoLaTeX will not pass a style to makeindex;

=item F<@none> - AutoLaTeX assumes that no .ist file must be passed to MakeIndex;

=item F<E<lt>emptyE<gt>> - AutoLaTeX assumes that no .ist file must be passed to MakeIndex.

=back

If the list contains more than one value, AutoLaTeX will do the corresponding behaviors in turn.

=item I<translator include path> : specifies additional directories from which translator scripts could be loaded. This is a list of paths separated by comas or the path separator of your operating system (S<:> on Unix, S<;> on Windows). If a path contains a coma character, you must enclose it in quotes.

=item I<latex_cmd> : specifies the LaTeX tool command line. Accepted value: any command line.

=item I<bibtex_cmd> : specifies the BibTeX tool command line. Accepted value: any command line.

=item I<biber_cmd> : specifies the Biber tool command line. Accepted value: any command line.

=item I<makeindex_cmd> : specifies the MakeIndex tool command line. Accepted value: any command line.

=item I<dvi2ps_cmd> : specifies the dvips tool command line. Accepted value: any command line.

=item I<latex_flags> : specifies the options to pass to the LaTeX tool. Accepted value: any command line.

=item I<bibtex_flags> : specifies the options to pass to the BibTeX tool. Accepted value: any command line.

=item I<biber_flags> : specifies the options to pass to the Biber tool. Accepted value: any command line.

=item I<makeindex_flags> : specifies the options to pass to the MakeIndex tool. Accepted value: any command line.

=item I<dvi2ps_flags> : specifies the options to pass to the dvips tool. Accepted value: any command line.

=back

=head3 [Clean] section

This section permits to configure the cleaning features of AutoLaTeX (targets
S<clean> and S<cleanall>).
The recognized directives are:

=over 4

=item I<files to clean> : is a list of files to remove when the target 'clean' is invoked. Shell wildcards are allowed.

=item I<files to desintegrate> : is a list of files to remove when the target 'cleanall' is invoked. Shell wildcards are allowed.

=back

=head3 [Scm] section

This section permits to configure the SCM support of AutoLaTeX (CVS, SVN or others).
The recognized directives are:

=over 4

=item I<scm commit> : specifies the command line to use when commit the changes.

=item I<scm update> : specified the command line to use when update the local copy.

=back

=head3 Translator section

A translator section has the same name as the translator it configures.
The recognized directives are:

=over 4

=item I<include module> : indicates if the translator should be loaded by default. Accepted values: F<yes> or F<no>.

=item I<files to convert> : indicates a list of files that must be converter this this translator. The files are separated by the path separator given by the operating systems (':' on Unix, ';' on Windows).

=back

=head1 GRAPHIC USER INTERFACE

A graphical user interface is available since version 5.0 to configure and launch AutoLaTeX process.

The available user interfaces are:

=over 4

=item B<Gedit 3:>

This is the I<official> and up-to-date UI of AutoLaTeX. A plugin for the lightweight editor Gedit 3 <https://projects.gnome.org/gedit> is provided. You could launch AutoLaTeX and configure it through the differents provided panels.

=item B<Standalone Gtk 3 Frontend:>

This front end is based on the Gtk3 library. It provides the same configuration windows as the Gedit 3 plugin. Indeed, both of them are using the same background API based on Gtk3. 

=item B<Sublime Text with LaTeXTools:>

Since 2014, AutoLaTeX is integrated as one of the builders of the LaTeXTools plugin <https://github.com/SublimeText/LaTeXTools> for Sublime Text. You could launch AutoLaTeX through the building tools of Sublime Text. Until now, it is not possible to configure AutoLaTeX through Sublime Text.

=item B<Kile:>

There is no specific plugin for Kile. To use AutoLaTeX in this editor, you must add a build tool from the "Configure Kile" dialog box, or inside the F<kilerc> file in the configuration directory of KDE (usually: C<$HOME/.kde/share/config/kilerc>).
We recommend the following configuration to launch AutoLaTeX in Kile (it is a copy of the content of the file F<kilerc>):

 ...
 [Tool/AutoLaTeX/Default]
 class=Compile
 close=no
 command=autolatex
 menu=Compile
 options=-v --synctex --noview --search-project-from '%source' all
 state=Editor
 type=Process
 ...

=item B<TeXmaker:>

There is no specific plugin for TeXmaker. To use AutoLaTeX in this editor, you must add a build tool inside the "Configure TeXmaker" dialog box, or inside the F<texmaker.ini> file in the configuration directory of TeXMaker (usually: C<$HOME/.config/xm1/texmaker.ini>).
We recommend the following configuration to launch AutoLaTeX in TeXmaker (it is a copy of the content of the file F<texmaker.ini>):

 ...
 [texmaker]
 ...
 Tools\Userquick=autolatex -v --synctex --noview --search-project-from %.tex
 ...

=item B<TeXworks:>

There is no specific plugin for TeXworks. To use AutoLaTeX in this editor, you must add a composition tool from the "Preferences" dialog box, or inside the F<tools.ini> file in the configuration directory of TeXworks (usually: C<$HOME/.TeXWorks/configuration/tools.ini>).
We recommend the following configuration to launch AutoLaTeX in TeXworks (it is a copy of the content of the file F<tools.ini>):

 ...
 [012]
 name=AutoLaTeX
 program=autolatex
 arguments=-v, --synctex, --noview, --search-project-from, $fullname, all
 showPdf=true
 ...

=back

The following graphical user interfaces are still provided, but they are deprecated:

=over 4

=item B<Gedit 2:>

A plugin for the lightweight editor Gedit 2.

=item B<Sublime Text 2:>

A plugin for the editor Sublime Text 2 <http://www.sublimetext.com/2>.

=item B<Standalone Gtk 2 Frontend:>

A collection of configuration windows written in Perl and based on Gtk 2.

=back

=head1 BUG REPORT AND FEEDBACK

To report bugs, provide feedback, suggest new features, etc. (in prefered order):
a) visit the developer site on GitHub <https://github.com/gallandarakhneorg/autolatex/>,
b) visit the AutoLaTeX main page <http://www.arakhne.org/autolatex/>, or
c) send email to the main author at L<galland@arakhne.org>.

=head1 SYSTEM REQUIREMENTS

AutoLaTeX may be directly used from any directory where it is uncompressed. But you may want to compile and install the additional files (manual...) 

To configure and install AutoLaTeX, you may need GNU make.

You need to install the package Compress::Zlib to compile and install AutoLaTeX. This package is not required for the execution of AutoLaTeX. In addition, to compile AutoLaTeX, you need to install the 'msgfmt' command which is a part of 'gettext'.

To use AutoLaTeX, you will require:

=over 4

=item latex. The development of AutoLaTeX was done using the TeX Live distribution.

=item Either Perl version 5.004 or higher.

=item Several Perl packages usually installed in your Perl distribution: Config::Simple, Locale::gettext, Spec::File...

=back

=head1 INSTALLATION

Installation of AutoLaTeX consists of launching the Makefile.PL script to generate a Makefile that permits to compile and install AutoLaTeX. The basic commands are:

F<cd path_to_autoloader_sources/>

F<perl ./Makefile.PL --prefix=/usr>

F<make>

F<make install>

F<make clean>


The file C<INSTALL> gives more details on the installation, and it provides other ways to compile/install AutoLaTeX.

=head1 AUTOLATEX LICENSE

S<GNU Public License (GPL)>

Copyright (c) 1998-2014  Stephane GALLAND <galland@arakhne.org>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU L<General Public License|http://www.gnu.org/copyleft/gpl.html> as published by the L<Free Software Foundation|http://www.fsf.org/>; 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; see the file S<COPYING>. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

=head1 MANUAL COPYRIGHT

S<GNU Free Documentation License (FDL)>

Copyright (c)  1998-2014  Stephane Galland E<lt>galland@arakhne.orgE<gt>.

Permission is granted to copy, distribute and/or modify this document under the terms of the L<GNU Free Documentation License|http://www.gnu.org/licenses/fdl.txt>, Version 1.2 or any later version published by the L<Free Software Foundation|http://www.fsf.org/>; with the Invariant Sections being S<AUTOLATEX LICENSE> and S<MANUAL COPYRIGHT>, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the file name S<GNU Free Documentation License.txt>.

=head1 SEE ALSO

L<pdflatex>, L<latex>, L<bibtex>, L<biber>, L<epstopdf>,
L<fig2dev>, L<gnuplot>, L<inkscape>, L<umbrello>, L<zcat>, L<texify>
