多列环境中每个项目的垂直对齐

多列环境中每个项目的垂直对齐

在以下 MWE 中,为什么答案不与问题水平对齐?此外,有没有更好的方法来完成我想做的事情?

\documentclass[12pt]{article}
\usepackage{enumitem,multicol}

\begin{document}

    \begin{enumerate}
        
        \begin{minipage}{\textwidth}
            \item Question 1
            \setlength{\columnsep}{-12cm}
            \begin{multicols*}{2}
                \begin{enumerate}
                    \item 1a
                    \item 1b
                    \item 1c
                \end{enumerate}
                \columnbreak
                \begin{enumerate}[label=]
                    \item \textbf{Answer:} \underline{\hspace{5em}}
                    \item \textbf{Answer:} \underline{\hspace{5em}}
                    \item \textbf{Answer:} \underline{\hspace{5em}}
                \end{enumerate}
            \end{multicols*}
        \end{minipage}
        
    \end{enumerate}
    
\end{document}

在此处输入图片描述

答案1

如果您的唯一目标是让“答案”提示在水平方向上相互对齐,那么我绝对认为使用multicols是过度的,并且会使垂直对齐问题更加困难。 您可能只是使用类似 的东西将左侧的内容设置为恒定宽度\parbox,在这种情况下,“答案:”将对齐:

\documentclass[12pt]{article}
\usepackage{enumitem,multicol}
\newcommand{\answerline}{\textbf{Answer:} \underline{\hspace{5em}}}
\begin{document}

    \begin{enumerate}
    % using \makebox of a fixed width
    \item Question 1
        \begin{enumerate}
            \item \parbox{5cm}{Something} \answerline
            \item \parbox{5cm}{Something else} \answerline
            \item \parbox{5cm}{Yet another thing} \answerline
        \end{enumerate}

    \end{enumerate}
    
\end{document}

对齐答案行

如果右边的内容始终具有相同的宽度,您甚至可以使它更易于使用,\hfill只需将它们排列在右边距即可:

\documentclass[12pt]{article}
\usepackage{enumitem,multicol}
\newcommand{\answerline}{\textbf{Answer:} \underline{\hspace{5em}}}
\begin{document}

    \begin{enumerate}

    \item Question 1
        \begin{enumerate}
            \item Something \hfill \answerline
            \item Something else \hfill \answerline
            \item Yet another thing \hfill \answerline
        \end{enumerate}

    \end{enumerate}
\end{document}

相关内容