Chapter 8
Gaps

This chapter collects some gaps, but not all and sorts them into categories.

8.1 Gaps in graphics

Only figures created with xfig and stored as files PDF and PTX may be integrated into a LaTeX document. This could be extended to a broader variety of export file formats. The problem is, that fig-files to not contain information on the export format. This has to be either given elsewhere in a config file or determined by pre-parsing the TEX files.

There is no support for pictures in gif-format but maybe a converter to png is all needed.

8.2 Build mechanism

There is no proper make-mechanism taking dependencies into account. Thus, all documents in all formats specified are remade, whether they changed or not.

Also, if more than one target is created from one LaTeX source, common steps are redone for each target. E.g. if PDF and HTML are created, PDF creation is done twice and if PDF, HTML, ODT and DOCX are created, ODT is done twice (once for ODT second for DOCX) and PDF is done even trice: once for pv itself, once for ODT and once for DOCX.

8.3 Indices

Creating more than one index is supported only via package splitidx in conjunction with SplitIndex. There are the following packages also supporting multiple indices but not supported officially: index described in [Jon95], amsmidx described in [Bee07] and imakeidx described in [Gre16]. Note that the package multind is obsolete.

8.4 Glossaries

According to [Tal24b], Section 1.3, there are various options to create a glossary, whereas this software supports option two only described in Section 1.3.2, which uses makeindex for indexing. Currently, indexing with xindy is not supported. The last two options are available only with package glossaries-extra which this software will support in later versions.

By default, package glossaries creates a single “main glossary”, which can be switched off specifying the option nomain described in Section 2.6. In this case at least, more specific glossary types must be specified. This can be done by options like acronyms described in Section 2.7 or the symbols, numbers or index options described in Section 2.9. As the index option collides with indexing as performed by this software, the option index is not allowed.

The package glossaries itself supports new glossary types via the command

\newglossary[log-ext]{name}{in-ext}{out-ext}{title}[counter]

described in [Tal24b], Section 9. In fact, the glossary types accessible via options and even the main glossary are defined internally that way.

Although the glossary algorithm of this software, in particular rerun management as described in Section 5.6 can create any kind of glossaries created with \newglossary, and it can also clean up files created in conjunction with glossaries as long as the file endings do not contain “.”, defining new glossary types is not recommended because latexmk cannot mimic this with a fixed .latexmkrc file, neither in creation rules nor in patter for files for deletion and because collision, e.g. with indexing, cannot be excluded.

Reading [Tal24b], Section 13.1, the glossary option index seems to allow creating indices through the glossaries package making any index-package obsolete. This software does not support that technique offered by the package glossaries.

For development given the LaTeX main file xxx.tex, the files xxx.pdf, xxx.pdf, xxx.synctex.gz and xxx.log are vital. Thus, it would be fine to have a goal which touches these files or to have a parameter to touch these prior to creation to avoid that these are cleaned up after the run. This is an alternative to setting parameter cleanup to false. On the other hand, goal grp creating graphics in conjunction with a development tool like vscode, allows to compile a LaTeX main file in that tool and thus to access xxx.log and xxx.pdf.

There are lots of possible improvements to be done on the goal check.

The ant-task does not allow creating single formats, e.g. pdf selectively.

The ant-build is not completed: tests are not run and test runs are no prerequisite for installation.

This manual is not finished. To test the overall functionality of the maven-plugin and of the ant-task described here, this manual is created through plugin and task.

Support for djvu via pdf2djvu: pdf2djvu -o output_file input_file

pdf2dsc (ps with document structuring convention)

pdf2svg is not so useful.

pdftohtml -c is also not bad,

consider also pdftocairo for creation of tiff and ps and many others.