
Tengo este código que obtuve hace algún tiempo de este sitio (lo siento, no sé la fuente exacta). Me permite crear una hoja de respuestas de opción múltiple.
Lo modifiqué hasta cierto punto y me gustaría saber cómo dibujo un rectángulo ajustable alrededor de las burbujas como se muestra a continuación.
Mi MWE:
\documentclass{exam}
\usepackage{tikz}
\usepackage{multicol}
\newcommand\encircle[2][]{%
\indent\tikz[baseline=(X.base)]
\node (X) [draw, shape=circle, inner sep=1pt, #1] {\strut$#2$};
}
\ExplSyntaxOn
\newcommand{\answerspace}[1]{%
\foreach \x in {1,...,#1} {%
\noindent\hspace*{10mm}\llap{\textbf{\x}}\hspace{5mm}\space
\foreach \y in {1,2,3,4} {%
\l_encircle {\x}{\y} \ %
}\newline\newline%
}%
}
\cs_new_protected:Npn \l_encircle #1#2 { { \encircle{\int_to_Alph:n{#2}} }
}
\ExplSyntaxOff
\begin{document}
\begin{center}
\begin{multicols}{2}
\normalsize
\answerspace{24}
\end{multicols}
\end{center}
\end{document}
Respuesta1
Si desea seguir usando su código, entonces esta solución funciona.
Básicamente, cambié el nombre de tu comando por otro y lo puse dentro de otro \newcommand
que agregará los cuadros más adelante, que puedes personalizar cambiando el color o el ancho del borde.
Agregué un contador a sus \foreach
comandos y los usé para cambiar el nombre de sus nodos row-column
para una mejor referencia. Luego los usé para conseguir los anclajes necesarios para las cajas.
Esta solución supone:
- que seguirás usando 4 respuestas, es decir
A, B, C, D
- que seguirás usando este formato para la hoja de referencia
Entonces, si desea una mayor personalización, es posible, pero prefiero reconstruir su código desde cero para estar seguro de que sea sólido y funcione para otros casos de uso.
Nota:Si cambia la cantidad de preguntas, ¡debe compilar dos veces!
Producción
Código
\documentclass{exam}
\usepackage{tikz}
\usepackage{multicol}
\newcommand\encircle[2][]{%
\indent\tikz[baseline=(\nx-\ny.base), remember picture]{
\node (\nx-\ny) [draw, shape=circle, inner sep=1pt, outer sep=10pt, #1]
{\strut$#2$};
}
}
\ExplSyntaxOn
\newcommand{\createrows}[1]{%
\foreach \x [count=\nx] in {1,...,#1} {%
\noindent\hspace*{10mm}\llap{\textbf{\x}}\hspace{5mm}\space
\foreach \y [count=\ny] in {1,2,3,4} {%
\l_encircle {\x}{\y} \ %
}\newline\newline%
}%
}
\cs_new_protected:Npn \l_encircle #1#2 { { \encircle{\int_to_Alph:n{#2}} }
}
\ExplSyntaxOff
\newcommand\answerspace[2][]{%
\createrows{#2}%
\begin{tikzpicture}[overlay, remember picture]
\pgfmathtruncatemacro\halfofrows{#2/2}
\pgfmathtruncatemacro\secondhalfofrows{#2/2+1}
\draw[line width=1pt,#1] (1-1.north west) rectangle (\halfofrows-4.south east);
\draw[line width=1pt,#1] (\secondhalfofrows-1.north west) rectangle (#2-4.south east);
\end{tikzpicture}
}
\begin{document}
\begin{multicols}{2}
\centering
\normalsize
\answerspace{24}
\end{multicols}
\end{document}