提问人:Pietro 提问时间:11/5/2010 更新时间:11/15/2023 访问量:103364
如何从 Doxygen 获取单个 PDF 文档?
How to get a single PDF document from Doxygen?
问:
当我以 PDF 格式生成 Doxygen 文档时,我会得到很多不同的文件,每个文件都有一个图表。
是否有可能获得单个PDF文档,大致作为HTML版本组织成一本书?
是否可以自动获取它,即无需手动处理乳胶文件?
谢谢!
答:
当Doxygen完成处理后,在latex目录中有一个名为“refman.tex”的文件。
有三种方法可以使用该文件从 Doxygen 中获取“一本书”:
LaTeX -> dvips -> ps2pdf
乳胶 MyFile
DVIPS 我的文件
PS2PDF myfile.ps
LaTeX -> dvipdfm
乳胶 MyFile
dvipdfm 我的文件
pdflatex(或普通 TeX 的 pdftex)
PDFlatex 我的文件
Patel 是对的 - 您需要运行 Doxygen,然后运行 Latex 来创建单个文档。
对我来说,使用 Doxygen 1.7.3,latex 构建的根文件似乎是“refman.tex”。
Doxygen 也创建了一个 Makefile,所以如果你有 make(我没有在我的 Win7 盒子上),你可以输入 latex 目录。make
我将我的 TeXnicCenter 应用程序指向 refman.tex,然后以这种方式构建。
希望这会有所帮助,
-马 特
评论
使用 Doxygen 1.8.4+(在 Windows 上),还有一个 make.bat 脚本,因此您甚至不需要打开命令行。
为 LaTeX 输出配置 Doxygen。
GENERATE_LATEX = YES LATEX_OUTPUT = latex OUTPUT_DIRECTORY =
为 LaTeX 输出设置所有图像。
\image html application.jpg \image latex application.eps "My application" width=10cm
运行 Doxygen。
- 跑
{OUTPUT_DIRECTORY}\{LATEX_OUTPUT}\make.bat.
- 打开。
{OUTPUT_DIRECTORY}\{LATEX_OUTPUT}\refman.pdf
如果未创建 refman.pdf,请从命令窗口运行 make.bat 并读取错误。
错误如下: ...
意味着您根本不具备运行 latex 的先决条件。其他错误可能是由于缺少乳胶包或 doxygen 错误导致无效的 .tex 文件。'pdflatex' is not recognized as an internal or external command,
一旦你安装了所有的先决条件,并且有一个好的doxygen版本,更简单的过程应该每次都能工作。
评论
其他人没有提到细节:
要使 pdflatex 路由正常工作,您当前的工作目录必须是生成的 latex 文件夹,否则会出现类似 .doxygen.sty cannot be found
假设 doxygen 配置正确,在 Linux 下:
doxygen
cd latex
make
生成的文件将是 refman.pdf,除非另有配置。
我还要补充一个建议。不要忽视乳胶警告。PDFLATEX 可能无法生成输出文件以及任何有意义的错误。
我遇到了类似的烦人情况,只需修复所有警告就有助于生成正确的输出文件,而不会出现任何进一步的问题。
使用 Make 生成 PDF
我按照上述步骤操作,并在使用以下步骤生成 PDF 时成功避免了错误消息:
- 运行后,我导航到此命令创建的目录。
Doxygen
./latex
- 目录内有一个,我给 加了标志,如下图:
Makefile
latex
-interaction=nonstopmode
LATEX_CMD
LATEX_CMD?=pdflatex -interaction=nonstopmode
MKIDX_CMD?=makeindex
BIBTEX_CMD?=bibtex
LATEX_COUNT?=8
MANUAL_FILE?=refman
.....etc
- 最后,我在 latex 目录中运行 make,该目录现在接受不间断模式标志。
# Inside the latex directory
make
编辑来自 @albert 的评论:
有一种更简单的方法,因为 doxygen 具有设置(从 doxygen 版本 1.9.7 开始),这可以作为其可能性之一:它还在 latex 文档中使用 but(并由 doxygen 在 refman.tex 中设置,因此您不必在 或
LATEX_BATCHMODE
NON_STOP
nonstopmode
Makefile
make.bat
评论
LATEX_BATCHMODE
NON_STOP
nonstopmode
Makefile
make.bat
)
评论