在 setbeamerfont 中反转字体大小命令

在 setbeamerfont 中反转字体大小命令

我想自定义 beamer 演示文稿中的框架标题。行距有问题,因此我使用 size*-version。

声明是size*={<fontsize in pt>}{<baselineskip>}。但是,我不想修复框架标题的字体大小,因此我需要将字体大小(例如 \huge)转换为 pt。

以下是一个例子:

\setbeamerfont{frametitle}{%
  size*={%
    \fontsize2pt{\huge}%
  }{1.5ex},%
  shape=\scshape%
}

是否有捷径可寻?

答案1

使用\f@size您可以构建一个命令,允许您获取pt当前字体单位的值;然后您可以将该值用于您的定义。使用\myfontsize获取pt强制参数中声明的字体大小的值;此长度存储在\myftsize其中,然后您可以在第一个参数中使用它size*

\documentclass{beamer}

\newlength\myftsize
\makeatletter
\newcommand\myfontsize[1]{%
  \begingroup
  #1
  \global\setlength\myftsize{\f@size pt}%
  \endgroup
}
\makeatother

\myfontsize{\huge}
\setbeamerfont{frametitle}{%
  size*={\myftsize}{1.5ex},
  shape=\scshape
}

\begin{document}

\begin{frame}
\frametitle{Test frame}
test
\end{frame}

\end{document}

在此处输入图片描述

相关内容