我用 Beamer 写了一个透明胶片,里面有一个定时itemize list
(覆盖)和一个OCG layer
。当鼠标不在名为“圆圈”的 OCG 链接上方时,它具有以下形式:
当鼠标位于名为“圆圈”的 OCG 链接上方时,它具有以下形状:
问题是,两种情况下鼠标的形状非常接近,颜色也完全相同,以至于我在课堂上经常会混淆它们。当鼠标位于“圆圈”链接上方时,我没有单击鼠标,而是单击其旁边。这会使隐藏的文本过早地显示在项目符号列表中。有没有办法将鼠标的颜色设置为它飞过的链接的颜色?如果没有,就保留它的经典外观?
代码如下:
\documentclass[hyperref={pdfpagemode=FullScreen},aspectratio=169]{beamer}
\usepackage[tikz]{ocgx2}
\usetheme{Madrid}
\begin{document}
\begin{frame}
\begin{columns}
\column{0.3\textwidth}
Bla bla bla\dots
\begin{itemize}[<+->]
\item visible text
\item first hidden text
\item second hidden text
\end{itemize}
\switchocg{cercle}{\textcolor{blue}{circle}}
\column{0.7\textwidth}
\begin{tikzpicture}[ocg={name=cercle,ref=cercle,status=invisible}]
\draw[red,very thick] (0,0) circle (2cm);
\end{tikzpicture}
\end{columns}
\end{frame}
\end{document}
答案1
自定义鼠标指针似乎是不可能的,即使使用 JavaScript。
为了获得当前鼠标位置的更强的视觉反馈,颜色变化可以实现链接文本(“圆圈”),该事件发生在鼠标悬停和鼠标移开事件上。
为此,示例使用命令<trigger>
的可选参数\switchocg
,设置为onmouseall
。它允许配置所有可能的鼠标事件。虽然不是依赖于 JavaScript,它仅在 Acrobat Reader(和其他非免费的 PDF 查看器)中起作用。
\documentclass[hyperref={pdfpagemode=FullScreen},aspectratio=169]{beamer}
\usepackage[tikz]{ocgx2}
\usetheme{Madrid}
\begin{document}
\begin{frame}
\begin{columns}
\column{0.3\textwidth}
Bla bla bla\dots
\begin{itemize}[<+->]
\item visible text
\item first hidden text
\item second hidden text
\end{itemize}
%the PDF-layer switching link to be highlighted on mouse-over
\makebox[0pt][l]{\switchocg[onmouseall]{
circle-orange, % onmousenter: toggle link colour
circle-orange, % onmouseexit: toggle link colour
, % onmousedown: -
cercle % onmouseup: toggle visibility of layer with red circle
}{\textcolor{blue}{circle}}}%
\begin{ocg}{circle-orange}{circle-orange}{off}\textcolor{orange}{circle}\end{ocg}
% PDF layer with TikZ graphic
\column{0.7\textwidth}
\begin{tikzpicture}[ocg={name=cercle,ref=cercle,status=invisible}]
\draw[red,very thick] (0,0) circle (2cm);
\end{tikzpicture}
\end{columns}
\end{frame}
\end{document}