0

When I first encounter this problem I found many similar question: 1, 2, 3 and more, but it didn't solved my problem.

I have cpp project and I'm generating doxygen PDF and HTML with the following script:

#!/bin/bash

doxygen libProject.doxyfile cd latex make cd .. cp latex/refman.pdf libProject_traceability.pdf

When I added ALIASES to the doxyfile:

ALIASES                += coversreqs="<dl class="params"><dt>Component Requirements:</dt><dd><table class="params">"
ALIASES                += req{1}="<tr><td class="paramname">\ref \1</td></tr>"
ALIASES                += endcoversreqs="</table></dd></dl>"

I get the following error:

! TeX capacity exceeded, sorry [input stack size=5000]. { l.468 \end{longtabu} ! ==> Fatal error occurred, no output PDF file produced! Transcript written on refman.log. Makefile:6: recipe for target 'refman.pdf' failed make: *** [refman.pdf] Error 1 cp: cannot stat 'latex/refman.pdf': No such file or directory

Before that the doxyfile ALIAS was empty:

# alias to insert a newline as if a physical newline was in the original file.

ALIASES =

and everything worked fine.

What is the problem with the ALIASES? Is it a syntax problem? Did anyone has similar thing?

Notice

The weird thing is, when I added this ALIASES to other project it worked just fine, the only difference between them that I can think of is that the fail one contain template classes with EXTENSION_MAPPING in the doxyfile:

EXTENSION_MAPPING      = tpp=C++

and tpp FILE_PATTERNS in the doxyfile:

FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cxx \
                         *.cpp \
                         *.c++ \
                         *.tpp \
                         ...

But I can't see any relation to this.

lior.i
  • 101
  • Which version of doxygen are you using? Can you post a minimal example that shows the problem. – albert Feb 11 '21 at 10:02
  • @albert, I'm using Doxygen version 1.8.13, I'm not sure what example to post? as I wrote, the problem is that I get the Error ! TeX capacity exceeded, sorry [input stack size=5000] after I added the ALIASES. Please tell me what else do I need to add to the question. – lior.i Feb 11 '21 at 10:07
  • Doxygen 1.8.13 is a bit old (December, 2016), the current version is 1.9.1 please try the later version and report back. – albert Feb 11 '21 at 10:10
  • @albert, I try to update the doxygen in my ubuntu machine and I get the following message" doxygen is already the newest version (1.8.13-10). – lior.i Feb 11 '21 at 10:26
  • Well ubuntu is lagging slightly so you have to build it yourself (get the souces and build). – albert Feb 11 '21 at 10:27
  • I had a quick look at the ALIASES e.g. req{1}="<tr><td class="paramname">\ref \1</td></tr>" and it looks like they are not 100% correct, you are using double quotes (") inside a string, so the inner double quotes should be escaped. I would change it into:"req{1}=<tr><td class=\"paramname\">\ref \1</td></tr>" and see what happens (even with 1.8.13). This recommendation is valid even when the LaTeX problem is not guaranteed to come from this problem. – albert Feb 11 '21 at 10:31
  • Thanks @albert, but unfortunately that didn't solve this. – lior.i Feb 11 '21 at 12:54
  • The code you are trying to document is this public domain or propriety code? In the first instance where to get the source code. In the second case the only solution is to create a small example that exhibits the problem and can be used to reproduce the problem. – albert Feb 11 '21 at 13:37

0 Answers0