¿Cómo funciona \título?

¿Cómo funciona \título?

Entiendo que TeX utiliza \headlinepara colocar encabezados. Si \headlineno existiera, ¿cómo se implementaría una versión simple del mismo? Además, ¿dónde se podría encontrar documentación sencilla sobre cómo \headlinese implementa más allá?El libro de texto? DeunoDe particular interés es el uso de los comandos utilizados para posicionar el texto del encabezado (o el cuadro en el que se establece el encabezado).

Respuesta1

\headlinees un registro de token con nombre en plain.tex, asignado con \newtoks\headliney establecido en \headline={\hfil}(en blanco). Luego, su contenido se utiliza en la rutina de salida a través de la \makeheadlinemacro (simplificada y escrita "abierta"):

\def\makeheadline{\vbox to 0pt{\vskip-22.5pt
  \hbox to \hsize{\vbox to 8.5pt{}\the\headline}\vss}\nointerlineskip}

Es decir, el valor predeterminado contiene "constantes estrictas" para usar con una configuración de 10 puntos. Y el contenido del registro se usa en modo horizontal (por lo que no puede tener material en modo vertical si no está dentro de un\vbox ), abarcando elh horizontaltamañodel bloque de texto. Todo ese cuadro está configurado para que no ocupe ningún espacio vertical y está respaldado por la constante de 22,5 puntos sobre el bloque de texto real.

Knuth escribe en el TeXbook sobre esa constante de 22,5 puntos:

La constante mágica -22,5 puntos es igual a (salto superior - altura del puntal - 2 (salto de línea de base)), es decir, 10 puntos - 8,5 puntos - 24 puntos; esto coloca el punto de referencia del título exactamente 24 puntos por encima del punto de referencia de la línea superior de la página, a menos que el título o la línea superior sean excesivamente grandes.

La macro también se abstiene de insertar el salto entre líneas normal entre el título y el bloque tipográfico.

Entonces configurando por ejemplo:

\headline={Testing headline\hfill \folio}

tendría "Título de prueba" a la izquierda, luego el pegamento empujaría el número de página hacia la derecha.

Ahora, esto se mantendría igual para cada página, pero digamos que quieres tener un encabezado diferente para el reverso y el anverso, podrías hacer algo como

\newtoks\versohead \versohead={\folio\hfill Testing headline}
\newtoks\rectohead \rectohead={Testing headline\hfill \folio}
\headline={\ifodd\pageno\the\versohead\else\the\rectohead\fi}

información relacionada