Ich möchte das Paket verwenden, ocgx
um ein PDF mit einem Button zu erstellen, der beim Anklicken seine Farbe von rot über grün zu unsichtbar zu rot (und so weiter) ändert. Ich habe Folgendes versucht:
\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}
Dies ermöglicht jedoch nur den Wechsel von Rot auf Grün und wieder zurück auf Rot. Wie kann ich einen Button mit drei Zuständen erhalten?
Antwort1
Dies geschieht bequem mit democgx2
Paket, das bietetOptionsfeldgruppen( ocg
Umgebungsoption radiobtngrp=<name>
). Von allen OCGs (PDF-Ebenen), die zur selben Optionsfeldgruppe gehören, kann immer nur eine aktiviert werden, wodurch die zuvor aktivierte OCG automatisch ausgeblendet wird. Dies ermöglicht das Erstellen anklickbarer Schaltflächen mit zyklischer Abhängigkeit beliebiger Zykluslänge.
Das folgende Beispiel verkettet die Zustände Rot, Grün, Blau und Keine Farbe.
\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}
(Es kann erforderlich sein, das *.aux
erste zu löschen, wenn das ocgx
Paket zuvor verwendet wurde.)
Derselbe Effekt könnte auch ohne eine Optionsfeldgruppe erreicht werden, indem man den \actionsocg{}{}{}{}
Befehl anstelle des einfacheren verwendet \showocg{}{}
, wie im Originalbeitrag. Aber auch hier ist das ocgx2
Paket erforderlich, das sicherstellt, dass die auf den verschiedenen Ebenen befindlichen Schaltlinks entsprechend der Sichtbarkeit der OCG, mit der sie verknüpft sind, korrekt aktiviert/deaktiviert werden:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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}