LuaLaTex 以可变速度制作投影仪幻灯片

LuaLaTex 以可变速度制作投影仪幻灯片

为什么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 页面。

因此,编译速度与幻灯片的数量有关,因为每张幻灯片都是从头开始处理为独立的正版幻灯片。

相关内容