我在我的 doxygen 注释中写了一些 Latex,看起来像这样......
/*!
@note
@latexonly
\documentclass{article}
\usepackage{courier}
\lstset{basicstyle=\footnotesize\ttfamily}
\begin{document}
\fontsize{10pt}{12pt}\selectfont
\newpage
\begin{verbatim}
内容
\end{verbatim}
\end{document}
@endlatexonly
*/
运行“pdflatex”后生成此内容
article courier
basicstyle=
(PageBreak: No text in PDF)
CONTENT
我做错了什么?我只是想将文本设置为等宽字体并逐字输出。
注意:我在 Windows 7 上运行的是 MikTeX 2.9
更新:
我查看了 doxygen 为该类制作的带有此注释的 .tex 文件,发现了这一点。
\begin{DoxyNote}{Note}
//以上所有内容
\end{DoxyNote}
这会造成我看到的奇怪现象吗?
更新 2:
我发现这,
开始一个文本块,该文本块将逐字包含在生成的 LaTeX 文档中。
所以这告诉我 MiKTeX 不喜欢这些标签。当 doxygen 创建 .Tex 文件时,这个位会出现在中间。LaTeX 是否有关于在文档中间定义序言的规则?这是我在 LaTeX 中做的第一件事,所以我对遇到问题并不感到惊讶。
我做了一些测试,当我删除它时\documentclass
,它并没有消除这些文物,但它确实修复了我打开的一些其他\begin{document}
问题\end{document}
另一个问题足够有趣。然后转到这里
答案1
尤里卡!
您在 Doxygen 注释中添加的标签位于 a\begin{document}
或类似内容内。因此序言(我认为这就是所谓的定义\usepackage
)不是有效的语法。
所以发生的情况是,它将\COMMANDS
被吸收,被视为无效,并且论点将以纯文本的形式表达出来。
所以答案是……
/*!
@note
@latexonly
\newpage
\fontsize{10pt}{12pt}\selectfont
\ttfamily
\begin{verbatim}
内容
\end{verbatim}
@endlatexonly
*/
严格来说,所有\ttfamily
保证都是等宽字体,但这就是我想要的。:)