將字體大小變更為特定值的環境

將字體大小變更為特定值的環境

我希望創建一個將字體大小設為特定值的環境(例如 12pt,在本示例中使用 53pt 的基線跳過,目標是稍後能夠將它們作為參數傳遞,但現在我正在使其成為最簡單的可能找出錯誤)

目前我有以下內容

\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

目前我收到一個奇怪的錯誤:

! Illegal unit of measure (pt inserted).
<to be read again>
l. 137 \end{setfs}

該節目的陳述給了

The top of hiddentext@oldfontsize: 10.95
The top of hiddentext@oldbaselineskip: 13.6pt

我無法找出該單元遺失的原因。我以為我需要在字體大小之後添加pt,但這沒有幫助。

答案1

僅僅有一個環境還不夠嗎\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}

姆韋

相關內容