我在Windows XP下使用TexLive
2015,并使用最新的类。这是引擎exam
构建的示例代码。Xelatex
\documentclass[a4paper]{exam}
\begin{document}
\begin{questions}
\question[10] questions
\begin{parts}
\part[2] part one
\part[4] part two
\part[4] part three
\end{parts}
\begin{solution}[10cm]
solution
\end{solution}
\end{questions}
\end{document}
您会看到部分 (b) 和 (c) 未垂直对齐。有什么想法吗?谢谢。
编辑:Manuel 告诉我它确实在 处对齐)
,所以我的问题是:是否可以同时在 处对齐(
,)
但仅在)
处对齐看起来不太好,如屏幕截图所示。因为(c)
看起来比 处小一点,(b)
如图所示。
编辑2:我将 egreg 的答案标记为解决方案,因为我认为两者对齐(
并不是)
一个好主意,请参阅下面的评论。
答案1
您可以使用(也许滥用)\partshook
通常为空的命令,以便修改\parts
对 的定义\makelabel
;\parts
定义\makelabel
为\hss\llap{##1}
,这使得标签在保留空间中右对齐,因此我们可以使其执行\rlap{##1}\hss
(即反向)。
\documentclass[a4paper]{exam}
\renewcommand{\partshook}{%
\renewcommand\makelabel[1]{\rlap{##1}\hss}%
}
\begin{document}
\begin{questions}
\question[10] questions
\begin{parts}
\part[2] part one
\part[4] part two
\part[4] part three
\end{parts}
\begin{solution}[10cm]
solution
\end{solution}
\end{questions}
\end{document}