我正在使用exam
文档类为我的学生准备测试。众所周知,exam
文档类有自己的内部编号系统,用于分层列表,包括、、questions
等等。我想更改嵌套列表的水平对齐方式,使下一级编号列表标签的最左侧点与上一级(或父级)文本的首字母完全对齐。要实现这一点,首先必须将每个级别的标签对齐方式从默认选项更改为。我成功了,从这里获得帮助parts
subparts
subsubparts
right
left
在这里回答(下面代码的第 16 行)。我无法成功是因为部件级别的文本对齐方式相同,如您所见,部件的第六级(代码的第 28 行)不同。我如何才能完成所有级别的编号任务?请保留标签的希腊字母,因为带有希腊字母的标签的宽度与带有拉丁字母的标签的宽度不同。
目前为止的代码是:
\documentclass[12pt]{exam}
\usepackage{calc}
\usepackage{tikz}
\usepackage[T1,LGR]{fontenc}
\usepackage[english,greek]{babel}
\renewcommand\textdexiakeraia{}
\renewcommand\textstigma{\textsigma\texttau}
\renewcommand\textStigma{\textSigma\textTau}
\renewcommand\subpartlabel{(\thesubpart)}
\usepackage[a4paper, total={180mm,257mm},left=15mm,top=20mm]{geometry}
\renewcommand{\questionshook}{%
\setlength{\leftmargin}{\labelwidth}}
\renewcommand{\partshook}{%
\setlength{\itemindent}{0pt}
\setlength{\listparindent}{\labelwidth+\labelsep}
\renewcommand\makelabel[1]{##1\hfil }}
\begin{document}
\begin{questions}
\question
\tikz[overlay,remember picture]\draw[line width=0.5pt](0,0.5) -- (0,-12);\textlatin{First question}
\begin{parts}
\part
\textlatin{Fisrt part question}
\part \textlatin{Second}
\part \textlatin{Third}
\part \textlatin{Fourth}
\part \textlatin{Fifth}
\part \tikz[overlay,remember picture]\draw[line width=0.5pt](0,0.5) -- (0,-12);\textlatin{Sixth}
\begin{subparts}
\subpart
\textlatin{Fisrt subpart question}
\subpart
\textlatin{Second subpart question}
\subpart
\textlatin{Third subpart question}
\subpart
\textlatin{Fouth subpart question}
\subpart
\textlatin{Fifth subpart question}
\subpart
\textlatin{Sixth subpart question}
\subpart
\tikz[overlay,remember picture]\draw[line width=0.5pt](0,0.5) -- (0,-12);\textlatin{Seventh subpart question}
\begin{subsubparts}
\subsubpart
\textlatin{Fisrt subsubpart question}
\subsubpart
\textlatin{Second subsubpart question}
\subsubpart
\textlatin{Third subsubpart question}
\subsubpart
\textlatin{Fourth subsubpart question}
\subsubpart
\textlatin{Fifth subpart question}
\subsubpart
\textlatin{Sixth subsubpart question}
\end{subsubparts}
\end{subparts}
\end{parts}
\end{questions}
\end{document}
答案1
我找到了一个解决方案,并且有效:将上述代码添加到文档的前言中:
\renewcommand{\partshook}{%
\renewcommand\makelabel[1]{##1\hfil }}
\renewcommand{\subpartshook}{%
\renewcommand\makelabel[1]{##1\hfil }}
\renewcommand{\subsubpartshook}{%
\renewcommand\makelabel[1]{##1\hfil }}
这是前四级编号。如果您需要更多编号,请以类似的方式继续上述代码。