如何诊断Doxygen 1.8.x生成的LaTeX中的错误:LT @ LL @ FM @ cr

问题描述 投票:3回答:2

自v1.6以来,我一直在使用Doxygen为大型Fortran 90项目生成PDF文档。在最近升级到Doxygen 1.8之后,pdflatex因为我无法理解的错误而窒息。来自refman.log:

.
.
.
<use classfate__source_a022bf629bdc1d3059ebd5fb86d13b4f4_icgraph.pdf>
Package pdftex.def Info: classfate__source_a022bf629bdc1d3059ebd5fb86d13b4f4_ic
graph.pdf used on input line 607.
(pdftex.def)             Requested size: 350.0pt x 65.42921pt.
)
(./classm__aerosol.tex
! Undefined control sequence.
<recently read> \LT@LL@FM@cr 

l.25 ...1833ffa6f2fae54ededb}{ia\-\_\-nsize}), \\*

? ?
Type <return> to proceed, S to scroll future error messages,
R to run without stopping, Q to run quietly,
I to insert something, E to edit your file,
1 or ... or 9 to ignore the next 1 to 9 tokens of input,
H for help, X to quit.

查看classm__aerosol.tex的前25行,没有明显匹配错误消息:

\hypertarget{classm__aerosol}{\section{m\-\_\-aerosol Module Reference}
\label{classm__aerosol}\index{m\-\_\-aerosol@{m\-\_\-aerosol}}
}


Contains general aerosol-\/related constants and routines.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \hyperlink{classm__aerosol_aa06c1f39c6bd34f22be92d21535f0320}{aerdis} (I\-A\-E\-R\-O, M\-A\-E\-R\-O, V\-O\-L, A\-R\-E\-A, M\-U, T\-G\-A\-S, R\-H\-O, A\-G\-A\-M\-M\-A, X\-L\-A\-E\-R, D\-M\-E\-A\-N, N\-A\-E\-R, X\-N\-D\-A\-E\-R, L\-S\-D\-A\-E\-R)
\begin{DoxyCompactList}\small\item\em Return aerosol mass given a volume, based on aerosol size distribution function. \end{DoxyCompactList}\item 
real(kind=wp) function \hyperlink{classm__aerosol_a2dff4ff413057e8788fba7270a30c093}{lamsed} (V\-O\-L, H, M\-U\-G, R\-H\-O\-A\-E\-R, A\-G\-A\-M\-M\-A, A\-C\-H\-I, A\-F\-E\-O, K\-O, M\-A\-E\-R, F\-M\-A\-E\-R, F\-A\-E\-R\-S\-S, F\-S\-E\-D\-D\-K)
\begin{DoxyCompactList}\small\item\em Calculate aerosol removal constant and interpolation factor between steady-\/state and decaying aerosol correlations. \end{DoxyCompactList}\item 
pure real(kind=wp) function \hyperlink{classm__aerosol_a6d0a04004f49c404c67e0aa69dd39ee1}{fdbend} (V\-E\-L, H\-S\-E\-D, T\-G, R\-H\-O\-G, M\-U\-G, R\-H\-O\-P\-A\-R, C\-A\-E\-R\-O, X\-D\-B\-E\-N\-D, N90\-J)
\begin{DoxyCompactList}\small\item\em Find total impaction efficiency for aerosol deposition considering 90-\/degree bends in a flow path. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
integer, parameter \hyperlink{classm__aerosol_a8f604b7ffe3c1833ffa6f2fae54ededb}{ia\-\_\-nsize} = 30
\item 
integer, parameter \hyperlink{classm__aerosol_ae71813ecf0c7768af9d6292efb14774f}{ia\-\_\-nmass} = 10
\item 
real(kind=wp), dimension(\hyperlink{classm__aerosol_a8f604b7ffe3c1833ffa6f2fae54ededb}{ia\-\_\-nsize}), \\*

没有任何东西显然与最近阅读的块“\ LT @LL @ FM @ cr”相匹配,我不知道足够的低级TeX将其翻译成可能实际存在于源文本中的内容。

怀疑这可能已经在Doxygen的后期版本中修复,而不是Linux Mint(v1.8.1.2)中的版本,我从源代码构建并安装了v1.8.3.1,更新了我的doxyfile,删除了旧文档并重新生成它。我得到了同样令人困惑的错误。

在refman.log中没有任何明显的迹象表明LaTeX包丢失或损坏,我完全不知道是什么导致了这一点。

latex doxygen pdflatex
2个回答
2
投票

因为当你搜索时,这仍然会受到谷歌的影响:doxygen missing $ inserted我想补充一些东西。

不要使用包含下划线的PROJECT_NAME(_)!

在简要介绍了doxygen的当前文档(我使用的是1.8.4)后,它没有明确说明。


2
投票

除非你提供更多信息,否则这将很难解决 - 可能使用\errorcontextlines=9999,如问题评论中所建议的那样。

作为第一个简短但是,无法找到的控制序列的名称(即\LT@LL@FM@cr)是由longtable packagedocumentation,第15页)定义的名称 - 因此添加:

\usepackage{longtable}

该文件的序言可能会有所帮助。

如果是这样,根据doxygen文档here,将以下内容添加到配置文件中应该可以解决问题:

EXTRA_PACKAGES=longtable
© www.soinside.com 2019 - 2024. All rights reserved.