我如何检查 \section、\subsection 和 \subsubsection 的字体大小(以 pt 为单位)?

我如何检查 \section、\subsection 和 \subsubsection 的字体大小(以 pt 为单位)?

关于“设置”字体大小的结果有很多,但我找不到如何“获取”它们。

以下是一些代码\Large 等字体大小是多少点(pt)?我可以用来检查、等的字体\normalsize大小\large

\makeatletter

\newcommand\thefontsize[1]{{#1 The current font size is: \f@size pt\par}}

\makeatother

\begin{document}

\thefontsize\normalsize

\end{document}

\thefontsize\section不起作用......

有人能帮助我如何获得它吗?

答案1

您可以通过将命令放入分段命令的参数中来执行类似操作\thefontsize。在这种情况下,命令不需要带参数。(如果您想使用与上述代码相同的命令,只需键入\thefontsize{}即可。

\documentclass{book}
\makeatletter
\newcommand\thefontsize{The current font size is: \f@size pt}
\makeatother
\begin{document}
\chapter{\thefontsize}
\section{\thefontsize}
\subsection{\thefontsize}
\subsubsection{\thefontsize}
\end{document}

代码输出

答案2

艾伦的答案的变体可以向您显示所有字体属性:

\documentclass{book}
\usepackage[T1]{fontenc}
\newcommand\thefont{\expandafter\string\the\font}

\begin{document}
\chapter{\thefont}
\section{\thefont}
\subsection{\thefont}
\subsubsection{\thefont}
\thefont
\end{document}

在此处输入图片描述

有什么诀窍?它使用了 TeX 相当低级的功能;实际上

\expandafter\string\the\font

是 TeX 的基元。基元\font用于为加载其度量文件的字体分配名称,但它可以遵循\the(参见\命令),在这种情况下,它会返回与使用当前字体所需的控制序列相对应的控制序列(低级命令,而不是高级命令\bfseries和同级命令)。例如,在默认设置和普通文本中,

\the\font

将返回控制序列\OT1/cmr/m/n/10(如果没有特殊技巧,则无法写入)。使用\string我们可以打印该控制序列,但我们需要让\theact before\string完成其工作,因此不需要\expandafter。我在示例中使用了 T1 编码,因为在 OT1 编码中,通常分配给反斜杠的插槽被 占用

相关内容