为 beamer 创建自定义字体样式

为 beamer 创建自定义字体样式

如何为 beamer 创建自定义字体样式?如何全局更改此样式的颜色和正常字体颜色?

我想写例如:

\begin{frame}
    \HighlightedText{I am special}\\
    Here is a normal paragraph.
\end{frame}

我认为必须进行调整setbeamercolor但我不知道如何进行。

答案1

关于普通文本字体,您可以通过安装normal text颜色来更改它,例如

\setbeamercolor{normal text}{fg=blue}

参见下面的示例代码。

关于突出显示的文本,首先回想一下,beamer已经提供了提供\alert您似乎正在寻找的功能的命令。无论如何,如果您想提供自己的设置,下面我展示了两个选项。您可以做一些基本的事情,例如定义颜色和字体:

% color for the new highlighted text
\setbeamercolor{hltext}{fg=olive}
% font for the new highlighted text
\setbeamerfont{Hl text}{size=\huge}

然后定义一个应用该颜色和字体规范的命令:

\newcommand<>\HighlightedText[1]{\only#2{{\usebeamercolor[fg]{hltext}\usebeamerfont{Hl text}#1}}}

另一个选择是定义一些更复杂的\alert命令。同样,第一步是像以前一样设置颜色和字体,然后

% An improved version
\defbeamertemplate*{Hl text begin}{default}{\setbeamercolor{local structure}{parent=alerted text}}
\newenvironment{hlenv}
  {%
    \begin{altenv}%
    {\usebeamertemplate{Hl text begin}\usebeamercolor[fg]{hltext}%
      \usebeamerfont{Hl text}%
    }{\usebeamertemplate{Hl text end}}{\color{.}}{}%
  }
  {\end{altenv}}
\newcommand<>{\Hltext}[1]{\begin{hlenv}#2\relax#1\end{hlenv}}

这是一个完整的例子:

\documentclass{beamer}

% color for the normal text
\setbeamercolor{normal text}{fg=blue}
% color for the alerted text
\setbeamercolor{alerted text}{fg=magenta}
% color for the new highlighted text
\setbeamercolor{hltext}{fg=olive}
% font for the new highlighted text
\setbeamerfont{Hl text}{size=\huge}

% A rudimentary version
\newcommand<>\HighlightedText[1]{\only#2{{\usebeamercolor[fg]{hltext}\usebeamerfont{Hl text}#1}}}

% An improved version
\defbeamertemplate*{Hl text begin}{default}{\setbeamercolor{local structure}{parent=alerted text}}
\newenvironment{hlenv}
  {%
    \begin{altenv}%
    {\usebeamertemplate{Hl text begin}\usebeamercolor[fg]{hltext}%
      \usebeamerfont{Hl text}%
    }{\usebeamertemplate{Hl text end}}{\color{.}}{}%
  }
  {\end{altenv}}
\newcommand<>{\Hltext}[1]{\begin{hlenv}#2\relax#1\end{hlenv}}

\begin{document}

\begin{frame}
\HighlightedText<1->{I am special.}\par
Here is a normal paragraph.\par
\Hltext<2->{I am special.}\par
\alert<3->{I am special.}\par
\begin{hlenv}<4>
I am special.
\end{hlenv}
\end{frame}

\end{document}

结果动画如下:

在此处输入图片描述

相关内容