Corregir el interlineado al cambiar el tamaño de fuente sin provocar el final del párrafo

Corregir el interlineado al cambiar el tamaño de fuente sin provocar el final del párrafo

Considere el siguiente código:

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\endgroup%
\lipsum[3]%
\end{document}

Lo que produce el siguiente resultado:


problema


El problema que tengo es que me gustaría que se volviera a calcular el espacio entre líneas para la parte del texto con un tamaño pequeño. Una forma de lograrlo sería agregar un \paren el grupo:

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\par%
\endgroup%
\lipsum[3]%
\end{document}

que ahora produce lo siguiente:


par


lo cual es mejor, pero me gustaría quedarme en el mismo párrafo y evitar un salto de línea.


PREGUNTA:¿Cómo obtener un espacio entre líneas pequeño para el texto escrito en una fuente pequeña sin provocar el final del párrafo y un salto de línea? (Me gustaría una solución que fuera compatible con cualquier tamaño de fuente).

Respuesta1

Puede registrar la posición del final del texto pequeño y luego retroceder para comenzar el texto grande en esa posición; se necesitan dos ejecuciones.

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\makeatletter
\begingroup%
\tiny\color{red}%
aaa \lipsum[2]%
{\normalsize\strut}%
\pdfsavepos\write\@auxout{\gdef\string\wdA{\the\pdflastxpos}}
\par%
\endgroup
\nopagebreak\kern-\baselineskip
\noindent\pdfsavepos\write\@auxout{\gdef\string\wdB{\the\pdflastxpos}}
\ifx\wdA\undefined\else 
\kern\numexpr\wdA-\wdB\relax sp\fi
\lipsum[3]%
\end{document}

ingrese la descripción de la imagen aquí

información relacionada