You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Doxygen生成的make.bat无法从LaTeX生成PDF的问题

Doxygen生成LaTeX转PDF问题排查信息

环境配置

  • 操作系统:Windows
  • 已安装软件:
    • Doxygen 1.9.7
    • MiKTeX 23.4
    • Graphviz 8.0.5

执行的PowerShell脚本

doxygen $configurationFile
$latextOutputDirectory = [System.IO.Path]::Combine($exportDirectory, "latex")
cd $latextOutputDirectory 
Invoke-Expression -Command ".\make.bat"

Doxygen生成的make.bat内容

pushd %~dp0
if not %errorlevel% == 0 goto :end

set ORG_LATEX_CMD=%LATEX_CMD%
set ORG_MKIDX_CMD=%MKIDX_CMD%
set ORG_BIBTEX_CMD=%BIBTEX_CMD%
set ORG_LATEX_COUNT=%LATEX_COUNT%
set ORG_MANUAL_FILE=%MANUAL_FILE%
if "X"%LATEX_CMD% == "X" set LATEX_CMD=pdflatex
if "X"%MKIDX_CMD% == "X" set MKIDX_CMD=makeindex
if "X"%BIBTEX_CMD% == "X" set BIBTEX_CMD=bibtex
if "X"%LATEX_COUNT% == "X" set LATEX_COUNT=8
if "X"%MANUAL_FILE% == "X" set MANUAL_FILE=refman

del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl %MANUAL_FILE%.pdf


%LATEX_CMD% %MANUAL_FILE%
echo ----
%MKIDX_CMD% %MANUAL_FILE%.idx
echo ----
%LATEX_CMD% %MANUAL_FILE%

setlocal enabledelayedexpansion
set count=%LATEX_COUNT%
:repeat
set content=X
for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" %MANUAL_FILE%.log' ) do set content="%%~T"
if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" %MANUAL_FILE%.log' ) do set content="%%~T"
if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get bibliographical references right" %MANUAL_FILE%.log' ) do set content="%%~T"
if !content! == X goto :skip
set /a count-=1
if !count! EQU 0 goto :skip

echo ----
%LATEX_CMD% %MANUAL_FILE%
goto :repeat
:skip
endlocal
%MKIDX_CMD% %MANUAL_FILE%.idx
%LATEX_CMD% %MANUAL_FILE%

@REM reset environment
popd
set LATEX_CMD=%ORG_LATEX_CMD%
set ORG_LATEX_CMD=
set MKIDX_CMD=%ORG_MKIDX_CMD%
set ORG_MKIDX_CMD=
set BIBTEX_CMD=%ORG_BIBTEX_CMD%
set ORG_BIBTEX_CMD=
set MANUAL_FILE=%ORG_MANUAL_FILE%
set ORG_MANUAL_FILE=
set LATEX_COUNT=%ORG_LATEX_COUNT%
set ORG_LATEX_COUNT=

:end

PowerShell执行输出(关键部分)

C:\src\project\docs\export\code\latex1>pdflatex refman
...
No file refman.aux.
...
No file refman.toc.
...
LaTeX Warning: Reference `namespace_x' on page 1 undefined on input line 3.
LaTeX Warning: Reference `namespace_x_1_1_y' on page 1 undefined on input line 4.
LaTeX Warning: Reference `namespace_x_1_1_y_1_1_l_d_a' on page 1 undefined on input line 5.

出现的错误及警告

  • 找不到文件refman.aux
  • 找不到文件refman.toc
  • LaTeX警告:第1页的namespace_x等引用未定义

内容的提问来源于stack exchange,提问作者Iris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:30:38