为什么微型类型包会改变回忆录修改目录中的中心位置?

为什么微型类型包会改变回忆录修改目录中的中心位置?

我创建了一个目录,将各部分居中,并隐藏了页码条目。(参见我如何将目录中的条目置于中央并隐藏页码条目?

更新 1:我在 Apple Silicon 上使用 TexLive 2022 (MacTeX)。pdfLaTeX,,XeLaTeX并且LuaLaTeX都产生相同的结果。

更新 2:似乎\dotfill无论是否使用都会产生相同(糟糕)的结果microtype。我已将 MWE 编辑为使用\hfill

更新 3:我刚刚在 Overleaf 上尝试了此操作,它允许尝试不同版本的 TexLive。这似乎只是 TexLive 2022 中的问题(即,在 TexLive 2021 及更早版本中,不会发生这种情况)。

但是,当我添加microtype包时,它会将居中移到左侧。为什么会microtype这样?有解决方法吗?

\documentclass{memoir}

\usepackage{microtype}  % Comment out to restore correct behavior

\renewcommand*{\chaptitlefont}{\normalfont\Huge\bfseries\centering}
\renewcommand*{\cftpartname}{\partname\space}
\renewcommand*{\cftpartaftersnum}{.\space}
\renewcommand*{\cftpartformatpnum}[1]{}  %suppress the page number
\renewcommand*{\cftpartfont}{\hfill{}\large\bfseries}
\renewcommand*{\cftpartafterpnum}{\hfill}

\begin{document}

\tableofcontents*
\part{Lorem ipsum}
\chapter{Sed do eiusmod tempor incididunt}
\chapter{Ut labore et dolore magna aliqua}
\part{Consectetur adipiscing elit}
\chapter{Cras ornare arcu dui vivamus}
\chapter{Arcu felis bibendum}

\end{document}

当前输出(请注意它与内容标题不一致): 电流输出

期望输出: 期望输出

答案1

经过实验,我认为我找到了最好的解决方案。

\documentclass{memoir}

% Apparently, the latest version of microtype interferes
% with the dot leader macro. However, we can disable that macro.
\usepackage{microtype}  

% Have something centered for comparison
\renewcommand*{\chaptitlefont}{\normalfont\Huge\bfseries\centering}

% Format the part name and number
\renewcommand*{\cftpartname}{\partname\space}
\renewcommand*{\cftpartaftersnum}{.\space}

% Suppress the page number
\renewcommand*{\cftpartformatpnum}[1]{}

% Disable the dot leader code entirely
\renewcommand*{\cftpartleader}{}

% Dissolve the linebox (otherwise, the part title
% is slightly off-center)
\renewcommand*{\partnumberlinebox}[2]{#2}

% Set the font and add the \hfill commands
\renewcommand*{\cftpartfont}{\large\bfseries\hfill}
\renewcommand*{\cftpartafterpnum}{\large\bfseries\hfill}

\begin{document}

\tableofcontents*
\part{Lorem ipsum}
\chapter{Sed do eiusmod tempor incididunt}
\chapter{Ut labore et dolore magna aliqua}
\part{Consectetur adipiscing elit}
\chapter{Cras ornare arcu dui vivamus}
\chapter{Arcu felis bibendum}

\end{document}

输出: 输出

相关内容