如何从 Doxygen 获取单个 PDF 文档?

How to get a single PDF document from Doxygen?

提问人:Pietro 提问时间:11/5/2010 更新时间:11/15/2023 访问量:103364

问:

当我以 PDF 格式生成 Doxygen 文档时,我会得到很多不同的文件,每个文件都有一个图表。
是否有可能获得单个PDF文档,大致作为HTML版本组织成一本书?
是否可以自动获取它,即无需手动处理乳胶文件?

谢谢!

PDF 生成 DOXYGEN 文档生成 PDFLeTeX

评论


答:

48赞 synthesizerpatel 7/31/2011 #1

请参阅将 LaTeX 文档转换为 PDF 文档

当Doxygen完成处理后,在latex目录中有一个名为“refman.tex”的文件。

有三种方法可以使用该文件从 Doxygen 中获取“一本书”:

  • LaTeX -> dvips -> ps2pdf

    乳胶 MyFile

    DVIPS 我的文件

    PS2PDF myfile.ps

  • LaTeX -> dvipdfm

    乳胶 MyFile

    dvipdfm 我的文件

  • pdflatex(或普通 TeX 的 pdftex)

    PDFlatex 我的文件

14赞 Matt 12/21/2012 #2

Patel 是对的 - 您需要运行 Doxygen,然后运行 Latex 来创建单个文档。

对我来说,使用 Doxygen 1.7.3,latex 构建的根文件似乎是“refman.tex”。

Doxygen 也创建了一个 Makefile,所以如果你有 make(我没有在我的 Win7 盒子上),你可以输入 latex 目录。make

我将我的 TeXnicCenter 应用程序指向 refman.tex,然后以这种方式构建。

希望这会有所帮助,

-马 特

评论

0赞 albert 3/17/2020
Doxygen 在 Windows 系统上也有一个 make.bat,而 theer 是一个 Makefile(用于 *nix make)
22赞 Denise Skidmore 1/24/2014 #3

使用 Doxygen 1.8.4+(在 Windows 上),还有一个 make.bat 脚本,因此您甚至不需要打开命令行。

  1. 为 LaTeX 输出配置 Doxygen。

    GENERATE_LATEX = YES LATEX_OUTPUT = latex OUTPUT_DIRECTORY =

  2. 为 LaTeX 输出设置所有图像。

    \image html application.jpg \image latex application.eps "My application" width=10cm

  3. 运行 Doxygen。

  4. {OUTPUT_DIRECTORY}\{LATEX_OUTPUT}\make.bat.
  5. 打开。{OUTPUT_DIRECTORY}\{LATEX_OUTPUT}\refman.pdf

如果未创建 refman.pdf,请从命令窗口运行 make.bat 并读取错误。

错误如下: ... 意味着您根本不具备运行 latex 的先决条件。其他错误可能是由于缺少乳胶包或 doxygen 错误导致无效的 .tex 文件。'pdflatex' is not recognized as an internal or external command,

一旦你安装了所有的先决条件,并且有一个好的doxygen版本,更简单的过程应该每次都能工作。

评论

1赞 Étienne 7/31/2014
make.bat 由 Windows 版本生成,在 Linux 上生成的文件称为 Makefile。
0赞 Denise Skidmore 7/31/2014
你必须通过它才能制作,还是一个脚本?
0赞 Étienne 7/31/2014
它由 make 执行
4赞 nvd 9/24/2014
在 Linux 上,在“latex”目录中键入“make”。生成的文档是“refman.pdf”。
0赞 elgnoh 4/29/2015
就我而言,通过\image指定的所有图像都丢失了。我错过了什么吗?
6赞 kakyo 4/5/2014 #4

其他人没有提到细节:

要使 pdflatex 路由正常工作,您当前的工作目录必须是生成的 latex 文件夹,否则会出现类似 .doxygen.sty cannot be found

24赞 Owl 2/18/2015 #5

假设 doxygen 配置正确,在 Linux 下:

doxygen
cd latex
make

生成的文件将是 refman.pdf,除非另有配置。

1赞 Roargh 3/17/2020 #6

我还要补充一个建议。不要忽视乳胶警告。PDFLATEX 可能无法生成输出文件以及任何有意义的错误。

我遇到了类似的烦人情况,只需修复所有警告就有助于生成正确的输出文件,而不会出现任何进一步的问题。

0赞 Dr Neo 11/15/2023 #7

使用 Make 生成 PDF

我按照上述步骤操作,并在使用以下步骤生成 PDF 时成功避免了错误消息:

  1. 运行后,我导航到此命令创建的目录。Doxygen./latex
  2. 目录内有一个,我给 加了标志,如下图:Makefilelatex-interaction=nonstopmodeLATEX_CMD
LATEX_CMD?=pdflatex -interaction=nonstopmode
MKIDX_CMD?=makeindex
BIBTEX_CMD?=bibtex
LATEX_COUNT?=8
MANUAL_FILE?=refman
.....etc
  1. 最后,我在 latex 目录中运行 make,该目录现在接受不间断模式标志。
# Inside the latex directory
make 

编辑来自 @albert 的评论:

有一种更简单的方法,因为 doxygen 具有设置(从 doxygen 版本 1.9.7 开始),这可以作为其可能性之一:它还在 latex 文档中使用 but(并由 doxygen 在 refman.tex 中设置,因此您不必在 或LATEX_BATCHMODENON_STOPnonstopmodeMakefilemake.bat

评论

2赞 albert 11/15/2023
有一种更简单的方法,因为 doxygen 具有设置(从 doxygen 版本 1.9.7 开始),这可以作为其可能性之一:它还在 latex 文档中使用 but(并由 doxygen 在 refman.tex 中设置,因此您不必在 或LATEX_BATCHMODENON_STOPnonstopmodeMakefilemake.bat)
1赞 Dr Neo 11/15/2023
哦,哇,我很高兴得到你的答案,我花了无用的薄荷糖只是为了编写一个 sed 命令来写入这个 Makefile 并附加 --interaction=nonstopmode 的标志。非常感谢你的分享,
1赞 albert 11/15/2023
一定是pdflatex处理选项与LaTeX文件中设置的方式存在某种问题。这是持久的吗,如果是这样,您可以在 tex.stackexchange.com 发布问题
1赞 Dr Neo 11/15/2023
@Albert 我为之前的混乱道歉;看来我在设置中犯了一个错误。,我意识到我错误地使用了“YES”而不是“NON_STOP”作为LATEX_BATCHMODE选项。我现在可以确认错误是由于我的误解而造成的。感谢您的支持。