Quiero usar el ocgx
paquete para crear un pdf con un botón que cambia su color al hacer clic en él de rojo a verde, de invisible a rojo (y así sucesivamente). Intenté lo siguiente:
\documentclass{beamer}
\usepackage{xcolor}
\usepackage{ocgx}
\begin{document}
\begin{frame}
\begin{ocg}{Bul01r}{ocg01r}{1}\actionsocg{ocg01g ocg01r}{}{}{\textcolor{red}{\textbullet}}\end{ocg} \hspace{-0.32cm}
\begin{ocg}{Bul01g}{ocg01g}{0}\actionsocg{ocg01g}{}{}{\textcolor{green}{\textbullet}}\end{ocg}
\end{frame}
\end{document}
Pero esto sólo permite cambiar de rojo a verde y de nuevo a rojo. ¿Cómo puedo obtener un botón con tres estados?
Respuesta1
Esto se hace convenientemente con elocgx2
paquete que proporcionaGrupos de botones de radio( ocg
opción de entorno radiobtngrp=<name>
). De todos los OCG (capas de PDF) que pertenecen al mismo grupo de botones de opción, solo se puede habilitar uno a la vez, ocultando automáticamente el OCG previamente habilitado. Esto permite crear botones en los que se puede hacer clic con dependencia cíclica de una duración de ciclo arbitraria.
El siguiente ejemplo encadena estados rojo, verde, azul y sin color.
\documentclass{beamer}
\usepackage{xcolor}
\usepackage{ocgx2}
\begin{document}
\begin{frame}
\makebox[0pt][l]{%
\begin{ocg}[radiobtngrp=myBullets]{Bul01r}{ocg01r}{1}\showocg{ocg01g}{\textcolor{red}{\textbullet}}\end{ocg}%
}%
\makebox[0pt][l]{%
\begin{ocg}[radiobtngrp=myBullets]{Bul01g}{ocg01g}{0}\showocg{ocg01b}{\textcolor{green}{\textbullet}}\end{ocg}%
}%
\makebox[0pt][l]{%
\begin{ocg}[radiobtngrp=myBullets]{Bul01b}{ocg01b}{0}\showocg{ocg01x}{\textcolor{blue}{\textbullet}}\end{ocg}%
}%
\begin{ocg}[radiobtngrp=myBullets]{Bul01x}{ocg01x}{0}\showocg{ocg01r}{$\circ$}\end{ocg}%
\end{frame}
\end{document}
(Puede que sea necesario eliminar el *.aux
primero, si el ocgx
paquete se utilizó antes).
El mismo efecto también podría lograrse sin un grupo de botones de opción, usando el \actionsocg{}{}{}{}
comando en lugar del más simple \showocg{}{}
, como en la publicación original. Pero nuevamente, esto requiere el ocgx2
paquete, que garantiza que los enlaces de conmutación que residen en las diferentes capas estén habilitados/deshabilitados correctamente de acuerdo con la visibilidad del OCG al que están asociados:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% version without radio button group, using \actionsocg
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{beamer}
\usepackage{xcolor}
\usepackage{ocgx2}
\begin{document}
\begin{frame}
\makebox[0pt][l]{%
\begin{ocg}{Bul01r}{ocg01r}{1}\actionsocg{}{ocg01g}{ocg01r}{\color{red}\textbullet}\end{ocg}%
}%
\makebox[0pt][l]{%
\begin{ocg}{Bul01g}{ocg01g}{0}\actionsocg{}{ocg01b}{ocg01g}{\color{green}\textbullet}\end{ocg}%
}%
\makebox[0pt][l]{%
\begin{ocg}{Bul01b}{ocg01b}{0}\actionsocg{}{ocg01x}{ocg01b}{\color{blue}\textbullet}\end{ocg}%
}%
\begin{ocg}{Bul01x}{ocg01x}{0}\actionsocg{}{ocg01r}{ocg01x}{$\circ$}\end{ocg}%
\end{frame}
\end{document}