Betrachten Sie den folgenden Code:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\endgroup%
\lipsum[3]%
\end{document}
Das Ergebnis ist folgendes:
Mein Problem ist, dass ich den Zeilenabstand für den Textteil mit der kleinsten Größe neu berechnen lassen möchte. Dies ließe sich erreichen, indem man \par
in der Gruppe Folgendes hinzufügt:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\par%
\endgroup%
\lipsum[3]%
\end{document}
was nun folgendes ergibt:
was besser ist, aber ich möchte im selben Absatz bleiben und einen Zeilenumbruch vermeiden.
FRAGE:Wie kann man bei Text in winziger Schriftart einen kleinen Zeilenabstand erzielen, ohne dass es zu einem Absatzende und einem Zeilenumbruch kommt? (Ich hätte gern eine Lösung, die mit jeder Schriftgröße kompatibel ist.)
Antwort1
Sie können die Position des Endes des kleinen Textes aufzeichnen und dann zurückgehen, um den großen Text an dieser Position zu beginnen. Dies erfordert zwei Durchläufe.
\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}