如何使用 hyperref 获取文本左侧的选择单选框

如何使用 hyperref 获取文本左侧的选择单选框

这个主题的记录有点少,或者我研究得不够深入。似乎这个术语label在 中有些令人混淆ChoiceField

基本上我需要的就是将单选按钮放在文本标签条目的左侧(而不是类别的左侧或其他名称)。

使用renewcommand\LayoutChoiceField似乎对 CheckBox 有效,但不适用于 radio/choice。

\documentclass[9pt,a4paper,notitlepage]{extarticle}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{amsfonts}
\usepackage{hyperref}     
\renewcommand{\LayoutChoiceField}[2]{%
  \leavevmode #2 #1%
}    
\begin{document}    
\begin{Form}
Box in the left side, but not true radio    
Choose only one:
\ChoiceMenu[radio,radiosymbol=\ding{108}]{Option 1}{ }
\ChoiceMenu[radio,radiosymbol=\ding{108}]{Option 2}{ } 
\ChoiceMenu[radio,radiosymbol=\ding{108}]{Option 3}{ } 
\ChoiceMenu[radio,radiosymbol=\ding{108}]{Option 4}{ } 

\hrulefill

True radio, but box on the right side     
\ChoiceMenu[radio,radiosymbol=\ding{108}]{Choose only one:}{Option 1 ,Option 2 ,Option 3 ,Option 4 }
\end{Form}
\end{document}

答案1

\LayoutChoiceField通过交换按钮之前/之后的文本来重新定义似乎会造成混淆。

我找到了一种解决您的两个问题的简单方法:

  1. 获得真的广播,就是给他们同样的name

 \documentclass{article}
 \usepackage{hyperref}
 \usepackage{amsmath}
 \begin{document}
  \begin{Form}
    Box in the left side, \textbf{true} radio\\
    Choose only one:\;\;
    \ChoiceMenu[radio,radiosymbol=\ding{108}, name=a]{Option 1}{ }\;
    \ChoiceMenu[radio,radiosymbol=\ding{108}, name=a]{Option 2}{ }
  \end{Form}
 \end{document}
  1. 要让文本显示在按钮的左侧/右侧,为什么不在命令之前/之后输入文本\ChoiceMenu[..., ...]{...}{ }呢?保持两个括号为{ }空白会触发单选按钮完全消失。因此,第一个括号内的最小文本就可以了。

 \documentclass{article}
 \usepackage{hyperref, color}
 \usepackage{amsmath}
 \begin{document}
  \begin{Form}
    Box in the left side, \textbf{true} radio\\
    Choose only one:
    \ChoiceMenu[radio,radiosymbol=\ding{108}, name=b]{\textcolor{white}{:}}{ } Option 1\quad
    \ChoiceMenu[radio,radiosymbol=\ding{108}, name=b]{\textcolor{white}{:}}{ } Option 2\quad
  \end{Form}
 \end{document}

我承认后者的做法很愚蠢,但随着计算机的智能化程度逐渐提高,总有一天,我们可能会更轻松地将我们的愿望传达给机器。在那之前,如果没有更好的办法,我们可能不得不用这种“愚蠢”的东西来满足自己。

相关内容