Estoy buscando crear un entorno que establezca el tamaño de fuente en un valor determinado (por ejemplo, 12 puntos, con 53 puntos de salto de línea de base para este ejemplo, el objetivo es poder pasarlos más tarde como argumentos, pero por ahora estoy haciendo que esto sea lo más simple posible). para encontrar el error)
Actualmente tengo lo siguiente
\usepackage{fifo-stack}
\makeatletter
\FSCreate{setfs@oldfontsize}{\f@size}
\FSCreate{setfs@oldbaselineskip}{\baselineskip}
\newenvironment{setfs}{%
\FSPush{setfs@oldfontsize}{\f@size}
\FSPush{setfs@oldbaselineskip}{\the\baselineskip}
\fontsize{12pt}{53pt}\selectfont
}{%
\FSShowTop{setfs@oldfontsize}
\FSShowTop{setfs@oldbaselineskip}
\fontsize{\FSPop{hiddentext@oldfontsize}pt}{\FSPop{hiddentext@oldbaselineskip}}
}
\makeatother
Actualmente recibo un error extraño:
! Illegal unit of measure (pt inserted).
<to be read again>
l. 137 \end{setfs}
Las declaraciones del programa dan
The top of hiddentext@oldfontsize: 10.95
The top of hiddentext@oldbaselineskip: 13.6pt
Tengo problemas para descubrir por qué faltaría la unidad. Pensé que necesitaba agregar pt
después el tamaño de fuente, pero no sirvió de nada.
Respuesta1
¿No es suficiente sólo un entorno con \fontsize{#1}{#2}\selectfont
?
\documentclass[twocolumn]{article}
\usepackage{lipsum,parskip}
\usepackage{dejavu,xcolor}
\newenvironment{fsize}[2]{\par\fontsize{#1}{#2}\selectfont\color{blue}}{\par}
\begin{document}
\lipsum[1][1-2]
\begin{fsize}{14}{18} \lipsum[1][1-2] \end{fsize}
\lipsum[1][1-2]
\begin{fsize}{8}{18} \lipsum[1][1-2] \end{fsize}
\lipsum[1][1-2]
\begin{fsize}{22}{34} \lipsum[1][1] \end{fsize}
\end{document}