![Правильный межстрочный интервал при изменении размера шрифта без создания конца абзаца](https://rvso.com/image/472698/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%BC%D0%B5%D0%B6%D1%81%D1%82%D1%80%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%20%D0%BF%D1%80%D0%B8%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%B0%20%D1%88%D1%80%D0%B8%D1%84%D1%82%D0%B0%20%D0%B1%D0%B5%D0%B7%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BA%D0%BE%D0%BD%D1%86%D0%B0%20%D0%B0%D0%B1%D0%B7%D0%B0%D1%86%D0%B0.png)
Рассмотрим следующий код:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\endgroup%
\lipsum[3]%
\end{document}
Что дает следующий результат:
Проблема в том, что я хотел бы, чтобы межстрочный интервал был пересчитан для части текста с крошечным размером. Для этого можно добавить \par
в группу:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\par%
\endgroup%
\lipsum[3]%
\end{document}
который теперь производит следующее:
что уже лучше, но я бы хотел остаться в том же абзаце и избежать переноса строки.
ВОПРОС:Как добиться крошечного межстрочного интервала для текста, написанного мелким шрифтом, не создавая при этом конца абзаца и переноса строки? (Мне бы хотелось найти решение, совместимое с любым размером шрифта).
решение1
Вы можете записать положение конца небольшого текста, а затем вернуться назад, чтобы начать большой текст с этой позиции, что займет два прохода.
\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}