考虑以下 MWE:
\documentclass[a4paper]{scrartcl}
\usepackage{enumitem}
\usepackage{fourier}
\begin{document}
\begin{enumerate}[labelindent=10pt,labelwidth=0pt,labelsep=30.5pt,leftmargin=!,itemsep=2.00pt,topsep=2.75pt,partopsep=2.00pt,parsep=2.00pt,label=\Alph*.,ref=\Alph{enumi}]
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\end{enumerate}
\end{document}
显然,字母没有正确对齐。参见下图(特别是字母 F)。
相反,如果运行完全相同的 MWE 但注释\usepackage{fourier}
,则会获得正确对齐的字母。见下图。
为什么会发生这种情况? 有办法解决这个问题吗?
非常感谢大家抽出时间。
答案1
我相信问题一定出在例如F
和后续句号之间的字距调整上.
,因此,我通过将标签排版为带有label={\Alph*}.
括号的来防止字距调整,这样字母和点之间的字距调整就不会适用。
\documentclass[a4paper]{scrartcl}
\usepackage{enumitem}
\usepackage{fourier}
\begin{document}
\begin{enumerate}[labelindent=10pt,labelwidth=0pt,labelsep=30.5pt,leftmargin=!,itemsep=2.00pt,topsep=2.75pt,
partopsep=2.00pt,parsep=2.00pt,label={\Alph*}.,ref=\Alph{enumi}]
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\end{enumerate}
\end{document}
如果你仍然不满意,你可以将字母以固定宽度居中\makebox
,如下所示label={\makebox[1.6ex]{\Alph*}.}
\documentclass[a4paper]{scrartcl}
\usepackage{enumitem}
\usepackage{fourier}
\begin{document}
\begin{enumerate}[labelindent=10pt,labelwidth=0pt,labelsep=30.5pt,leftmargin=!,itemsep=2.00pt,topsep=2.75pt,
partopsep=2.00pt,parsep=2.00pt,label={\makebox[1.6ex]{\Alph*}.},ref=\Alph{enumi}]
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\item Do whatever.
\end{enumerate}
\end{document}
答案2
为了打破自动字距调整,我建议\/
插入明确的字距调整,从而禁止自动字距调整。
\begin{enumerate}[
labelindent=10pt,
labelwidth=0pt,
labelsep=30.5pt,
leftmargin=!,
itemsep=2.00pt,
topsep=2.75pt,
partopsep=2.00pt,
parsep=2.00pt,
label=\Alph*\/.,
ref=\Alph{enumi}
]
我认为您应该定义自己的环境,而不是在文档正文中添加所有这些选项。
你可能还想做
\usepackage{fourier}
\usepackage{erewhon}
它选择了较新版本的 Utopia 作为文本字体,以便更好地支持字体编码。