Alineación vertical de frases de texto de diferente tamaño de fuente

Alineación vertical de frases de texto de diferente tamaño de fuente

(Con 2. y 3. "línea 001", "línea 002", etc. a la izquierda son solo para mostrar que las líneas de base de las líneas de la derecha tienen distancias verticales que son múltiplos de \baselineskipla fuente normal en tamaño normal).

  1. ¿Cuál es la forma mejor/menos engorrosa de garantizar que las frases compuestas en dos tamaños de fuente diferentes estén alineadas de modo que las reglas que delimitan la parte superior de los ascendentes de las letras de la fuente más grande estén a la altura de las reglas que delimitan la parte superior de la fuente? ¿Ascendentes de la fuente más pequeña como en la siguiente imagen?

    ingrese la descripción de la imagen aquí

  2. ¿Cuál es la forma mejor/menos engorrosa de garantizar que el pegamento vertical entre las líneas de base de dos líneas de texto, por ejemplo, en un salto de párrafo, sea siempre un múltiplo entero de \baselineskip, incluso si las frases tienen un tamaño de fuente diferente?

    ingrese la descripción de la imagen aquí

  3. ¿Cuál es la forma mejor/menos engorrosa de garantizar que el pegamento vertical entre las líneas de base de dos líneas de texto, por ejemplo, en un salto de párrafo, sea siempre un múltiplo entero de \baselineskip, incluso si las frases tienen diferentes tamaños de fuente y las frases están escritas en dos tamaños de fuente diferentes? ¿Están alineadas de manera que las reglas que delimitan la parte superior de los ascendentes de las letras de la fuente más grande estén a la altura de las reglas que delimitan la parte superior de los ascendentes de la fuente más pequeña?

    ingrese la descripción de la imagen aquí

Sólo encontré formas engorrosas de lograr cosas en las que es necesario escribir "ajustes manuales" e instrucciones primitivas extrañas directamente en el archivo que contiene el texto del documento. Todavía no encontré formas de implementar métodos para lograr cosas como macros que podrían proporcionarse como un paquete privado separado donde el uso de estos métodos/macros tampoco sería engorroso. Me gustaría aprender a escribir código LaTeX para que LaTeX haga esas cosas automáticamente mientras procesa el archivo que contiene el texto del documento, sin necesidad de intercalar los textos reales de mis documentos con toneladas de instrucciones extrañas para cambiar el modo de composición tipográfica del horizontal. modo a modo horizontal restringido o modo vertical o para crear y medir cuadros o para deshacer algunos \lineskipcon \vboxes/ \vtops de una altura/profundidad que excede \baselineskipde modo que la distancia vertical a las líneas posteriores sea inferior \lineskiplimit, ...

Al igual que con TeX⁠ ⁠-⁠ ⁠LaTeX Stack Exchange, exigir ejemplos reproducibles mínimos completos es un reflejo incluso en situaciones en las que no se trata de arreglar el código, sino de solicitar las mejores prácticas, mientras que es probable que el código de alguien que tiene que preguntar sobre las mejores prácticas Para no exhibir las mejores prácticas, muestro lo que hice hasta ahora. Espero que esto también satisfaga a aquellos que, en su desconfianza, exigen de los interrogadores un gesto de autohumillación en la forma no sólo de decir que ya pasaron un período de tiempo considerable luchando con el asunto sin éxito real, sino también de entregar fragmentos de código que forman código malo y mal escrito que no sirve para nada a nadie y sólo podría servir para refutar la insinuación de que habían mentido al decir que ya habían dedicado un tiempo considerable a luchar.

Hice 1. de la siguiente manera engorrosa:

\documentclass{book}
\newsavebox\mynormalbox
\newsavebox\myhugebox

\begin{document}

\savebox\mynormalbox{\hbox{\normalsize Text}}%
\savebox\myhugebox{\hbox{\huge Text}}%
Text Text \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge Text Text} Text Text

\end{document}

Hice 2. de la siguiente manera engorrosa:

\documentclass{book}

\begin{document}
\noindent %\leavevmode
\vbox to 12\baselineskip{%
  \hbox{line 001}%
  \hbox{line 002}%
  \hbox{line 003}%
  \hbox{line 004}%
  \hbox{line 005}%
  \hbox{line 006}%
  \hbox{line 007}%
  \hbox{line 008}%
  \hbox{line 009}%
  \hbox{line 010}%
  \hbox{line 011}%
  \hbox{line 012}%
} 
\vrule{}
\vbox to 12\baselineskip{%
  \hbox{line 1 line 1 line 1 line 1 line 1 line 1}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 2 Line 2 {\huge Line 2} Line 2 Line 2}}%
  \hbox{line 3 line 3 line 3 line 3 line 3 line 3}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 4 Line 4 {\huge Line 4} Line 4 Line 4}}%
  \hbox{line 5 line 5 line 5 line 5 line 5 line 5}%
  \vskip-\lineskip
  \vbox to 3\baselineskip{\vfill\hbox{Line 6 Line 6 {\huge Line 6} Line 6 Line 6}}%
}%
\end{document}

Hice 3. de la siguiente manera engorrosa:

\documentclass{book}
\newsavebox\mynormalbox
\newsavebox\myhugebox

\begin{document}
\noindent %\leavevmode
\vbox to 16\baselineskip{%
  \vfill
  \hbox{\strut line 001}%
  \hbox{line 002}%
  \hbox{line 003}%
  \hbox{line 004}%
  \hbox{line 005}%
  \hbox{line 006}%
  \hbox{line 007}%
  \hbox{line 008}%
  \hbox{line 009}%
  \hbox{line 010}%
  \hbox{line 011}%
  \hbox{line 012}%
  \hbox{line 013}%
  \hbox{line 014}%
  \hbox{line 015}%
  \hbox{line 016\strut}%
  \vfill
} 
\vrule{}
\vbox to 16\baselineskip{%
  \vfill
  \savebox\mynormalbox{\hbox{\normalsize line1234567890}}%
  \savebox\myhugebox{\hbox{\huge  line1234567890}}%
  \hbox{\strut line 1 line 1 line 1 line 1 line 1 line 1}%
  \vtop to 3\baselineskip{%
    \hbox{\vphantom{line2}}%
    \hbox{line 2 line 2 \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge line 2} line 2 line 2}%
    \vfill
  }%
  \vskip-\lineskip
  \hbox{line 3 line 3 line 3 line 3 line 3 line 3}%
  \vtop to 3\baselineskip{%
    \hbox{line 4 line 4 \lower\dimexpr\ht\myhugebox-\ht\mynormalbox\relax\hbox{\huge line 4} line 4 line 4}%
    \vfill
  }%
  \vskip-\lineskip
  \hbox{line 5 line 5 line 5 line 5 line 5 line 5}%
  \vbox to 3\baselineskip{%
    \vfill
    \hbox{\lower-\lineskip\hbox{line 6 line 6 {\huge line 6} line 6 line 6}}%
  }%
  \vskip-\lineskip
  \hbox{line 7 line 7 line 7 line 7 line 7 line 7}%
  \vbox to 2\baselineskip{%
    \vfill
    \hbox{\lower-\lineskip\hbox{line 8 line 8 {\huge line 8} line 8 line 8}}%
  }%
  \vskip-\lineskip
  \hbox{line 9 line 9 line 9 line 9 line 9 line 9\strut}%
  \vfill
}%
\end{document}

(Con 2. y 3. "línea 001", "línea 002", etc. a la izquierda son solo para mostrar que las líneas de base de las líneas de la derecha tienen distancias verticales que son múltiplos de \baselineskipla fuente normal en tamaño normal).

información relacionada