
Form
我對s知之甚少hyperref
,但我懷疑這可能與事實上你應該只有一個Form
事實上,一份文檔中。
我本質上想創建一個 PDF 文檔,作為多項選擇測試。也就是說,我希望產生一個問題列表,每個問題後面都有一個單選按鈕表單。
然而,對於以下 MWE,單選按鈕存在問題。使用 Adobe Reader 檢視時,您只能選擇其中一個單選按鈕,但一旦您選擇下一個問題的單選按鈕,前一個問題的選擇就會消失。也就是說,你可以僅有的選擇一個單選按鈕全部的文件.
當使用“預覽”和“瀏覽”查看時,不可能僅選擇一單選按鈕。相反,選擇一個單選按鈕會導致有效地選擇與所選單選按鈕相同「列」中的所有單選按鈕。
即使您將循環放入內部,這兩種行為也會在這些檢視器中持續存在\begin{Form}...\end{Form}
(\DTLforeach
導致文件中出現多個表單,而不是表單)。
我沒有測試過任何其他觀眾。
微量元素
\documentclass{article}
\begin{filecontents}{stuff.csv}
stuff,things
Question 1, consectetuer adipiscing elit
Question 2, ut laoreet dolore magna aliquam erat volutpat
Question 3, quis nostrud exerci tation ullamcorper
Question 4, dolor in hendrerit in vulputate velit esse molestie consequat
\end{filecontents}
\usepackage{hyperref}
\usepackage{datatool}
\DTLloaddb{stuff}{stuff.csv}
\begin{document}
\begin{Form}
\DTLforeach{stuff}{\STUFF=stuff,\THINGS=things}{%
\STUFF\par\THINGS\par
\ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{A} \hfill \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{B} \hfill \ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{C}
\par\bigskip\hrulefill\par\bigskip
}%
\end{Form}
\end{document}
答案1
name
每個多項選擇題都需要一個唯一的。下面我新增了\theDTLrowi
(基於最高等級的行計數器datatool
- 類似你的問題計數器)到myGroupOfRadiobuttons
:
\documentclass{article}
\begin{filecontents}{stuff.csv}
stuff,things
Question 1, consectetuer adipiscing elit
Question 2, ut laoreet dolore magna aliquam erat volutpat
Question 3, quis nostrud exerci tation ullamcorper
Question 4, dolor in hendrerit in vulputate velit esse molestie consequat
\end{filecontents}
\usepackage{hyperref}
\usepackage{datatool}
\DTLloaddb{stuff}{stuff.csv}
\begin{document}
\begin{Form}
\DTLforeach{stuff}{\STUFF=stuff,\THINGS=things}{%
\STUFF\par\THINGS\par
\ChoiceMenu[radio,radiosymbol=\ding{52},name={myGroupOfRadiobuttons\theDTLrowi}]{}{A} \hfill
\ChoiceMenu[radio,radiosymbol=\ding{52},name={myGroupOfRadiobuttons\theDTLrowi}]{}{B} \hfill
\ChoiceMenu[radio,radiosymbol=\ding{52},name={myGroupOfRadiobuttons\theDTLrowi}]{}{C}
\par\bigskip\hrulefill\par\bigskip
}%
\end{Form}
\end{document}