Tikz y OCG: haz que los botones pasen por diferentes capas

Tikz y OCG: haz que los botones pasen por diferentes capas

Me gustaría tener un botón OCG que, cuando se presiona, recorre un conjunto de capas OCG.

Intenté usar botones OCG con autorreferencia, donde cada uno alternaba entre sí (lo intenté con y sin radiobtngrp). El principal problema es que incluso cuando está desactivado, las áreas en las que se puede hacer clic aún persisten, por lo que al hacer clic solo se puede alternar el botón superior. Aquí hay un ejemplo con 2 capas (pero me gustaría tener más si es posible):

\documentclass{article}

\usepackage[tikz]{ocgx2}
\tikzstyle{button}=[minimum width=15mm, rounded corners,  draw=white!50!black!100,  bottom color=white]

\begin{document}

\begin{center}
\begin{tikzpicture}
    \begin{ocg}[radiobtngrp=myRadioButtons]{OCG 0}{1}{1}
        \node[button, hide ocg=1, show ocg=2] (n1) at (0,0) {$Button 1$};
    \end{ocg}
    \begin{ocg}[radiobtngrp=myRadioButtons]{OCG 1}{2}{0}
        \node[button, hide ocg=2, show ocg=1] (n2) at (0.5,0){$Button 2$};
    \end{ocg}
\end{tikzpicture}
\end{center}
\end{document}

¿Es posible hacer que esto funcione? Alternativamente, ¿sería posible crear un solo botón con un contador asociado que se incremente cada vez que se hace clic en él, cada vez que se alterna en una capa en particular?

Respuesta1

Acrobat Reader es actualmente el único visor de PDF que oculta correctamente el área sensible al mouse de un elemento interactivo (enlace, campo de formulario, ...) junto con su contenido tipográfico que se coloca en una capa de PDF que está a punto de desactivarse.

De acuerdo con la especificación de PDF, las anotaciones de PDF se reconocen por capas agregando una /OC <ocg object ref>entrada al dictado de anotaciones. Pkg ocgx2hace esto automáticamente para sus comandos de cambio de capa que se colocan en capas de PDF. Todos los visores de PDF, excepto AR, parecen ignorar esta entrada, lo que claramente es un error de esos visores.

La implementación correcta de esta característica en los visores de PDF permite recorrermúltipleCapas de PDF mediante enlaces de cambio de capa que se encuentran en el mismo lugar de la página, como en el siguiente ejemplo:

\documentclass[margin=5]{standalone}

\usepackage[tikz]{ocgx2}
\tikzstyle{button}=[minimum width=15mm, rounded corners,  draw=white!50!black!100,  bottom color=white]

\begin{document}

\begin{tikzpicture}
  \begin{scope}[ocg={name=OCG 1, ref=1, visibility=on, opts={radiobtngrp=myRadioButtons}}]
    \node[button, show ocg=2] (n0) at (0,0) {Button 1};
  \end{scope}
  \begin{scope}[ocg={name=OCG 2, ref=2, visibility=off, opts={radiobtngrp=myRadioButtons}}]
    \node[button, show ocg=3] at (n0) {Button 2};
  \end{scope}
  \begin{scope}[ocg={name=OCG 3, ref=3, visibility=off, opts={radiobtngrp=myRadioButtons}}]
    \node[button, show ocg=4] at (n0) {Button 3};
  \end{scope}
  \begin{scope}[ocg={name=OCG 4, ref=4, visibility=off, opts={radiobtngrp=myRadioButtons}}]
    \node[button, show ocg=1] at (n0) {Button 4};
  \end{scope}
\end{tikzpicture}

\end{document}

Para otros espectadores que no sean AR, comoMostrar, como máximo 2 capas se pueden alternar mediante unsolterobotón. No sería necesario colocar este botón en una capa en sí:

% example with 2 PDF Layers that works in Evince
\documentclass[margin=5]{standalone}

\usepackage[tikz]{ocgx2}
\tikzstyle{button}=[minimum width=15mm, rounded corners,  draw=white!50!black!100,  bottom color=white]

\begin{document}

\begin{tikzpicture}
  \node[button, switch ocg={1, 2}] (n0) at (0,0) {\phantom{Button 1}};
  \begin{scope}[ocg={name=OCG 1, ref=1, visibility=on}]
    \node[minimum width=15mm] at (n0) {Button 1};
  \end{scope}
  \begin{scope}[ocg={name=OCG 2, ref=2, visibility=off}]
    \node[minimum width=15mm] at (n0) {Button 2};
  \end{scope}
\end{tikzpicture}

\end{document}

información relacionada