【发布时间】:2012-05-01 15:20:18
【问题描述】:
我有一本使用 LaTeX 的\documentclass{report} 的“项目手册”(“报告”就像\documentclass{book} 的更紧凑版本)。我想在本书中包含一个附录,其中包含 Doxygen 为项目中的软件生成的 API 文档。
我通过将 Doxygen 的配置选项 LATEX_HEADER 和 LATEX_FOOTER 设置为一个空文件来实现这一点。这使得生成的 latex/refman.tex 具有顶级命令,如:\section{\-Namespace \-Index},此时我可以用顶级文档包装它:
\documentclass{report}
\usepackage{doxygen.sty}
% the "import" package helps to find Doxygen files in the latex/ subdirectory
\usepackage{import}
% [...] title page and the rest of the book
\appendix
\chapter{API reference (generated by Doxygen)
subimport{latex/}{refman.tex}
% [...] final stuff
\end{document}
这工作得相当好,我通过这个特殊的 doxygen 调用得到doxygen.sty:
doxygen -w latex /dev/null /dev/null doxygen.sty
一个问题是这会在整个文档上放置一个“自动生成”的标题(不仅仅是在 doxygen 附录上)。我可以通过编辑doxygen.sty(实际上我也将其重命名以包含在内)并注释掉以% Setup fancy headings开头的块来摆脱这个问题。
在这一点上我有一些可以接受的东西,但我想更进一步:“doxygen”样式修改了 LaTeX 文档样式的许多其他方面,我不太喜欢它。
所以我的问题是(在两个卓越级别):
在 doxygen.sty 文件中放入的 LaTeX 命令的最小集合是什么,可以很好地呈现 doxygen 附录,但不会干扰 LaTeX 文档的其余部分?
-
更好的是,有人想出一种方法
\usepackage{doxygen_standalone} % [... until you need doxygen] \begin{doxygen} % the stuff you need to insert your auto-generated doxygen API docs, % for example the \subimport{latex/}{refman.tex} that I showed above \end{doxygen}
最后一种方法是我认为非常干净的方法。
我希望有一个非常简单的答案,例如“这已经作为一个选项存在于 doxygen.sty 中,而你错过了它!”
【问题讨论】:
-
我也有同样的问题。任何人都可以发表评论吗?另请参阅我发给SO here 的帖子。
-
我已经使用 pdfpages 包包含了 Doxygen 乳胶生成的 PDF。
-
它并没有真正接近正确的答案,但一种方法可能是查明您想要恢复的命令并使用 \renewcommand 或 \forgetcommand 删除它们。我想你也可以使用 \includeonly 来选择性地获得你想要的东西而不需要命令。