
Я новичок в 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}