我使用 pandoc 和自定义 lua 过滤器来简化我的 beamer 演示文稿的设计。下面是我目前编写的 pandoc Markdown 的示例:
# Frame title
::: incremental
## Block title
- [This is the first item]{target="to-some-where" onslide="<1->"}
- [This is the second item]{target="to-some-where-else" onslide="<2->"}
:::
以及我当前生成的 LaTeX:
\begin{frame}{Frame title}
\begin{block}{Block title}
\begin{itemize}[<+->]
\item \hyperlink<1->{to-some-where}{This is the first item}
\item \hyperlink<2->{to-some-where-else}{This is the second item}
\end{itemize}
\end{block}
\end{frame}
到目前为止,一切都很好,但我不想指定覆盖(onslide="<1->"
),因为这很繁琐、容易出错,并且会使更改变得比应有的更困难,我想参考“当前覆盖编号“。我的 pandoc Markdown 将变成:
# Frame title
::: incremental
## Block title
- [This is the first item]{target="to-some-where"}
- [This is the second item]{target="to-some-where-else"}
:::
我尝试将以下内容添加到我的 pandoc beamer 模板中:
\makeatletter
\newcommand{\overlaynumber}{\beamer@overlaynumber}
\makeatother
并生成:
\item \hyperlink<\overlaynumber{}->{to-some-where-else}{This is the second item}
但超链接在所有幻灯片上都处于活动状态,包括那些文本尚未显示的幻灯片。
当然,我可以使用我的 lua 过滤器以某种方式计算列表项并生成静态覆盖规范,但这有很多缺点(我有时想添加指向列表项以外的其他内容的超链接,一些列表传递了属性noincremental
,我可以在同一张幻灯片中有多个列表,还有其他元素...)
有没有办法用纯 TeX/LaTeX/beamer 命令来实现这一点?
答案1
您可以使用相对叠加:
\documentclass{beamer}
\begin{document}
\begin{frame}{Frame title}
\begin{block}{Block title}
\begin{itemize}[<+->]
\item \hyperlink<.->{to-some-where}{This is the first item}
\item \hyperlink<.->{to-some-where-else}{This is the second item}
\end{itemize}
\end{block}
\end{frame}
\end{document}