En el artículo Exámenes con la clase ‘exam’ en LaTeX ya se habló acerca de cómo hacer exámenes con el tipo de documento exam, aunque, sobre todo, se trató el caso de preguntas con respuestas redactadas o escritas por el alumno con diferentes opciones, así como el tema de las calificaciones. Solo muy de pasada, en un par de ejemplos, aparecieron preguntas como las que trataremos aquí.

Preguntas de selección múltiple

Las preguntas se escriben siempre dentro del entorno questions, véase el artículo Exámenes con la clase ‘exam’ en LaTeX para los detalles.

Entorno choices

Este entorno crea preguntas de selección múltiple identificadas por letras y otros símbolos similares.

Para este tipo de preguntas usaremos el entorno \begin{choices}...\end{choices}. Cada selección comenzará por \choice y si deseamos imprimir las soluciones identificaremos la solución correcta con \CorrectChoice.

\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm, 
     bottom=2.00cm]{geometry}

\begin{document}

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    \begin{choices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{choices}

\end{questions}

\end{document}

Podemos escribir las opciones en horizontal utilizando \begin{oneparchoices}...\end{oneparchoices}

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    \begin{oneparchoices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{oneparchoices}

\end{questions}
Las opciones quedan en línea con el texto añadiendo una línea en blanco quedarán aparte.

Como se ve en la imagen anterior las respuestas quedan en línea con la pregunta, si las deseamos aparte bastará con dejar una línea en blanco entre las preguntas y las opciones.

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    
    \begin{oneparchoices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{oneparchoices}

\end{questions}

Podemos añadir una línea para escribir la respuesta, esto se hace con \answerline

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    
    \begin{oneparchoices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{oneparchoices}
    \answerline
\end{questions}
Línea de respuesta: \answerline

Modificar las letras de las opciones

En principio las diferentes opciones aparecen con letras mayúsculas pero las podemos modificar por lo siguiente:

\arabicNúmeros
\alphLetras minúsculas
\AlphLetras mayúsculas
\romanNúmeros romanos en minúsculas
\RomanNúmeros romanos en mayúsculas
\greeknumLetras griegas

Por ejemplo para obtener número romanos en mayúsculas, en lugar de letras, pondríamos en el preámbulo: \renewcommand{\thechoice}{\Roman{choice}} obteniendo:

Solo tendremos que cambiar \Roman del ejemplo anterior por la instrucción que queramos de la tabla anterior.

Entorno checkboxes

Utilizando este entorno se obtienen círculos, o el símbolo que queramos, en lugar de letras para las opciones.

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    
    \begin{checkboxes}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{checkboxes}

\end{questions}

El resultado es:

Igual que antes podemos escribir las opciones en horizontal utilizando el entorno \begin{oneparcheckboxes}...\end{oneparcheckboxes}. Las opciones estarán en línea si no dejamos ninguna línea en blanco detrás de la pregunta y estarán en una línea aparte si dejamos una línea vacía en medio.

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    \begin{oneparcheckboxes}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{oneparcheckboxes}

\end{questions}
Opciones en horizontal.

Modificar el símbolo de las opciones

Podemos modificar el símbolo con \checkboxchar{}. Por ejemplo, en lugar del círculo podemos poner un cuadrado: \checkboxchar{$\Box$} (este símbolo requiere en el preámbulo: \usepackage{amssymb}). El resultado sería:

Substitución del círculo por \Box

Soluciones de las opciones múltiples

Cuando escribimos las opciones a través del comando \choice, indicaremos la solución correcta con \CorrectChoice. Para que estas queden patentes al compilar el documento bastará con añadir \printanswers en el preámbulo.

Ejemplo con choices

\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm,
   bottom=2.00cm]{geometry}

\printanswers

\begin{document}

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    \begin{choices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{choices}

\end{questions}

\end{document}
La opción correcta aparece en negrita pero este comportamiento puede cambiarse.

La respuesta correcta aparece en negrita pero si la deseamos de otro modo utilizaremos en el preámbulo: \CorrectChoiceEmphasis{formato} entre llaves incluiremos el formato que queremos. Por ejemplo si lo queremos en negrita y en color rojo deberemos cargar el paquete color: \usepackage{color} y la instrucción quedará como: \CorrectChoiceEmphasis{\bfseries\color{red}}

\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm,
   bottom=2.00cm]{geometry}
\usepackage{color}

\printanswers

% Formato de la respuesta correcta
\CorrectChoiceEmphasis{\bfseries\color{red}}

\begin{document}

\begin{questions}
    \question
    Uno de estos objetos es diferente al resto. 
    Marca el que no sea igual. 
    \begin{choices}
        \choice Tambor
        \choice Violín
        \CorrectChoice Farola
        \choice Guitarra
        \choice Flauta
    \end{choices}

\end{questions}

\end{document}

Ejemplo con checkboxes

En este caso al añadir \printanswers al preámbulo, obtenemos:

Igual que antes podemos utilizar \CorrectChoiceEmphasis{formato} para modificar el formato que actualmente es negrita.

Podemos modificar el símbolo de la solución con \checkedchar{}, por ejemplo lo cambiamos por \(\times\) poniendo \checkedchar{$\times$} en el preámbulo, el resultado será:

Preguntas de rellenar espacios en blanco

Para hacer este tipo de preguntas se utiliza también el entorno questions y basta con escribir el texto poniendo en el lugar que va el espacio en blanco \fillin. Por ejemplo:

\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm,
   bottom=2.00cm]{geometry}

\begin{document}

\begin{questions}
    \question Durante el día el cielo es de color
     \fillin y durante la noche es \fillin
\end{questions}

\end{document}

Obtendremos algo así:

\fillin admite dos parámetros entre corchetes, el primero es la solución y el segundo es la longitud de la línea. Por ejemplo, si ponemos \fillin[azul][2cm], la solución será azul y aparecerá cuando pongamos \printanswers en el preámbulo y la longitud de la línea para escribir será de 2cm. Si solo estamos interesados en la longitud y no queremos poner la solución entonces los primeros corchetes los dejaremos vacíos.

\documentclass[12pt,a4paper,addpoints]{exam}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm,
   bottom=2.00cm]{geometry}

\printanswers %Hace aparecer la respuesta al compilar

\begin{document}

\begin{questions}
    \question Durante el día el cielo es de color
    \fillin[azul][2cm] y durante la noche es \fillin[negro][2cm].
\end{questions}

\end{document}

El código anterior dará como resultado:

Podremos configurar el aspecto de la solución, que actualmente está en negrita, con \CorrectChoiceEmphasis{\bfseries}

Quizás te interese también…

Este artículo forma parte de la serie: La clase exam de \(\LaTeX\)