枚举(项目/项)、项目和任务列表中令人不快的视觉间距

枚举(项目/项)、项目和任务列表中令人不快的视觉间距

在此处输入图片描述

“f”字符最右侧点与右括号之间的间距非常烦人。有没有一种通用的方法来重写字符“f”的间距?理想情况下,打印格式中应该有一个额外的空格。

答案1

这是设计使然。当 TeX 排版时(f),它会

....\OT1/cmr/m/n/10 (
....\OT1/cmr/m/n/10 f
....\kern0.77779
....\OT1/cmr/m/n/10 )

其中,字距是隐式的(符号输出后没有空格\kern),并且是在字体度量中建立的。字距调整量与字体中“f”的斜体校正量相同,即 0.77779pt。

我没有看到特别令人讨厌的间距。\ref但是,如果你对标记为 (f) 的项目进行操作,就会出现这种情况,这是由于其实现方式所致。

无论如何,您可以尝试添加两次斜体更正。

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\begin{enumerate}[label=\arabic*.]
\item
  \begin{enumerate}[label=(\alph*)]
  \setcounter{enumii}{4}
  \item
  \item
  \end{enumerate}
\item
  \begin{enumerate}[label=(\alph*\kern2\fontcharic\font\numexpr`a-1+\arabic*\relax)]
  \setcounter{enumii}{4}
  \item
  \item\label{x}
  \end{enumerate}
\end{enumerate}

\ref{x}

\end{document}

在此处输入图片描述

说实话,我发现第二个例子比第一个例子更糟糕。

答案2

尝试:定义并使用enumitem一个新的计数器表示命令,其工作原理与除计数器值为 6 时增加一些空间外相同。\xalph\alph

\documentclass{article}
\usepackage{enumitem}

\makeatletter
\def\xalph#1{\expandafter\@xalph\csname c@#1\endcsname}
\def\@xalph#1{\ifnum#1=6\relax f\kern1pt\else\@alph{#1}\fi}

\AddEnumerateCounter\xalph\@xalph{m}
\setlist[enumerate, 2]{label=(\xalph*).}

\begin{document}
\begin{enumerate}
  \item
  \begin{enumerate}
    \item 
    \item 
    \item 
    \item 
    \item 
    \item a 1pt kern is inserted between \verb|f| and \verb|)|
    \item 
    \item 
  \end{enumerate}
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容