
Sé muy poco acerca de Form
s with hyperref
, pero tengo la sospecha de que esto podría estar relacionado conel hecho de que se supone que solo debes tener uno Form
en un documento.
Básicamente, me gustaría crear un documento PDF que funcione como una prueba de opción múltiple. Es decir, espero producir una lista de preguntas en las que cada pregunta vaya seguida de un formulario de botón de opción.
Sin embargo, con el siguiente MWE hay un problema con los botones de radio. Cuando se ve con Adobe Reader, puede seleccionar solo uno de los botones de opción, pero tan pronto como selecciona un botón de opción para la siguiente pregunta, la selección de la pregunta anterior desaparece. Es decir, puedessoloseleccione un botón de opción en elcompletodocumento.
Cuando se ve con Vista previa y Hojear, es imposible seleccionar solounoboton de radio. Más bien, elegir un botón de opción conduce a elegir efectivamente todos los botones de opción en la misma "columna" que el botón de opción que se seleccionó.
Ambos comportamientos persisten en estos visores incluso cuando se coloca el \begin{Form}...\end{Form}
interior del \DTLforeach
bucle (lo que lleva a múltiples formularios en el documento, en lugar de uno solo).
No he probado ningún otro visor.
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}
Respuesta1
Necesita una única name
para cada pregunta de opción múltiple. A continuación agregué \theDTLrowi
(basado en el contador de filas de nivel más alto dedatatool
- similar a su contador de preguntas) a 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}