为什么LuaLatex
制作幻灯片的速度取决于幻灯片的数量而不是复杂性(仍然相同)。
\documentclass{beamer}
\usepackage{fontspec,luacode,tikz}
\directlua{dofile("mwe.lua")}
\begin{document}
\begin{frame}
\begin{tikzpicture}
% Produces slide very slowly
%\directlua{Scope(1)}
% Produces slide faste
%\directlua{Scope(5)}
% Produces slide even faster
\directlua{Scope(10)}
\end{tikzpicture}
\end{frame}
\end{document}
和mwe.lua
tp = tex.print
function Scope ( n )
for i = 0 , 360 , n
do
tp("\\visible<+-.(1)>{\\begin{scope}[rotate="..i.."]")
tp("\\fill[blue] (0,0) rectangle (1,1) ;" )
tp("\\end{scope}}")
end
end
答案1
在制作幻灯片时,beamer 总是会寻找在特定幻灯片编号上可见的内容和不可见的内容。
举个例子,如果有三个连续的项目像在项目列表等中一样逐步出现,它会用一个项目构造一个幻灯片(并丢弃它认为不可见的任何内容),然后用两个项目构造一个幻灯片(并丢弃其余内容)并最终获取所有这些项目(如果在此期间其他东西消失,则丢弃它们)。
因此,实际生成的是三个略有不同的副本,这些副本是相同的代码,作为单独的页面。在某种程度上,它会对<-+>
迄今为止看到的最大暂停次数执行 for 循环,并拾取在该特定旋转中标记为可见的内容作为 PDF 页面。
因此,编译速度与幻灯片的数量有关,因为每张幻灯片都是从头开始处理为独立的正版幻灯片。