目录:罗马数字 IV 后的句号 - 减少间距

目录:罗马数字 IV 后的句号 - 减少间距

我对 LaTeX 还不太熟悉。我正在写一篇论文,想编辑目录。我使用罗马数字来编号各个部分。

不幸的是,在目录中,罗马数字 IV 后的句号前的间距太大(“IV”和“.”后的间距比“I”和“.”后的间距大)。有人知道如何缩小它而不使其他罗马数字(I、II 和 III)前的间距也变小吗?


\documentclass[11pt]{book}

\usepackage[]{titletoc}
\usepackage[newparttoc]{titlesec}

\titleformat{\part}[display]{}{\partname\nobreakspace\thepart}{0mm}{}

\titlecontents{part}
[0cm]
{}
{\hfil\normalfont\large\bfseries 
\thecontentslabel\mdseries .\bfseries ~\hfil
\normalfont\large\bfseries}
{}
{\normalsize\dotfill\scriptsize\bfseries\thecontentspage}
[]

\begin{document}

\tableofcontents

\part{Part}
\part{Part}
\part{Part}
\part{Part}

\end{document}

答案1

\thecontentslabel问题在于和之间的字体变化,.这意味着不会应用字距调整。

您可以做一些事情,测量包含和的盒子的宽度\bfseries\thecontentslabel.\bfseries\thecontentslabel\kern0pt.然后使用宽度差异来手动调整零件编号和句点之间的字距。

答案2

我找到了一个解决方案。虽然不太完美,但确实有效。


\documentclass[11pt]{book}

\usepackage[]{titletoc}
\usepackage[newparttoc]{titlesec}

\titleformat{\part}[display]{}{\partname\nobreakspace\thepart}{0mm}{}

\titlecontents{part}
[0cm]
{}
{\hfil\normalfont\large\bfseries 
\thecontentslabel\mdseries .\bfseries ~\hfil
\normalfont\large\bfseries}
{}
{\normalsize\dotfill\scriptsize\bfseries\thecontentspage}
[]

\begin{document}

\tableofcontents

\part{Part}
\part{Part}
\part{Part}

\titlecontents{part}
[0cm]
{}
{\hfil\normalfont\large\bfseries 
\thecontentslabel\mdseries $\!$.\bfseries ~\hfil
\normalfont\large\bfseries}
{}
{\normalsize\dotfill\scriptsize\bfseries\thecontentspage}
[]

\part{Part}
\part{Part}

\titlecontents{part}
[0cm]
{}
{\hfil\normalfont\large\bfseries 
\thecontentslabel\mdseries .\bfseries ~\hfil
\normalfont\large\bfseries}
{}
{\normalsize\dotfill\scriptsize\bfseries\thecontentspage}
[]

\part{Part}

\end{document}

相关内容