Команда «Инвертировать размер шрифта» в setbeamerfont

Команда «Инвертировать размер шрифта» в setbeamerfont

Я хочу настроить заголовок фрейма в презентации Beamer. У меня проблема с межстрочным интервалом, поэтому я использую версию size*.

Декларация 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}

введите описание изображения здесь

Связанный контент