我正在使用考试文档类,对自定义布局有几个问题。首先,我想将问题编号移到左侧,使其与左侧标题对齐,并且我希望问题编号和问题的实际文本之间有更多的水平空间。我也想对问题部分编号做同样的事情,使其与上面问题文本的左侧部分对齐,并且左对齐而不是右对齐。
我的解释有点乱,所以这里有一张图片来说明我想要的东西(我想要左边的,而不是右边的):
梅威瑟:
\documentclass[a4paper]{exam}
\renewcommand{\thepartno}{\roman{partno}}
\begin{document}
\firstpageheader{\large\textbf{Pure Mathematics: Number theory}}{}{\thepage}
\runningheader{}{}{\thepage}
\vspace*{0cm}
\begin{questions}
\question
For positive integers $a$, $b$ and $c$ \ldots
\begin{parts}
\part
For positive integers $a$, $b$ and $c$ \ldots
\part
For positive integers $\alpha$, $\beta$ and $\gamma$ \ldots
\end{parts}
\end{questions}
\end{document}
答案1
为了实现您的目标:
- 将问题编号向左移动:
leftmargin
修改环境的长度questions
。
- 问题编号和问题的实际文本之间有更多的水平空间。
labelsep
修改环境的长度questions
。
- 部分左对齐而不是右对齐。
makelabel
重新定义环境内的命令parts
。- 这个技巧取自egreg的这个答案:https://tex.stackexchange.com/a/285767/5185
- 将问题部分编号与上面问题文本的左侧部分对齐。
- 修改环境的长度
leftmargin
和。labelsep
parts
- 修改环境的长度
可以通过设置变量来修改第 1 部分和第 2 部分的长度questionshook
,而对于第 3 部分和第 4 部分,必须使用该命令和变量来设置这些长度partshook
(请参阅课程手册的第 4.10 节“自定义列表参数” exam
)。
因此,你的 MWE 应该是下一个:
\documentclass[a4paper]{exam}
\renewcommand{\thepartno}{\roman{partno}}
%% For task 1 and 2
\renewcommand{\questionshook}{\setlength{\leftmargin}{2.5em}\setlength{\labelsep}{1.5em}}
%% For task 3 and 4
\renewcommand{\partshook}{\renewcommand\makelabel[1]{\rlap{##1}\hss}\setlength{\leftmargin}{2em}\setlength{\labelsep}{0.5em}}
\begin{document}
\firstpageheader{\large\textbf{Pure Mathematics: Number theory}}{}{\thepage}
\runningheader{}{}{\thepage}
\vspace*{0cm}
\begin{questions}
\question
For positive integers $a$, $b$ and $c$ \ldots
\begin{parts}
\part
For positive integers $a$, $b$ and $c$ \ldots
\part
For positive integers $\alpha$, $\beta$ and $\gamma$ \ldots
\end{parts}
\question
For positive integers $a$, $b$ and $c$ \ldots
\begin{parts}
\part
For positive integers $a$, $b$ and $c$ \ldots
\part
For positive integers $\alpha$, $\beta$ and $\gamma$ \ldots
\end{parts}
\end{questions}
\end{document}
它看起来是这样的: