如何创建一个最小工作示例,编译时间大约为 5 秒(或多或少)

如何创建一个最小工作示例,编译时间大约为 5 秒(或多或少)

我正在尝试进行一些测试,以向中的latex-mode(不是AucTex)添加一些功能Emacs。我需要一个需要相对较长时间(大约 5 秒)进行编译的 MWE,因为我需要测试某些功能是否在编译结束时实际触发(在生成 PDF 或 DVI 文件时,我需要代码来同时使用命令和latexpdflatex。我如何修改以下 MWE 以实现大约(大约)5 秒的编译时间?“

\documentclass[11pt]{article}
\begin{document}

Text

\end{document}

答案1

我认为可能有一些定义类似waitsleep...的命令的包,但这对我的目的来说已经足够了(@Werner,谢谢!):

\documentclass[11pt]{article}
\usepackage{lipsum}

\newcommand{\recursiveCall}[2]{%
    \ifnum#1>0
        #2% Calling the macro
        \recursiveCall{\numexpr#1-1}{#2}% Recursive call with the count decremented by 1
    \fi
}

\begin{document}
\recursiveCall{1000}{\lipsum}

\end{document}

答案2

使用 LuaLaTeX 运行以下命令。调整周期以满足您的要求。此示例很有启发性,特别是如果您生成 pdf。您还将发现瓶颈在哪里。最后的 pdf 生成和 synctex 是瓶颈。确保打印页码时不会溢出 TeX 的寄存器。如果您几个月前搜索该网站,我发布了一个 Lua 计时器函数。您也可以使用它来运行它 5 秒钟,而不生成任何 pdf。但我认为实际打印一些东西更有趣。在某处添加一个 everypar 来测试 l3 钩子 :)。

\documentclass{article}
\begin{document}
\pagestyle{empty}
\directlua{
function wait(cycles)
for i=1,cycles do
  local x=i+1
  tex.print(1, x, " \\par")
end  
end
}
\directlua{wait(1000000)}
\newpage
\thispagestyle{plain}
test
\thepage
\end{document}

相关内容