나는 이 사이트에서 언젠가 얻은 이 코드를 가지고 있습니다(죄송하지만 정확한 소스를 모릅니다). 객관식 답안지를 만들 수 있습니다.
어느 정도 수정했는데 아래와 같이 거품 주위에 조정 가능한 직사각형을 그리는 방법을 알고 싶습니다.
내 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}
답변1
코드를 계속 사용하려면 이 솔루션이 효과적입니다.
\newcommand
기본적으로 명령의 이름을 다른 것으로 바꾸고 나중에 상자를 추가할 다른 명령 안에 넣었습니다 . 상자는 테두리 색상이나 너비를 변경하여 사용자 정의할 수 있습니다.
귀하의 명령에 카운터를 추가 \foreach
하고 이를 사용하여 더 나은 참조를 위해 노드 이름을 변경했습니다 row-column
. 그런 다음 이를 사용하여 상자에 필요한 앵커를 얻었습니다.
이 솔루션은 다음을 가정합니다.
- 즉, 4개의 답변을 계속 사용하게 됩니다.
A, B, C, D
- 치트시트에 이 형식을 계속 사용할 것입니다.
따라서 추가 사용자 정의를 원한다면 가능하지만 코드가 강력하고 다른 사용 사례에서도 작동할 수 있도록 코드를 처음부터 다시 작성하는 것이 좋습니다.
메모:문제 개수를 변경하면 두 번 컴파일해야 합니다!
산출
암호
\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}