두 개의 열과 Longtable을 자동으로 열거합니다.

두 개의 열과 Longtable을 자동으로 열거합니다.

여러 페이지로 구성된 테스트를 만드는 중입니다. 아래 예에서는 해당 구조를 보여줍니다.

\documentclass[a4paper,9pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath, amsfonts, amssymb}
\renewcommand{\rmdefault}{ptm}

\usepackage{longtable}
\usepackage[left=0.5cm, right=0.5cm, top=0.5cm, bottom=0.5cm]{geometry}

% For answer key
\usepackage{color}
\newcommand{\B}[1]{ \noindent{\setlength{\fboxsep}{1pt}\colorbox{black}{\color{white}\textbf{#1}}}}

\begin{document}
\begin{center}
  \textbf{Test}\\
\end{center}
Names ………………………………………… id …………………………

\begin{longtable}{p{19cm}|p{1cm}}
\textbf{1.} Question about  &   \textbf{1.} \\
a)  Answer 1    &   a)  \\
b)  Answer 2    &   b)  \\
c)  Answer 3    &   c)  \\
d)  Answer 4 &  d)  \\
\textbf{2.} Question is &   \textbf{2.} \\
a)  Answer 1    &   a)  \\
b)  Answer 2    &   b)  \\
c)  Answer 3    &   c)  \\
d)  Answer 4 &  d)  \\
\textbf{3.} Question be &   \textbf{3.} \\
a)  Calculate 1     &   $\ldots$    \\
b)  Calculate 2 &   $\ldots$    \\
c)  Calculate 3 &   $\ldots$    \\
d)  Calculate 4 &   $\ldots$    \\

\end{longtable}
\end{document}

예를 들어 글을 쓰는 대신 자동으로 질문을 열거하는 것이 가능합니까 \textbf{1.}? 때로는 질문을 삭제해야 하고 숫자를 수동으로 조정해야 합니다. 오른쪽 열의 답변에도 동일한 문제가 있습니다.

두 번째 질문은 아마도 별로 어렵지 않을 것입니다. 나는 시험과 거의 동일해 보이는 답안을 만듭니다. 예를 들어 Q1과 Q3의 경우 ( \B서문에 정의되어 있음)

\textbf{1.} Question about  &   \textbf{1.} \\
a)  Answer 1    &   \B{a)}  \\
b)  Answer 2    &   b)  \\
c)  Answer 3    &   c)  \\
d)  Answer 4 &  d)  \\
\textbf{3.} Question be &   \textbf{3.} \\
a)  Calculate 1     &   \B{1.2} \\
b)  Calculate 2 &   \B{2.2} \\
c)  Calculate 3 &   \B{3.2} \\
d)  Calculate 4 &   \B{1}   \

템플릿 키만 생성하고 싶지만 테스트로 전환할 수도 있습니다. 서문에 있는 경우 뭔가를 변경합니다 \B{a)} --> a).\B{1.2} --> $\ldots$

어떤 제안이라도 주시면 감사하겠습니다.

답변1

다음과 같이 카운터와 도우미 매크로를 만들 수 있습니다.

\newcounter{step}
\newcommand\inc{\stepcounter{step}\textbf{\thestep. }}

다음과 같이 사용할 수 있습니다.

\inc Question about  &   \thestep \\

\IfDecimal두 번째 부분에서는 패키지 와 같은 조건을 사용하여 십진수 답변과 알파벳 결과 답변 사이의 명령을 정의할 수 있습니다 xstring.

\newcommand{\B}[1]{%
  \IfDecimal{#1}{$\ldots$}{\fbox{#1}}
}

이전에는 \fbox명령을 더 읽기 쉽게 만들었지만 이를 colorbox 및 나머지 서식 지정 명령으로 대체할 수 있습니다.

이것이 당신이 찾고 있는 것에 더 가까워지기를 바랍니다. 제 생각에는 9pt 글꼴이 시험에 비해 너무 작다는 작은 일반 의견입니다.

답변2

왜 각 답변에 두 개의 열이 있는지 이해할 수 없습니다. 그러나 이 코드는 나에게 효과적입니다.

\begin{longtable}{p{19cm}|p{19cm}}
\begin{enumerate}
\item Question about   
\begin{enumerate}
\item Answer 1   
\item Answer 2   
\item Answer 3   
\item Answer 4   

\end{enumerate}
\item Question about   

\begin{enumerate}
\item Answer 1   
\item Answer 2   
\item Answer 3   
\item Answer 4 
\end{enumerate}
\end{enumerate}
\end{longtable}

그리고 여기에 출력이 있습니다 여기에 이미지 설명을 입력하세요

그것이 작동하기를 바랍니다.

답변3

Yiannis & Sigur 덕분에 솔루션이 생겼습니다. 누군가는 그것이 유용하다고 생각할 수도 있습니다. 조건부를 사용하는 것이 더 우아할 것이라는 것을 알고 있지만 그렇게 할 수 없습니다.

% Put comments here if one needs to see a test
%\newcommand{\B}[1]{ \noindent{\setlength{\fboxsep}{1pt}\colorbox{black}{\color{white}\textbf{#1}}}}
%\newcommand{\BB}[1]{ \noindent{\setlength{\fboxsep}{1pt}\colorbox{black}{\color{white}\textbf{#1}}}}

% Put comments here if one needs to see answers
\newcommand{\B}[1]{#1}
\newcommand{\BB}[1]{$\ldots$} % crucial is [1]; thanks Qrrbrbirlbel

% Automatically enumerates questions & answers
\newcounter{step}
\newcommand\pyt[1]{\stepcounter{step}\textbf{\thestep. }#1&\textbf{\thestep.}}

\Ba), b), c) 및 \BB값에 사용하면 충분합니다 .

관련 정보