一旦逐个选择所有选项,单选按钮的选择/取消选择就会出现问题

一旦逐个选择所有选项,单选按钮的选择/取消选择就会出现问题

我在用单选按钮( \ChoiceMenu[radio,...] )并按照以下链接中的说明删除“Radio”标志,使它们完全不可选择:

http://tex.stackexchange.com/a/74543/3323

但又出现了另一个问题。

如果我逐个选择并取消选择所有选项(A,B,C,D),然后再次选择选项 A,它会一次选择/取消选择所有选项。

示例代码如下所示。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{enumitem}
\usepackage[utf8]{inputenc}
\usepackage[hidelinks,bookmarks=false]{hyperref}
\usepackage{xcolor}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\HyField@FlagsRadioButton}{\HyField@SetFlag{Ff}{Radio}}{}{}{}
\makeatother
\def\DefaultOptionsofRadio{print}

\begin{document}

Select the Einstein's mass energy equivalence.
\begin{enumerate}[label=(\Alph*)]
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$F = ma$}{}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$F = \dfrac{dp}{dt}$}{}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$E = hf$}{}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$E = mc^2$}{}}
\end{enumerate}

\end{document}

有没有什么解决办法?提前谢谢您。

答案1

您的示例缺少使用 \begin{Form} 或 \Form 的初始化。

除此之外:您使用的\texorpdfstring第二个参数为空,这意味着 pdf 中的所有字段都具有相同的值。如果您在其中添加一些独特的东西,它就会起作用。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{enumitem}
\usepackage[utf8]{inputenc}
\usepackage[hidelinks,bookmarks=false]{hyperref}
\usepackage{xcolor}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\HyField@FlagsRadioButton}{\HyField@SetFlag{Ff}{Radio}}{}{}{}
\makeatother
\def\DefaultOptionsofRadio{print}

\begin{document}
\Form % initialization
Select the Einstein's mass energy equivalence.
\begin{enumerate}[label=(\Alph*)]
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$F = ma$}{a}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$F = \dfrac{dp}{dt}$}{b}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$E = hf$}{c}}
    \item \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{\texorpdfstring{$E = mc^2$}{d}}
\end{enumerate}

\end{document}

但这显然违反了 pdf 参考,单选按钮应该设置标志,因此您依赖于一些未记录的副作用。

相关内容