![如何“获取”节标题的大小](https://linux22.com/image/255658/%E5%A6%82%E4%BD%95%E2%80%9C%E8%8E%B7%E5%8F%96%E2%80%9D%E8%8A%82%E6%A0%87%E9%A2%98%E7%9A%84%E5%A4%A7%E5%B0%8F.png)
我必须以节标题的样式格式化一些文本。因此,我想要做的是“获取”定义节标题的参数(即大小、格式、字体样式)并将其应用于文本。但是,我对 tex 还只是个新手,谷歌搜索并没有真正帮助我。
我非常感激您的提示:-)
答案1
可以使用 来访问当前字体标识符\the\font
。因此,下面的代码可行:
\documentclass{article}
\newcommand{\getsectionfont}{\setbox0=\vbox{\section*{a\xdef\TheSectionFont{\the\font}}}}
\AtBeginDocument{\getsectionfont}
\begin{document}
\section{Some text just to see the result}
The following quotation will use the section font
\begin{quotation}\TheSectionFont
Some text just to see the result
\end{quotation}
\end{document}
我们排版了一个模拟章节标题,但没有打印出来,但我们使用它来访问字体。最好在“文档开头”执行此操作,这样所有包都已加载。
这两行应该是之前的最后一行\begin{document}
;有了它们,您将拥有选择字体的声明\TheSectionFont
,也可以在这两行之前的定义中使用(前提是它们没有排版任何文本)。
只是一些更多信息。我们需要低水平,\xdef
因为我们想要那样
的含义在组成一个群体的
\TheSectionFont
之外是众所周知的;\vbox
组合
\the\font
在定义时就被展开。
\xdef
相当于\global\edef
;如果使用简单的\def
,这将不起作用,因为\the\font
始终引用当前字体。另一方面,\the
可以扩展,并且当扩展后跟\font
扩展时,正是 TeX 用来选择当前字体的内部命令。