![多列环境中每个项目的垂直对齐](https://linux22.com/image/453898/%E5%A4%9A%E5%88%97%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%AF%8F%E4%B8%AA%E9%A1%B9%E7%9B%AE%E7%9A%84%E5%9E%82%E7%9B%B4%E5%AF%B9%E9%BD%90.png)
在以下 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}