【问题标题】:Including doxygen's LaTeX output as an appendix to a larger document包括 doxygen 的 LaTeX 输出作为更大文档的附录
【发布时间】:2012-05-01 15:20:18
【问题描述】:

我有一本使用 LaTeX 的\documentclass{report} 的“项目手册”(“报告”就像\documentclass{book} 的更紧凑版本)。我想在本书中包含一个附录,其中包含 Doxygen 为项目中的软件生成的 API 文档。

我通过将 Doxygen 的配置选项 LATEX_HEADERLATEX_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 文档样式的许多其他方面,我不太喜欢它。

所以我的问题是(在两个卓越级别):

  1. 在 doxygen.sty 文件中放入的 LaTeX 命令的最小集合是什么,可以很好地呈现 doxygen 附录,但不会干扰 LaTeX 文档的其余部分?

  2. 更好的是,有人想出一种方法

    \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 来选择性地获得你想要的东西而不需要命令。

标签: latex doxygen


【解决方案1】:

将 doxygen.sty 重命名为 mydoxygen.sty,然后通过插入来修改它 \newenvironment{doxygen}{... doxygen.sty 的大部分内容都在这里...}{}

【讨论】:

  • 您能详细说明一下吗?不知道在新环境下包装后有什么好处,不知道怎么用。
猜你喜欢
  • 2015-07-06
  • 2011-01-21
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多