为了制作讲义,我在 A4 纸上画了一些多边形,以横向模式排列。为了创建与这些文档相关的带有投影仪的交互式幻灯片,我必须缩小尺寸,scale=.25
以便所有图形都出现在幻灯片上。为了简化演示,多边形已被矩形取代。
讲义代码:
\documentclass[10pt,landscape,a4paper]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=.5]
\draw[thick](0,4)rectangle(21,10);
\draw[thick](24,-10)rectangle(39,-3);
\draw[thick](24,0)rectangle(34,10);% carré
\end{tikzpicture}
\end{document}
投影机代码
\documentclass[aspectratio=1610,10pt]{beamer} % Présentation générale et mise en page
\usepackage[tikz]{ocgx2}
\begin{document}
\begin{frame}{test ocgx2}
\begin{tikzpicture}[scale=.25]
\draw[switch ocg=Un,thick](0,4)rectangle(21,10);
\begin{scope}[ocg={name=Un,ref=Un,status=invisible},every path/.style={blue,line width=.8pt}]
\draw[fill=green!30](0,4)rectangle(21,10);
\end{scope}
\draw[switch ocg=Deux,thick](24,-10)rectangle(39,-3);
\begin{scope}[ocg={name=Deux,ref=Deux,status=invisible},every path/.style={blue,line width=.8pt}]
\draw[fill=green!30](24,-10)rectangle(39,-3);
\end{scope}
\draw[thick,switch ocg=Trois](24,0)rectangle(34,10);% squarre
\begin{scope}[ocg={name=Trois,ref=Trois,status=invisible},every path/.style={blue,line width=.5pt}]
\draw[fill=green!30](24,0)rectangle(34,10);% carré
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}
编辑:每个矩形都是可交互的。单击它时,它会交替显示绿色或白色(操作\switchocg
)。缩放时,交互区域与其他矩形重叠并变为非活动状态。例如,单击下方矩形时,上方矩形链接将被激活。
是否可以使用ocgx
或者ocgx2
缩放?
使用 www.DeepL.com/Translator 翻译
答案1
ocgx
这是和包当前版本中的一个错误ocgx2
。
一个新的↗ocgx2
版本(0.35 2018/06/26)正在向 CTAN 发送。在此期间,修复文件ocgx2.sty
可以下载↗这里。
背景:
通过将链接制作命令(\switchocg...
)作为 TikZ- 叠加到当前路径的边界框上,可将 TikZ 路径转换为可点击的 PDF 层切换链接postaction
。命令\switchocg...
需要适当大小的文本框作为其第二个参数,以便创建鼠标敏感矩形。最初,使用了\rule
放置在 中的 ,\phantom
其宽度和高度是根据边界框左下角和右上角坐标计算的。结果保存在\p3
(请参阅下面的差异)。但是,如果在的对象\p3
中使用,似乎不受缩放的影响。相反,我们从和创建坐标和,并在嵌套的 中直接使用它们:node
path picture
(p1)
(p2)
\p1
\p2
tikzpicture
\tikz \useasboundingbox (p1) rectangle (p2);
修复版本和旧版本之间的差异摘录ocgx2.sty
:
switch ocg/.style={
postaction={
path picture={
\path let
\p1 = (path picture bounding box.south west),
- \p2 = (path picture bounding box.north east),
- \p3 = (\x2-\x1,\y2-\y1)
+ \p2 = (path picture bounding box.north east)
in
- (path picture bounding box.center)
- node[inner sep=0pt,anchor=center,outer sep=0pt]
- {\switchocg*{#1}{\phantom{\rule{\x3}{\y3}}}};
+ coordinate (p1) at (\p1) coordinate (p2) at (\p2)
+ node[inner sep=0pt,anchor=south west,outer sep=0pt] at (p1)
+ {\switchocg*{#1}{\tikz \useasboundingbox (p1) rectangle (p2);}};
}
}
},
答案2
我必须承认,ocgx(2)
在看这个问题之前我甚至没有听说过这些软件包。所以我无法真正解释原因,但似乎用 替换就\begin{tikzpicture}[scale=.25]
可以\begin{tikzpicture}[x={(0.25,0)},y={(0,0.25)}]
了。(当然,我明白这些选项有何不同,这就是我尝试这样做的原因,但同样,我不知道软件包的详细信息,ocgx(2)
无法判断如果使用 会出现什么问题scale
。)
因此,完整的 MWE 变为:
\documentclass[aspectratio=1610,10pt]{beamer} % Présentation générale et mise en page
\usepackage[tikz]{ocgx2}
\begin{document}
\begin{frame}{test ocgx2}
\begin{tikzpicture}[x={(0.25,0)},y={(0,0.25)}]
\draw[switch ocg=Un,thick](0,4)rectangle(21,10);
\begin{scope}[ocg={name=Un,ref=Un,status=invisible},every path/.style={blue,line width=.8pt}]
\draw[fill=green!30](0,4)rectangle(21,10);
\end{scope}
\draw[switch ocg=Deux,thick](24,-10)rectangle(39,-3);
\begin{scope}[ocg={name=Deux,ref=Deux,status=invisible},every path/.style={blue,line width=.8pt}]
\draw[fill=green!30](24,-10)rectangle(39,-3);
\end{scope}
\draw[thick,switch ocg=Trois](24,0)rectangle(34,10);% squarre
\begin{scope}[ocg={name=Trois,ref=Trois,status=invisible},every path/.style={blue,line width=.5pt}]
\draw[fill=green!30](24,0)rectangle(34,10);% carré
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}