我正在使用 ocg 包在 pdf 演示文稿中创建可点击的图层。这些项目在演示文稿开始时是不可见的。当我使用该选项从幻灯片中创建讲义时,是否有命令或方法可以显示它们handout
?我尝试了这些选项printocg=always
,exportocg=always
但它们不起作用。
梅威瑟:
\documentclass[ngerman, handout]{beamer}
\usepackage{pgfpages}
\usepackage{ocgx}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
\begin{document}
\begin{frame}{A}
\begin{block}{A}
\begin{itemize}
\item \begin{ocg}[printocg=always]{ABul01}{Aocg01}{0}\actionsocg{Aocg01}{}{}{A}\end{ocg}
\item \begin{ocg}[exportocg=always]{ABul02}{Aocg02}{0}\actionsocg{Aocg02}{}{}{B}\end{ocg}
\item \begin{ocg}{ABul03}{Aocg03}{1}\actionsocg{Aocg03}{}{}{C}\end{ocg}
\end{itemize}
\end{block}
\end{frame}
\end{document}
这里所有项目都应该可见,而不仅仅是第三个。
答案1
一个简单的解决方案,需要修改 ocg 声明,即根据您是否处于handout
模式来设置可见性变量(另请参阅根据投影仪是否处于分发模式来定义命令)。在下面的例子中,如果处于讲义模式,则可见性设置为 1,而如果处于正常模式,则设置为提供的值。
梅威瑟:
\documentclass[handout]{beamer}
\mode<beamer>{\newcommand\vis[1]{#1}}
\mode<handout>{\newcommand\vis[1]{1}}
\usepackage{ocgx}
\begin{document}
\begin{frame}{A}
\begin{block}{A}
Check for handout mode: \vis{0} % this line may be deleted
\begin{itemize}
\item \begin{ocg}{ABul01}{Aocg01}{\vis{0}}\actionsocg{Aocg01}{}{}{A}\end{ocg}
\item \begin{ocg}{ABul02}{Aocg02}{\vis{0}}\actionsocg{Aocg02}{}{}{B}\end{ocg}
\item \begin{ocg}{ABul03}{Aocg03}{\vis{1}}\actionsocg{Aocg03}{}{}{C}\end{ocg}
\end{itemize}
\end{block}
\end{frame}
\end{document}
两次运行的结果,一次有讲义,一次没有,打开文件后出现(即,不单击项目):
请注意,您可能需要多次运行 LaTeX 并重新启动 pdf 阅读器才能看到更改(无论是否使用讲义模式)。遇到一些麻烦时,您可能能够修补环境ocg
以自动将\vis
命令应用于第三个参数。