=encoding UTF-8 =head1 NAME autolatex - compile LaTeX and TeX documents =head1 SYNOPSIS autolatex [options] F [F ...] =head1 DESCRIPTION AutoLaTeX is a tool for managing small to large LaTeX documents. It simplifies the process of producing PDF files or viewing documents by tracking file changes and automating the execution of required programs. One of AutoLaTeX's best features is its translator rules (also known as translators), which automatically generate drawings for inclusion in the PDF from various source formats such as SVG and GNU Plot. For example, consider a document with a single LaTeX file, F. Without AutoLaTeX, producing a F<.pdf> file might require the following commands: F F F F F F F The triple invocation of LaTeX ensures that all references are resolved and layout changes are accounted for. While not overly complex, this process still involves multiple commands. With AutoLaTeX, you can simplify this to: F or simply: F For documents requiring additional tools to generate PDF versions of included drawings or to run BibTeX/Biber for bibliographies, manual compilation becomes cumbersome. AutoLaTeX automates these tasks: it calls the necessary translators and tools for you. Each translator converts a source file (e.g., EPS, SVG, Gnuplot) into a PDF or PNG file. This introduction demonstrates how AutoLaTeX simplifies LaTeX document management. The system is user-friendly for small projects and robust enough for large ones. The rest of this manual provides comprehensive documentation on using, configuring, and installing AutoLaTeX. =head1 COMMANDS AutoLaTeX provides a fixed set of commands to perform specific actions on your document. The default command is B. Some commands accept optional arguments; use B<--help> after the command name for details. The available commands are: =over 4 =item B Processes all tasks required to generate the bibliography (BibTeX, Biber, etc.). =item B Equivalent to the B, B and B commands, but the viewer is launched only if enabled in the configuration or via the command line. =item B Removes all LaTeX temporary files and other temporary files created during project processing from the current working directory. The drawings that are automatically generated by the B command are not removed. =item B Same as B, but also removes Emacs B<~> files, other backup files, generated figures, and the produced PDF. This command is also known as B. =item B Creates a LaTeX package file in the document directory that equips LaTeX Beamer text processor with the control sequences dedicated to AutoLaTeX (slides with animated figures). The package file is named B. See the command B for creating a package dedicated to regular LaTeX document. =item B Creates a standard configuration file in the current directory based on the command-line configuration. =item B Creates a default MakeIndex style file in the document directory, named B. =item B Creates a LaTeX package file in the document directory that equips LaTeX text processor with the control sequences dedicated to AutoLaTeX (animated figures and figures with embedded TeX). The package file is named B. See the command B for creating a package dedicated to LaTeX Beamer. =item B Commits changes to a version control system (GIT, CVS, SVN...). The command line must be provided in the configuration file. =item B Performs all processing required to produce the F<.pdf>, F<.dvi>, or F<.ps> file for the document. This command is also known as B. =item B Performs all processing required to generate glossaries (makeglossaries). This command is also known as B. =item B Automatically generates drawings by invoking the translators. =item B Performs all processing required to generate the index (makeindex). This command is also known as B. =item B Creates an empty LaTeX document in the current directory following a standard folder structure supported by AutoLaTeX. =item B Run one time the (La)TeX text processing to produce the F<.pdf>, F<.dvi>, or F<.ps> file for the document. This command is also known as B or B. =item B Creates a version of the document in a specific folder (default: F<./flat_version/>) with a single LaTeX or TeX file and all other files in the same directory, excluding subfolders. This command is also known as B. This command is useful for creating a version of the document that can be directly uploaded to online publication sites (e.g., Elsevier), which do not support subfolder uploads. This command provides the CLI option F<--externalbiblio> to specify whether the bibliography should be placed in a BibTeX file (external) or inlined in the TeX file (default: inlined). =item B Displays the configuration definitions read from the configuration files. =item B Displays the list of configuration filenames read by AutoLaTeX. =item B Displays the dependencies of the main LaTeX document in terms of included and used files. =item B Displays the filenames of figures that should be processed by a translator. This command offers specific options to control the type of information displayed. =item B Displays the list of installed translators. This command is also known as B. =item B Displays the list of loaded translators. This command is also known as B. =item B Displays the value of the PATH environment variable that is considered by AutoLaTeX. =item B Displays (or removes) figures in the document folder that are not included in the document. =item B Updates the local copy with changes from a version control system (GIT, CVS, SVN...). The command line must be provided in the configuration file. =item B Launches the document viewer. The command line of the viewer must be provided in the configuration file. =back =head1 GLOBAL OPTIONS =over 4 =item B<--asyncview> =item B<--noasyncview> Enables or disables asynchronous viewer launching. If enabled, AutoLaTeX does not wait for the viewer to close before stopping execution. If disabled, AutoLaTeX waits for the viewer to close. =item B<--auto> =item B<--noauto> Enables or disables automatic figure generation using translators. =item B<--biblio> =item B<--nobiblio> Enables or disables the bibliography tool (BibTeX, Biber, etc.) if not explicitly invoked from the command line. =item B<--continuous [sleep_duration]> =item B<--nocontinuous> Runs AutoLaTeX continuously, repeatedly performing the specified actions. This option causes AutoLaTeX to loop infinitely, similar to the following script (in bash): while 1 do autolatex "$@" sleep B done The B parameter specifies the waiting time between loops. If not provided, it defaults to 0. The B<--continuous> option forces B<--asyncview> to be enabled. With a compatible viewer, the display will update automatically. Some UNIX/Linux versions of "gv -watch" support this for PostScript files, which can be configured via a variable. Many other previewers require manual updates. Note: Adobe Acrobat Reader on MS-Windows locks the PDF file, preventing updates, so it is not recommended for continuous mode. =item B<--debug> Runs AutoLaTeX with the logging level set to 'debug'. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--defaultist> Allows AutoLaTeX to use MakeIndex with the default style (.ist file). The default style is provided by the AutoLaTeX distribution. The B<--index> and B<--noindex> options modify AutoLaTeX's behavior regarding MakeIndex. =item B<-d F> =item B<--directory F> Specifies a directory containing a LaTeX document to compile. You can specify this option for each directory containing a LaTeX document. If not specified, the current directory is used. =item B<--dvi> Specifies that the result of the AutoLaTeX process is a DVI or XDVI document, which will be converted to PostScript. This option has the same effect as B<--ps>. =item B<-e S> =item B<--exclude S> Prevents AutoLaTeX from loading the translator named S. See below for available translators. The B<--include> option includes a translator, and B<--include-path> specifies where to find translator scripts. =item B<--extramacro> =item B<--noextramacro> Enables or disables the supports of extra TeX and LaTeX macros and environments. The list of these extra definitions in detailed in the dedicated section of this documentation. =item B<-f F> =item B<--file F> Specifies the main LaTeX file to compile. If not specified, AutoLaTeX searches for a TeX file in the document directory. =item B<--file-line-warning> =item B<--nofile-line-warning> B Enables or disables the extended warning format for LaTeX. This format adds the filename and line number to the warning message, which is useful for extracting warnings from the log file. =item B<--gloss> =item B<--glossary> =item B<--nogloss> =item B<--noglossary> Enables or disables the use of MakeGlossaries. =item B<-h> =item B<--help> Displays the manual. If used before any command, the global manual is shown. If used after a command, only the manual page for that command is displayed. =item B<-D S> =item B<--imgdirectory S> Specifies a directory where AutoLaTeX will find figures to be processed by translators. Each use of this option adds a directory to the list. =item B<-i S> =item B<--include S> Forces AutoLaTeX to load the translator named S. See below for available translators. The B<--exclude> option excludes a translator, and B<--include-path> specifies where to find translator scripts. =item B<-I S> =item B<--include-path S> Notifies AutoLaTeX of directories containing translator scripts. S can be a list separated by the operating system's path separator (':' on Unix, ';' on Windows). The B<--exclude> option excludes a translator, and B<--include> includes a translator. =item B<--index [F]> =item B<--noindex> Allows AutoLaTeX to use MakeIndex. If a value is provided, it is assumed to be an .ist file for MakeIndex. If no value is provided, AutoLaTeX uses MakeIndex and attempts to detect a MakeIndex style file (.ist) in the document directory. If none is found, no style is passed to MakeIndex. The B<--defaultist> and B<--noindex> options modify AutoLaTeX's behavior regarding MakeIndex. =item B<--info> Runs AutoLaTeX with the logging level set to 'info'. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--latex> Uses the LaTeX command: F. See also: B<--pdflatex>, B<--lualatex>, and B<--xelatex>. =item B<--lualatex> Uses the LaTeX command: F. See also: B<--pdflatex>, B<--latex>, and B<--xelatex>. =item B<--pdf> Specifies that the result of the AutoLaTeX process is a PDF document. =item B<--pdflatex> Uses the LaTeX command: F. See also: B<--latex>, B<--lualatex>, and B<--xelatex>. =item B<--ps> Specifies that the result of the AutoLaTeX process is a PostScript document. This option has the same effect as B<--dvi>. =item B<-q> =item B<--quiet> Runs AutoLaTeX with only critical and error messages. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--search-project-from F> When specified, AutoLaTeX searches for a configuration file (usually F<.autolatex_project.cfg> on Unix) in the directory of the specified F or its ancestors. This option does not replace the B<-d> or B<-f> options. =item B<--showloglevel> Show the current level of logging on the console. This option depends on the usage of the other logging options, such as B<--verbose> or B<--debug> for example. =item B<--silent> Runs AutoLaTeX without logging messages (off logging level). The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--stderr> =item B<--stdout> Directs AutoLaTeX to output regular messages (not logged) to standard output (stdout) or standard error (stderr). =item B<--synctex> =item B<--nosynctex> Enables or disables the generation of SyncTeX-compatible output files. SyncTeX links a viewer and a TeX editor, allowing you to click in one and highlight the corresponding line in the other. =item B<--testlogs> Show the a message for each level of logging. This option enables to show the behavior of the logging system that is used by AutoLaTeX. This option depends on the usage of the other logging options, such as B<--verbose> or B<--debug> for example. =item B<-v> =item B<--verbose> Increases verbosity each time this option is specified. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. Note: If you specify more verbosity than 'trace', AutoLaTeX stops immediately and displays the current in-memory configuration. =item B<--version> Displays the version of AutoLaTeX. =item B<--view> =item B<--noview> Enables or disables the document viewer at the end of compilation. =item B<--Wall> Runs AutoLaTeX with the logging level set to 'fine_info'. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--Wnone> Runs AutoLaTeX with the logging level set to 'error', suppressing warnings. The available levels (from least to most verbose) are: off, critical, error, warning, info, fine_info, debug, trace. =item B<--xelatex> Uses the LaTeX command: F. See also: B<--pdflatex>, B<--latex>, and B<--lualatex>. =back =head1 OPTIONS FOR COMMANDS =over 4 =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =back =item I See options for the I, I and I commands, if any. =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =item B<--norecursive> Disables cleaning in subfolders. =item B<--simulate> Simulates file removal without actually deleting files. =item B<--all> If specified, the clean command behaves like the I command. =back =item I See the options for I, except for B<--all>, which is implicit for I. =item I =over 12 =item B<--force> Overwrites the .sty file for LaTeX Beamer if it exists. =back =item I =over 12 =item B<--force> Overwrites the configuration file if it exists. =back =item I =over 12 =item B<--force> Overwrites the .ist file if it exists. =back =item I =over 12 =item B<--force> Overwrites the .sty file for LaTeX if it exists. =back =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =back =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =back =item I =over 12 =item B<--force> Forces the overwriting of all generated figures, ensuring AutoLaTeX runs the translators for all of them. =back =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =back =item I =over 12 =item B<--force> Overwrites all generated files and folders if they exist. =item B<--out F> Specifies the directory where the generated document structure will be written. =back =item I =over 12 =item B<--nochdir> Prevents AutoLaTeX from changing the current directory to the document's root directory before starting the build process. =item B<--showneedloop> Show if another run of the (La)TeX text processing is detected as needed for producing the .pdf, .dvi, .ps file. =back =item I =over 12 =item B<--externalbiblio> Forces the use of an external BibTeX file (i.e., a .bib file) instead of inlining the bibliography database in the TeX file. =item B<--out F> Specifies the output directory for the flat version. The default directory name is F. =back =item I =over 12 =item B<--list> Display the dependencies in the form of list of filenames in place of the default tree of dependencies. =item B<--noauxfile> Prevents AutoLaTeX from reading the auxilliary files in order to extract file dependencies. =item B<--times> Display for each file the last-change time that is considered by AutoLaTeX in the processing stages. =back =item I =over 12 =item B<--changed> Shows only images not associated with up-to-date generated files, i.e., images requiring translator processing. =item B<--translators> Shows all images and their associated translators. =item B<--valid> Shows only images associated with up-to-date generated files, i.e., images that do not require translator processing. =back =item I =over 12 =item B<--level> =item B<--nolevel> Shows or hides the installation levels for each translator. =back =item I =over 12 =item B<--level> =item B<--nolevel> Shows or hides the activation levels for each translator. =back =item I =over 12 =item B<--delete> Deletes unused images instead of just listing them. =back =back =head1 AUTO GENERATION OF FIGURES A converter, called a translator, transforms a source figure into a target format supported by LaTeX. This converter can be an external program (e.g., epstopdf) or an internal Python, Perl, Ruby, or Bash script. Each supported translator is defined in a F<.transdef2> file (the old format in the Perl implementation of AutoLaTeX uses F<.transdef>). This file contains the shell command line or code to execute. To create a new translator, copy and modify an existing F<.transdef2> file. Even if excluded from the command line, a translator is automatically included by AutoLaTeX if invoked by another included translator. The provided translators are: =over 4 =item B =over 12 =item Name: astah2pdf =item Use external converter: astah-pro, astah-uml, astah-com =item Use translator: svg2pdf =item Input format: .asta .jude .juth =item Output format: .pdf =back =item B =over 12 =item Name: astah2png =item Use external converter: astah-pro, astah-uml, astah-com =item Use translator: =item Input format: .asta .jude .juth =item Output format: .png =back =item B =over 12 =item Name: asml2pdf =item Use external converter: astah-sysml =item Use translator: svg2pdf =item Input format: .asml =item Output format: .pdf =back =item B =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 =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 Based on L. This translator assumes input files are compressed with the '.gz' extension. It allows storing compressed figures in the project as raw material for the LaTeX compiler. The bitmaps are decompressed into a file with the same name, excluding the '.gz' extension. =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 =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 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 =over 12 =item Name: dot2pdf =item Use external converter: dot =item Use translator: =item Input format: .dot =item Output format: .pdf =back =item B =over 12 =item Name: dot2png =item Use external converter: dot =item Use translator: =item Input format: .dot =item Output format: .png =back =item B =over 12 =item Name: dot2tex =item Use external converter: dot =item Use translator: =item Input format: .dot =item Output format: .tex =back =item B =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 =over 12 =item Name: fig2pdf =item Use external converter: fig2dev =item Use translator: =item Input format: .fig =item Output format: .pdf =back =item B 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 =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 =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 =over 12 =item Name: gle2pdf =item Use external converter: gle =item Use translator: =item Input format: .gle =item Output format: .pdf =back =item B =over 12 =item Name: gle2png =item Use external converter: gle =item Use translator: =item Input format: .gle =item Output format: .png =back =item B =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 =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 =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 =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 =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 =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 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 =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 =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 =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 =over 12 =item Name: svg2pdf_inkscape =item Use external converter: inkscape =item Use translator: =item Input format: .svg =item Output format: .pdf =back =item B PDF part: =over 12 =item Name: svg2pdf+tex_inkscape =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_inkscape =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 =over 12 =item Name: svg2png_inkscape =item Use external converter: inkscape =item Use translator: =item Input format: .svg =item Output format: .png =back =item B =over 12 =item Name: svg2pdf+layers_inkscape =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 PDF part: =over 12 =item Name: svg2pdf+layers+tex_inkscape =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_inkscape =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 =over 12 =item Name: tikz2pdf =item Use external converter: pdflatex =item Use translator: =item Input format: .tikz =item Output format: .pdf =back =item B =over 12 =item Name: xcf2pdf =item Use external converter: convert =item Use translator: =item Input format: .xcf =item Output format: .pdf =back =item B =over 12 =item Name: xcf2png =item Use external converter: convert =item Use translator: =item Input format: .xcf =item Output format: .png =back =item B =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 =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 ANIMATED FIGURES IN AUTOLATEX Animated figures represent a powerful mechanism for constructing dynamic visual content within LaTeX Beamer presentations. Unlike conventional static graphics, an animated figure consists of multiple visual layers that can appear progressively across the slides of a single frame. This approach enables the presenter to control the incremental disclosure of complex diagrams, illustrations, or schematics, thereby guiding the audience through a narrative sequence without requiring separate image files for each step. AutoLaTeX automates the generation of such figures by leveraging layered Scalable Vector Graphics (SVG) files and translating them into a Beamer-compatible format. The underlying principle relies on the mapping between layers in an SVG document and overlay specifications in Beamer. Each layer within the SVG file corresponds to a distinct visual element that may be shown or hidden on specific slides. To control this behavior, the author embeds a frame specification directly into the layer's name. This specification follows the format FspecE>, where F defines a set of slide numbers. The syntax accommodates single numbers (e.g., F2E>), inclusive ranges (e.g., F3-6E>), open-ended ranges (e.g., F5-E> for all slides from five onward, or F-8E> for slides up to and including eight), and combinations thereof (separated by coma characters). When the SVG is processed by the appropriate AutoLaTeX translator (such as F) these specifications are extracted and used to generate a Beamer overlay sequence. The resulting output comprises a set of PDF files, each corresponding to one layer, along with a TeX file that orchestrates their inclusion using Beamer's overlay mechanisms. Consequently, when the presentation is compiled, the figure animates: each layer appears exactly on the slides designated by its embedded specification, and layers without a specification typically appear from the beginning. Integration with Beamer is achieved through the LaTeX macros provided by the F package (see below). Creating an animated figure suitable for AutoLaTeX and Beamer begins with designing the vector graphic in a tool that supports layers, such as Inkscape. The author constructs the diagram as a set of layers, where each layer represents one logical step of the animation. For instance, a technical drawing might have a base layer containing the background and axes, followed by successive layers adding curves, labels, or annotations. The crucial step lies in naming each layer to encode its appearance schedule. The author opens the layer properties dialog and sets the layer name to include the desired frame specification, such as “Base layer” for a layer that should always appear, or “Data curve <2-4>” for a layer that should appear only on slides two through four. After naming, the author saves the file with an extension that triggers the appropriate translator; typically, the F<+layers.svg> extension is used to indicate that the file contains layered content intended for animation. AutoLaTeX's translator will then parse the layer names, generate the overlay structure, and produce the final assets ready for inclusion in the Beamer document. This workflow combines the expressive power of vector graphics editing with the precise overlay control of Beamer, all automated by AutoLaTeX. It eliminates the manual effort of exporting multiple static images and coding their appearance order, thereby streamlining the creation of sophisticated, animated presentations. =head1 FIGURES WITH EMBEDDED TEX CODE In scientific and technical documents, figures often require textual elements that demand the typographic quality and mathematical capabilities of LaTeX. Standard graphics formats such as Encapsulated PostScript (EPS) or Scalable Vector Graphics (SVG) typically render text using fonts and formatting determined by the drawing application, which may not align with the document's overall aesthetic or may lack support for complex mathematical notation. To overcome this limitation, many tools, including AutoLaTeX, provide a mechanism for embedding TeX and LaTeX macros directly into the textual components of vector figures. When such a figure is processed, the textual elements are extracted, typeset by the LaTeX engine, and reintegrated into the final graphic, ensuring perfect harmony with the surrounding document. With AutoLaTeX, the underlying principle rests on a class of translators that produce dual output: a PDF file containing the graphical elements (lines, shapes, images) and a companion TeX file that defines the textual overlays. The TeX file contains the macros necessary to position and typeset the text at precisely the coordinates intended by the figure's author. During document compilation, the LaTeX engine reads this TeX file and renders the text using the same font settings, mathematics mode, and cross‑referencing capabilities as the main document. This approach preserves the vector quality of the graphics while achieving seamless integration of LaTeX‑typeset text. Several translators within AutoLaTeX support this dual‑output mode. For diagrams created with Xfig, the translator B processes files with extensions such as B<+tex.fig>. The Xfig author must designate text objects that should be treated as LaTeX code by marking them in the editor (see documentation of Xfig). The translator extracts these objects, generates a separate TeX file, and produces a PDF of the graphic stripped of the original text. In Inkscape, the author creates text elements and applies the "LaTeX" rendering mode (via the “Text” menu or by setting the “LaTeX” output option in the export dialog). The translator then separates the graphical paths from the textual content, producing a PDF of the graphic and a F<.pdftex_t> file containing the LaTeX code for the text. Once the source figure has been prepared and saved with the appropriate extension, AutoLaTeX's translator system takes over. Upon detecting a change in the source file, the translator executes the necessary external commands (Inkscape, fig2dev, gnuplot, etc.) to generate the PDF and the TeX companion file. During the LaTeX compilation of the main document, these files are included using specialized macros. The F package provides B<\includegraphicswtex{filename}>, which behaves like the standard B<\includegraphics> but automatically incorporates the associated TeX macros from the companion file. The graphics path resolution for these macros is governed by B<\DeclareGraphicsExtensionsWtex>, which by default includes F<.pdftex_t>, F<.pstex_t>, F<.pdf_tex>, and F<.ps_tex>. The advantages of this approach extend beyond mere aesthetic consistency. Mathematical formulas, chemical notations, and custom LaTeX commands appear exactly as they do in the body text, with proper font selection, sizing, and spacing. References to equations, sections, or bibliographic items within figure labels become possible because the text is typeset at compilation time and can incorporate cross‑references. Moreover, the resulting PDF graphics remain fully scalable and resolution‑independent, preserving the crispness of both lines and text under zoom. =head1 LATEX PACKAGES AutoLaTeX provides two LaTeX packages called F and F. You could create a copy of these packages in the folder of your document by using the command-line's commands B and B =head2 autolatex.sty The LaTeX package F provides the following TeX macros: =over 4 =item B<\includegraphicswtex[options]{filename}> Includes a figure with combined TeX macros. The file on the file system must have a name with one of the extensions defined with B<\DeclareGraphicsExtensionsWtex>. The B must be either F or F, where F is a length. =item B<\includefigurewtex[options]{filename}> Same as B<\includegraphicswtex>. =item B<\includeanimatedfigure[options]{filename}> Includes the layers of a figure in a Beamer presentation. The layers are assumed to be in separate PDF files. The figure is a TeX file that includes the PDF files in a Beamer-compatible environment. The file on the file system must have a name with one of the extensions defined with B<\DeclareGraphicsExtensionsWtex>. The B must be either F or F, where F is a length. By default, a layer replaces the previous layer when displayed. You can change the overlay specification by adding the string FspecE> to the layer title in your SVG editor. The F part defines the slide numbers on which the layer appears in Beamer. For example, F2E> means "only on slide 2"; F6-E> means "from slide 6 to the end." =item B<\includeanimatedfigurewtex[options]{filename}> Includes the layers of a figure combined with TeX macros in a Beamer presentation. The layers are assumed to be in separate PDF files. The figure is a TeX file that includes the PDF files in a Beamer-compatible environment. The file on the file system must have a name with one of the extensions defined with B<\DeclareGraphicsExtensionsWtex>. The B must be either F or F, where F is a length. By default, a layer replaces the previous layer when displayed. You can change the overlay specification by adding the string FspecE> to the layer title in your SVG editor. The F part defines the slide numbers on which the layer appears in Beamer. For example, F2E> means "only on slide 2"; F6-E> means "from slide 6 to the end." =item B<\DeclareGraphicsExtensionsWtex{extensions}> Defines the filename extensions used by B<\includegraphicswtex> to locate figure files. The extensions may be separated by coma ',' characters. By default, the declared filename extensions are: F<.pdftex_t>, F<.pstex_t>, F<.pdf_tex>, and F<.ps_tex>. =item B<\graphicspath{{path1},{path2}...}> This macro is from the TeX package 'graphicx.sty'. It defines the search paths for figures. You could specify multiple paths by separating them with coma ',' characters. It is recommended to enclose each path with block characters '{' and '}'. The figures' files are searched in the different search paths, in the order specified in the argument of B<\graphicspath>. =back =head2 autolatex-beamer.sty The LaTeX package F provides the following TeX macros: =over 4 =item B<\animatedfigureslideEframesE[options]{title}{filename}> Create a frame/slide with the given title and that contains only a single figure that is an I according to the macros provided by the F package. The B parameter is optional and specify the frame numbers that must be displayed from the animated figure. Each frame corresponds to a layer from the animated figure. By default, a layer replaces the previous layer when displayed. You can specify the frames to be shown by adding the string BframesE> This F part defines the slide numbers on which the layer appears in Beamer. For example, F2E> means "only on slide 2"; F6-E> means "from slide 6 to the end." The B must be either F, F, F or F, where F is a length, F is the identifier of the slide to be served as its label, and F is a regular text. The B is used as the main title of the created slide. The B<filename> is the fielname or the path to animated figure. The file on the file system must have a name with one of the extensions defined with B<\DeclareGraphicsExtensionsWtex>. =item B<\autolatexsettoslidecontentwidth{variable}> This macro sets the value of the specified length variable (usually defined with a B<\newlength>) to the I<width of the text part> of a slide. This macro may be redefined by TeX Beamer templates for changing the computing of this width according to th template's graphical structure. =item B<\autolatexsettoslidecontentheight{variable}> This macro sets the value of the specified length variable (usually defined with a B<\newlength>) to the I<height of the text part> of a slide. This macro may be redefined by TeX Beamer templates for changing the computing of this height according to th template's graphical structure. =back =head1 CONFIGURATION FILE =head2 Location of the Configuration Files AutoLaTeX configuration files can be located in several places: =over 4 =item * System Configuration (for all users): In the directory where AutoLaTeX is installed (typically F</usr/lib/python3/dist-packages/autolatex2> on Unix systems). =item * User Configuration: Two cases apply: either the configuration directory (S<$HOME/.autolatex> on Unix or S<C:\Documents and Settings\E<lt>userE<gt>\Local Settings\Application Data\autolatex> on Windows) exists, or it does not. In the first case, the configuration file is stored in the directory and named S<autolatex.conf>. In the second case, the configuration file is in the user directory and named S<$HOME/.autolatex> on Unix, or S<C:\Documents and Settings\E<lt>userE<gt>\Local Settings\Application Data\autolatex.conf> on Windows. =item * Project Configuration: The configuration file is in the same directory as the main TeX file of the document. It is named S<.autolatex_project.cfg> on Unix and S<autolatex_project.cfg> on Windows. =back =head2 Syntax of the Configuration Files Configuration files follow a syntax similar to Windows .ini files. Comments start with '#' or ';' and continue to the end of the line. Each configuration directive must be within a configuration section, declared by its name in brackets (e.g., F<[mysection]>). Each directive is declared as: F<directive name = value> Several section names are reserved by AutoLaTeX; others are assumed to be translator configurations. =head3 [Generation] section This section configures the generation process used by AutoLaTeX. Recognized directives: =over 4 =item I<biber_cmd>: Specifies the Biber tool command line. Accepted value: any command line. =item I<biber_flags>: Specifies options to pass to the Biber tool. Accepted value: any command line. =item I<bibtex_cmd>: Specifies the BibTeX tool command line. Accepted value: any command line. =item I<bibtex_flags>: Specifies options to pass to the BibTeX tool. Accepted value: any command line. =item I<dvi2ps_cmd>: Specifies the dvips tool command line. Accepted value: any command line. =item I<dvi2ps_flags>: Specifies options to pass to the dvips tool. Accepted value: any command line. =item I<generate images>: Indicates whether AutoLaTeX automatically generates figures. Accepted values: F<yes> or F<no>. =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 XDV document =item F<ps> - generate a PS document =back =item I<image directory>: Specifies directories where AutoLaTeX finds pictures to be processed by translators. Paths are separated by the path-separator character (':' on Unix, ';' on Windows). =item I<include extra macros>: Specifies if the definition of extra TeX macros (not from TeX or LaTeX standards) must be included and supported by AutoLaTeX. =item I<latex_cmd>: Specifies the LaTeX tool command line. Accepted value: any command line. =item I<latex_flags>: Specifies options to pass to the LaTeX tool. Accepted value: any command line. =item I<main file>: Specifies the basename of the main TeX file to compile. This option is only available in the project's configuration file. See the section on extra macros for the details of the supported macros.² =item I<makeglossaries_cmd>: Specifies the MakeGlossaries tool command line. Accepted value: any command line. =item I<makeglossaries_flags>: Specifies options to pass to the MakeGlossaries tool. Accepted value: any command line. =item I<makeindex style>: Specifies the style to be used by MakeIndex. This is a comma-separated list of values in order of preference. Values include: =over 8 =item F<E<lt>filenameE<gt>> - if a filename is specified, AutoLaTeX assumes it is the .ist file; =item F<@system> - AutoLaTeX uses the system default .ist file (from the AutoLaTeX distribution); =item F<@detect> - AutoLaTeX attempts to find a .ist file in the project's directory. If none is found, no style is passed to MakeIndex; =item F<@none> - AutoLaTeX assumes no .ist file should be passed to MakeIndex; =item F<E<lt>emptyE<gt>> - AutoLaTeX assumes no .ist file should be passed to MakeIndex. =back If the list contains multiple values, AutoLaTeX applies the corresponding behaviors in sequence. =item I<makeindex_cmd>: Specifies the MakeIndex tool command line. Accepted value: any command line. =item I<makeindex_flags>: Specifies options to pass to the MakeIndex tool. Accepted value: any command line. =item I<synctex>: Indicates whether the output document should be produced with SyncTeX support. =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<translator include path>: Specifies additional directories from which translator scripts can be loaded. This is a list of paths separated by commas or the operating system's path separator (':' on Unix, ';' on Windows). If a path contains a comma, enclose it in quotes. =back =head3 [Clean] section This section configures the cleaning features of AutoLaTeX (targets S<clean> and S<cleanall>). Recognized directives: =over 4 =item I<files to clean>: A list of files to remove when the 'clean' target is invoked. Shell wildcards are allowed. =item I<files to desintegrate>: A list of files to remove when the 'cleanall' target is invoked. Shell wildcards are allowed. =back =head3 [Scm] section This section configures the SCM support of AutoLaTeX (CVS, SVN, or others). Recognized directives: =over 4 =item I<scm commit>: Specifies the command line to use when committing changes. =item I<scm update>: Specifies the command line to use when updating the local copy. =back =head3 [Viewer] section This section configures the viewer used by AutoLaTeX. Recognized directives: =over 4 =item I<view>: Indicates whether AutoLaTeX should launch a viewer after LaTeX compilation. Accepted values: F<yes> or F<no>. =item I<viewer>: The path or command line of the viewer to launch. Accepted value: any command line. =back =head3 Translator section A translator section shares the name of the translator it configures. Recognized directives: =over 4 =item I<files to convert>: A list of files to be converted by this translator. Files are separated by the operating system's path separator (':' on Unix, ';' on Windows). =item I<include module>: Indicates whether the translator should be loaded by default. Accepted values: F<yes> or F<no>. =back =head1 EXTRA TEX AND LATEX MACROS The recognition of the following TeX and LaTeX macros have been included in AutoLaTeX. These macros are not part of the standard TeX distributions. They are usually part of TeX templates provided by the authors of AutoLaTeX. =over 4 =item * B<\animatedfigureslide[options]{title}{path}>: See above. Provided by AutoLaTeX. =item * B<\begin{bibliographysection}\end{bibliographysection}>: equivalent to B<\begin{bibunit}\end{bibunit}> with a bibliography slide added at the end of the section with B<\bibliographyslide>. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\bibliographyslide>: a Beamer slide with a Bibunits bibliography. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\figureslide[options]{title}{path}>: a Beamer slide that contains a single figure. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\includeanimatedfigure[options]{path}>: See above. Provided by AutoLaTeX. =item * B<\includeanimatedfigurewtex[options]{path}>: See above. Provided by AutoLaTeX. =item * B<\includefigurewtex[options]{path}>: See above. Provided by AutoLaTeX. =item * B<\includegraphicswtex[options]{path}>: See above. Provided by AutoLaTeX. =item * B<\libraryslide[options]{picture}{title}{authors}{how published}{isbn}>: a Beamer slide that shows a description of a book. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\mfigure[position]{include graphics options}{filename}{caption}{label}[source text]>: Include a floating figure with the given arguments. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\mfigure*[position]{include graphics options}{filename}{caption}{label}[source text]>: Include a floating figure with the given arguments. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\msubfigure{filename}{caption}>: Include a subfigure with the given arguments in a floating figure. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\msubfigure*{filename}{caption}>: Include a subfigure with the given arguments in a floating figure. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\mfigurewtex[position]{include graphics options}{filename}{caption}{label}>: Include a floating figure embedding TeX macros and with the given arguments. The concept of figure with embedded TeX is based on the AutoLaTeX translators "+tex" as defined above. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\mfigurewtex*[position]{include graphics options}{filename}{caption}{label}>: Include a floating figure embedding TeX macros and with the given arguments. The concept of figure with embedded TeX is based on the AutoLaTeX translators "+tex" as defined above. Provided by the tex-upmethodology from L<https://github.com/gallandarakhneorg/tex-upmethodology>. =item * B<\partnerlogo{path}>: specification of a logo for an associated partner in Beamer template. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\resolvedfilename>: result of the resolution of a picture name. See B<\resolvepicturename> below. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\resolvepicturename{name}>: search for a picture with the given basename inside one of the figure's paths and with one of the supported image filename extensions. The found filename for the picture is stored in the macro B<\resolvedfilename>. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\sidecite{bibtex identifiers}>: in a Beamer template, add a note on the side of the slide that is equivalent to B<\cite{bibtex identifiers}>. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =item * B<\sidenote{text}>: in a Beamer template, add a text on the side of the slide. Provided by the TeX-templates from L<https://github.com/gallandarakhneorg/tex-templates>. =back =head1 BUG REPORT AND FEEDBACK To report bugs, provide feedback, or suggest new features (in preferred order): a) Visit the developer site on GitHub: L<https://github.com/gallandarakhneorg/autolatex2/> b) Visit the AutoLaTeX main page: L<http://www.arakhne.org/autolatex/> c) Send an email to the main author: L<galland@arakhne.org>. =head1 SYSTEM REQUIREMENTS AutoLaTeX can be used directly from any directory where it is uncompressed, but you may want to compile and install additional files (manuals, etc.). To configure and install AutoLaTeX, you may need Python 3.12 or higher and several Python packages, which are installed by the B<setup.py> script. To use AutoLaTeX, you will require: =over 4 =item LaTeX. AutoLaTeX was developed using the TeX Live distribution. =item Python 3.12 or higher. =item Several Python packages, typically included in your Python distribution. =back =head1 INSTALLATION To install AutoLaTeX, run the F<setup.py> script to compile and install AutoLaTeX. The basic commands are: F<cd path_to_autoloader_sources/> F<./setup.py build install --optimize --install-layout deb> =head1 AUTOLATEX LICENSE GNU Lesser General Public License (LGPL) Copyright (c) 1998-2026 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<Lesser General Public License|http://www.gnu.org/copyleft/lgpl.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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 GNU Free Documentation License (FDL) Copyright (c) 1998-2026 Stephane Galland <galland@arakhne.org>. 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 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>