押すと OCG レイヤーのセットが循環する OCG ボタンが欲しいです。
私は、それぞれが他のボタンを切り替える自己参照 OCG ボタンの使用を試しました ( ありとなしの両方を試しましたradiobtngrp
)。主な問題は、オフに切り替えてもクリック可能な領域が残っているため、クリックすると一番上のボタンしか切り替えられないことです。以下は 2 つのレイヤーの例です (ただし、可能であればもっとレイヤーを増やしたいです)。
\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}
これを機能させることは可能ですか? あるいは、特定のレイヤーを切り替えるたびにクリックされるたびに増加するカウンターが関連付けられた単一のボタンを作成することは可能ですか?
答え1
Acrobat Reader は現在、無効にしようとしている PDF レイヤーに配置されているインタラクティブ要素 (リンク、フォーム フィールドなど) のマウスに反応する領域とそのタイプセット コンテンツを正しく非表示にする唯一の PDF ビューアです。
PDF 仕様によれば、PDF 注釈は/OC <ocg object ref>
注釈辞書にエントリを追加することでレイヤー対応になります。pkg は、ocgx2
PDF レイヤーに配置されているレイヤー切り替えコマンドに対してこれを自動的に行います。AR 以外のすべての PDF ビューアはこのエントリを無視しているようですが、これは明らかにそれらのビューアのバグです。
PDFビューアでこの機能を正しく実装すると、複数次の例のように、ページ上の同じ場所にあるレイヤー切り替えリンクを使用して PDF レイヤーを切り替えることができます。
\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}
AR以外のビューアの場合、例えばエビンス最大2つのレイヤーを切り替えることができます。シングルボタン。このボタンはレイヤー自体に配置する必要はありません。
% 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}