
Eu sei muito pouco sobre Form
s with hyperref
, mas suspeito que isso possa estar relacionado ao fato de que você deveria ter apenas um Form
em um documento.
Gostaria essencialmente de criar um documento PDF que funcionasse como um teste de múltipla escolha. Ou seja, espero produzir uma lista de perguntas com cada pergunta seguida por um formulário de botão de opção.
Com o seguinte MWE, entretanto, há um problema com os botões de opção. Quando visualizado com o Adobe Reader, você pode selecionar apenas um dos botões de opção, mas assim que você seleciona um botão de opção para a próxima pergunta, a seleção da pergunta anterior desaparece. Quer dizer, você podeapenasselecione um botão de opção nointeirodocumento.
Quando visualizado com Preview e Skim, é impossível selecionar apenasumbotao de radio. Em vez disso, escolher um botão de opção leva à escolha efetiva de todos os botões de opção na mesma 'coluna' do botão de opção selecionado.
Ambos os comportamentos persistem nesses visualizadores mesmo quando você coloca o \begin{Form}...\end{Form}
interior do \DTLforeach
loop (levando a vários formulários no documento, em vez de um).
Não testei nenhum outro visualizador.
MWE
\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}
Responder1
Você precisa de um único name
para cada questão de múltipla escolha. Abaixo adicionei \theDTLrowi
(com base no contador de linhas de nível mais alto dedatatool
- semelhante ao seu contador de perguntas) para 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}