3

自 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 将其翻译成可能实际上在源文本中的内容。

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

refman.log 中没有任何明显的迹象表明 LaTeX 包丢失或损坏,我完全不知道是什么原因造成的。

4

2 回答 2

2

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

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

\usepackage{longtable}

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

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

EXTRA_PACKAGES=longtable
于 2014-08-05T20:46:15.877 回答
2

因为当您搜索时这仍然会在 Google 上受到打击: doxygen missing $ inserted 我想添加一些内容。

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

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

于 2015-11-23T16:01:05.220 回答