双栏书籍文档类,如何创建合适的客观题试卷?

双栏书籍文档类,如何创建合适的客观题试卷?

有三个问题:1. 问题的所有选项不都在问题下方,它们都移动到了下一列。(可以使用 \vspace \vfill \mbox 等进行整理。)有什么方法可以动态控制它?2. 选项之间的间距。是否可以在序言部分写入一些东西,以便可以固定间距。3. 我想将枚举定义为 A)。是否可以进行全局定义?

\documentclass[11pt,a4paper,twoside]{book}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\begin{enumerate}
\item
$$\sqrt{9x^2}$$
If $x>0$, which of the following is equivalent to the given expression?\\
\begin{enumerate}
\item[A)]   $3x$\\
\item[B)]   $3x^2$\\
\item[C)]   $18x$\\
\item[D)]   $18x^4$\\
\end{enumerate}
\end{enumerate}
\end{multicols}
\end{document}

答案1

  1. 您可以决定用 来停止某个列\columnbreak

  2. \setlength\columnsep{10pt}您可以通过在前面添加 来决定列之间的间距\begin{multicols}{2}10pt这是默认值。

  3. 使用\renewcommand{\theenumi}{\Alph{enumi}}。请参阅此主题了解详细信息。

另外,我敢肯定您不会喜欢将列一直延伸到页面底部,因为这样看起来很丑。这意味着您需要\vspace*{\fill}在 之前添加\columnbreak

这意味着你的代码将如下所示:

\documentclass[11pt,a4paper,twoside]{book}
\usepackage{multicol}

\renewcommand{\theenumi}{\Alph{enumi}} %putting the numbers as upper-case letters
\setlength\columnsep{10pt} %setting the space between columns
\begin{document}
    \begin{multicols*}{2}
        \begin{enumerate}
            \item
            $$\sqrt{9x^2}$$
            If $x>0$, which of the following is equivalent to the given expression?\\
            \begin{enumerate}
                \item[A)]   $3x$\\
                \item[B)]   $3x^2$\\
                \item[C)]   $18x$\\
                \item[D)]   $18x^4$\\
            \end{enumerate}
            \vspace*{\fill} %so it won't justify to the bottom of the page
            \columnbreak %telling to go to the next column
            \item
            $$\sqrt{4y^2}$$
            If $y>0$, which of the following is equivalent to the given expression?\\
            \begin{enumerate}
                \item[A)]   $3y$\\
                \item[B)]   $3y^2$\\
                \item[C)]   $18y$\\
                \item[D)]   $18y^4$\\
                \item[E)]   $2y$\\
                \item[A)]   $3y$\\
                \item[B)]   $3y^2$\\
                \item[C)]   $18y$\\
                \item[D)]   $18y^4$\\
                \item[E)]   $2y$\\
            \end{enumerate}
        \end{enumerate}
    \end{multicols*}
\end{document}

结果如下:

答案2

如果我正确理解了你的问题,那么你可以这样做:

在此处输入图片描述

使用enumitem包,您可以解决列表问题,对于其他考虑@xport 答案

\documentclass[11pt,a4paper,twoside]{book}
\usepackage{multicol}
\usepackage{enumitem}
\setlist[enumerate,1]{nosep=0pt,
                      label=\bfseries\arabic*.,}
\setlist[enumerate,2]{topsep=0pt,
                      leftmargin=2em,
                      label=Alph*,              % Alph items labels
                      itemsep=2\baselineskip    % set desired distance between items
                      }
\setlength\columnsep{10pt} %setting the space between columns

\begin{document}
    \begin{multicols*}{2}

    \begin{enumerate}
      \item
        \[  \sqrt{9x^2} \]
    If $x>0$, which of the following is equivalent to the given expression?\\
        \begin{enumerate}
            \item[A)]   $3x$
            \item[B)]   $3x^2$
            \item[C)]   $18x$
            \item[D)]   $18x^4$
        \end{enumerate}
\vfill\null     % see https://tex.stackexchange.com/questions/8683/
\columnbreak    % telling to go to the next column
    \item
      \[\sqrt{4y^2}$$
        If $y>0$, which of the following is equivalent to the given expression?\\
        \begin{enumerate}
            \item[A)]   $3y$
            \item[B)]   $3y^2$
            \item[C)]   $18y$
            \item[D)]   $18y^4$
            \item[E)]   $2y$
            \item[A)]   $3y$
            \item[B)]   $3y^2$
            \item[C)]   $18y$
            \item[D)]   $18y^4$
            \item[E)]   $2y$
        \end{enumerate}
    \end{enumerate}
\end{multicols*}
\end{document}

相关内容