
Considere o seguinte código:
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\lipsum[1]%
\begingroup%
\tiny\color{red}%
\lipsum[2]%
\endgroup%
\lipsum[3]%
\end{document}
O que produz a seguinte saída:
O problema que tenho é que gostaria que o espaçamento entre linhas fosse recalculado para a parte do texto com tamanho minúsculo. Uma maneira de conseguir isso seria adicionar um \par
no 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 agora produz o seguinte:
o que é melhor, mas gostaria de permanecer no mesmo parágrafo e evitar quebra de linha.
PERGUNTA:Como obter um espaçamento minúsculo para o texto escrito em fonte minúscula sem causar final de parágrafo e quebra de linha? (Gostaria de uma solução que fosse compatível com qualquer tamanho de fonte).
Responder1
Você pode registrar a posição do final do texto pequeno e depois voltar para iniciar o texto grande nessa posição, são necessárias duas execuções.
\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}