Chapter 9
Bugs

Seemingly, indices and glossaries based on page numbers (there seems to be an alternative to this), may be out of date with the current algorithm: First lualatex (or some other LaTeX engine) is run to create the raw index. Then a sorting program like makeindex is called which creates the sorted, collected and formatted index. Then one lualatex run is required to include this index into the created pdf-file. A second lualatex run is required to write the index to the table of contents, as typically required. The problem with this procedure is, that the subsequent runs of lualatex change the raw index which requires rerunning makeindex and after that again lualatex.

One way to solve that problem is to use the package imakeidx (improved makeidx) instead of the traditional package makeidx. This offers also multiple indices, which is another gap to be filled. Seemingly, imakeidx does not support glossaries and so for these, another solution is required, although the problem is the same.

Packages robustindex and robustglossaries offer another solution. The advantage would be to have handled both index and glossary. Also support of hyperrefs within indices and glossaries seem to be expanded. On the other hand, the two packages seem experimental and seem to play with package hyperref.

The current implementation is based on package rerunfilecheck which works for index but not for glossary.

Check whether glossaries option autorun makes sense. Seems to run the command makeglossaries after each latex run. But how to find out whether to rerun latex???

Pattern to identify LaTeX main files: Documentation: shall not include the environment documentclass/documentstyle in an input. Also check whether command RequiresPackage makes sense and check whether (re)newcommand is possible or makes sense.

Maybe there is a bug in the number of reruns: I think, makeglossaries is like bibtex needing two latex reruns and not like makeindex, which requires a single rerun.

Since this software heavily relies on rerunfilecheck, maybe a warning if not used is a good idea.

Figures are missing in html output Formulae are missing in html output. Index is s missing in html output. Glossary occurs in the toc but is not numbered.

Did not find a way to add a numbered entry for the glossary into the table of contents.

The pattern (! ) detects an error only -no-file-line-error (which is the default) is set but does not work with option -file-line-error. This yields

./manualLMP.tex:2500: Undefined control sequence.
l.2500 \bla

instead of

! Undefined control sequence.
l.2500 \bla

I ask myself how to detect this error in file line error mode!

Pattern matching is line-wise. This is inappropriate for patternLatexMainFile but also for further patterns like multiline-warnings.

Also there seems to be a bug in java’s regex package, which leads to non-termination: pattern ˜(  \s*)*xx seems not to terminate.

A problem is also that the ending “.svg” may occur as a source and as a target file of htlatex. Thus mvn latex:clr tries to delete the targets of the svg-files, although these are not sources but themselves targets.

A way to solve this problem is, to apply the delete pattern to graphic source files and the files created. CAUTION: for svg, the files created by the latex run shall be taken into account. A warning shall be issued for each matching.

Target html: references to figures are missing. jpg and png-pictures oddly represented. With option svg: problem. Leave away, then at least the formula occurs. But then, from the mixed pictures only the text occur, whereas the pdf is still missing. Maybe htlatex still relies on eps-format. Table is very wide. Umlauts and sz maybe also not properly represented.

Still for target html: currently all aspects making problems are deactivated: Figures, index and glossary. For the index have a look at the log-file. These aspects must be re-integrated as soon as possible.

For html: run package tex4ht with option info to obtain further options and their descriptions. Also add a proper description into this manual.

For files .directory (“.” first), the separation of root and suffix does not work. Maybe the best to ignore files like that.

Target txt: seems as if index and glossary not up to date.

target pdf: Idea to run makeglossaries always prior to lualatex.

Maybe this is more a gap than a bug: support for dvi-creation should be provided separately.

For target dvi, neither png nor jpg-pictures are included. The other formats work with $pdfViaDvi set. Note that the postscript-files must be in the same directory as the dvi, probably because it includes them only by link.

For the other case, $pdfViaDvi unset, this requires some research.

Also for creation of the txt-format, $pdfViaDvi must be set.

FIXME: on bibliography, index and glossary

The application chktex does not necessarily return an error code if something goes wrong, e.g. reading -l chktexrc. Thus only in debug mode one can recognize the misbehavior. This knocks out detection of build failures.

Also I would like to replace the global chktexrc by a local version, via ‘-g0 -l chktexrc.my’. The problem is, that the file is interpreted relative to the working directory.

The application chktex has an option -I to specify, whether input files shall be read. If not, creation of graphics is immaterial. I can also imagine, that one wants to configure, whether graphics shall be created or not.

It may make sense to define in chktexrc another verbosity level with format allowing to decide whether there is a warning/error/message. Now I modified the levels that all but the headlines start with blank. This makes it easy in -v1 and in -v2 to detect warning/error/message at the beginning of a line, without the risk of false error because a message is logged on a text starting with the word “error”.

Maybe this is not a bug but an inconsistency between AUCTeX and local config: Running with the plugin, e.g. with pdflatex, we obtain

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex 2014.8.9)  30 JAN 2017 10:58 
entering extended mode 
 \write18 enabled. 
 Source specials enabled. 
 %&-line parsing enabled. 
**test.tex 
(./test.tex

whereas running from within Emacs with AUCTeX we obtain

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex) 
 restricted \write18 enabled. 
entering extended mode

and also the behavior is slightly different, e.g. on file

\documentclass{article}
\begin{document}
 дцї
\end{document}

The parameter patternReRunLatex treated in Section 6.5.3 needs more careful investigation. This is done to some extent in class org.m2latex.core.Settings.