Usando hspace antes do número da página no conteúdo, não alinhado à direita

Usando hspace antes do número da página no conteúdo, não alinhado à direita

De acordo com Robert Bringhurst (Elementos do estilo tipográfico), os líderes em um índice são feios.Essa questãopergunta sobre uma maneira melhor de definir o índice.

Outra forma, ainda mais próxima do padrão do TeX, é ter um pequeno espaço (talvez 2em) após o título da seção, e então definir o número logo em seguida. Bringhurst faz isso no conteúdo real de seu livro (foto abaixo).

Curiosamente, tocloftnão parece apoiar diretamente este estilo. Estou errado em acreditar nisso? Ou existe outro pacote que permite isso?

Exemplo de estilo tipográfico desejado: números de página não alinhados à direita

Responder1

É possível com tocloft. O exemplo também cuida dos números das seções:

\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

Responder2

Usando o titletocpacote (companheiro de titlesec), isso é possível usando um comando semelhante ao seguinte:

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

Em ordem, os parâmetros representam:

  • O tipo de seção
  • O recuo antes do
  • Qualquer código para formatação global da entrada
  • O rótulo se a seção for numerada
  • O rótulo se a seção não for numerada
  • O código para exibir o número da página, incluindo qualquer espaço antes dele

informação relacionada