使用 Doxygen 生成 LaTeX 和 PDF 时,我遇到了一个奇怪的“未定义制表符位置”错误。我能够缩小产生此错误的块的范围。我无法发布整个 LaTeX 代码,但我可以尝试实验来缩小错误范围。这是有问题的代码(以及环境的第一次出现tabbing
):
\begin{DoxyCompactItemize}
\item \mbox{\Hypertarget{union__something__t_a042e33d2990a01b2561e0d44f98f2316}\label{union__something__t_a042e33d2990a01b2561e0d44f98f2316}}
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\}; \\
\end{tabbing}
\end{DoxyCompactItemize}
错误是:
! LaTeX Error: Undefined tab position.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.18 \begin{tabbing}
?
\hrulefill
当我简单地在标签前放置一个时,错误就消失了DoxyCompactItemize
- 即以下内容正常工作而没有错误。
\hrulefill % <-- this fixes the problem!
\begin{DoxyCompactItemize}
% ... same stuff as before ... %
\end{DoxyCompactItemize}
其余代码中还有几个这样的DoxyCompactItemize
内容,似乎编译起来也没有问题。因此,似乎 \hrulefill 正在重置某些内容,以便其余制表符环境可以正常工作。
DoxyCompactItemize
这是文件中的定义doxygen.sty
:
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
我在学校时使用过 LaTeX,但我并不是这方面的专家。如果您能根据我上面发布的内容和我尝试过的实验提出任何调试建议,我将不胜感激。我也愿意尝试其他实验。
我很好奇为什么添加会把\hrulefill
问题掩盖起来?我查看了输出,它看起来也很好(除了不必要的水平线)。
感谢您的帮助和建议。谢谢。