Usar hspace antes del número de página en el contenido, no alineado a la derecha

Usar hspace antes del número de página en el contenido, no alineado a la derecha

Según Robert Bringhurst (Elementos de estilo tipográfico), líderes en una tabla de contenidos es antiestético.Esta preguntapregunta sobre una mejor manera de configurar la tabla de contenidos.

Otra forma, aún más cercana al valor predeterminado de TeX, es tener un espacio pequeño (quizás 2 em) después del título de la sección y luego establecer el número justo después. Bringhurst hace esto en el contenido real de su libro (imagen a continuación).

Curiosamente, tocloftno parece apoyar directamente este estilo. ¿Me equivoco al creer esto? ¿O hay otro paquete que permite esto?

Ejemplo de estilo tipográfico deseado: los números de página no están alineados a la derecha

Respuesta1

Es posible con tocloft. El ejemplo también se ocupa de los números de sección:

\documentclass[openany]{book}
\usepackage{tocloft}
\usepackage{color}

\renewcommand*{\cftchappresnum}{\hss\color{red}}
\renewcommand*{\cftchapaftersnum}{\hspace{.5em}}

\settowidth{\cftchapindent}{\cftchapfont 99\cftchapaftersnum}
\setlength{\cftchapnumwidth}{0pt}

\renewcommand*{\cftchapleader}{\hspace{1em}}
\renewcommand*{\cftchapafterpnum}{\cftparfillskip}
\renewcommand*{\cftpnumalign}{l}

\begin{document}
\tableofcontents

\chapter*{Forword}
\addcontentsline{toc}{chapter}{Forword}
\setcounter{page}{9}

\chapter*{Historical Synopsis}
\addcontentsline{toc}{chapter}{Historical Synopsis}
\setcounter{page}{12}

\chapter{Rhytm \& Proportion}
\setcounter{page}{25}

\chapter{Harmony \& Counterpoint}
\setcounter{page}{45}

\chapter{Structural Forms \& Devices}
\setcounter{page}{61}

\chapter{Analphabetic Symbols}
\setcounter{page}{75}

\chapter{Choosing \& Combining Type}
\setcounter{page}{93}

\chapter{Historical Interlude}
\setcounter{page}{119}

\chapter{Shaping the Page}
\setcounter{page}{143}

\chapter{The State of the Art}
\setcounter{page}{179}

\chapter{Grooming the Font}
\setcounter{page}{198}

\chapter{Prowling the Specimen Books}
\setcounter{page}{209}

\end{document}

Resultado

Respuesta2

Usando el titletocpaquete (un complemento de titlesec), esto es posible usando un comando similar al siguiente:

\titlecontents{chapter}[0pt]{}%
{\contentslabel{2.25em}}{}%
{\hspace{2em}\thecontentspage}

En orden, los parámetros representan:

  • El tipo de sección
  • La sangría antes del
  • Cualquier código para el formato global de la entrada.
  • La etiqueta si la sección está numerada.
  • La etiqueta si la sección no está numerada.
  • El código para mostrar el número de página, incluido cualquier espacio anterior.

información relacionada