如何使用警报块的颜色作为标尺?

如何使用警报块的颜色作为标尺?

我有一个 Beamer 演示文稿和一个警报块。我想插入一个水平标尺分隔文本。为了适应演示的风格,它应该与周围的警告块的颜色相匹配。我如何使用警告块标题行的颜色?目前,我只是使用一种在我看来匹配的颜色。

\begin{center}
    \textcolor{BrickRed}{\hrulefill}
\end{center}

我知道这个命令\usebeamercolor[fg]{structure} text,但我不知道要放什么fg以及structure要给出所需的颜色(是的,我查看了投影仪文档)。

在此处输入图片描述

额外的:目前,的精确垂直定位是\hrulefill通过两个(令人讨厌的微调)\vspace命令实现的,一个在标尺之前,一个在标尺之后。如果没有这些,巨大的文本和标尺之间的间隙。有没有更好的方法来实现良好的定位?


更新

颜色的问题似乎可以通过以下答案解决萨姆卡特对于定位问题,我被指出要提供一个MWE:

\documentclass[pdf]{beamer}

\usetheme{Malmoe}
\usecolortheme{beaver}
\usecolortheme{orchid}
\usefonttheme{professionalfonts}

\begin{document}

\begin{frame}{Frenet equations}

\begin{alertblock}{\textbf{Theorem:} Frenet equations}
    For the Frenet frame $(\bf t,\bf n)$ of a curve holds
    \begin{align*}
        \bf t'(t) &= \phantom+\kappa(t)\bf n(t),\\
        \bf n'(t) &= -\kappa(t)\bf t(t).
    \end{align*}
    %
    \vspace{-3em}
    \begin{center}
        \usebeamercolor[bg]{block title alerted}\hrulefill
    \end{center}
    %
    \vspace{-0.5em}
    The equations can be written in \emph{matrix form}:
    $$
        \begin{pmatrix}
        \bf t'\\\bf n'
        \end{pmatrix}=\begin{pmatrix}
        \phantom-0&\kappa\\-\kappa&0
        \end{pmatrix}\begin{pmatrix}
        \bf t\\\bf n
        \end{pmatrix}.
    $$
\end{alertblock}

\end{frame}

\end{document}

答案1

您可以使用以下方式访问颜色\usebeamercolor[bg]{block title alerted}

\documentclass{beamer}

\usecolortheme{orchid}

\begin{document}

\begin{frame}
    \begin{alertblock}{block title}
        content...
    \end{alertblock}

    {\usebeamercolor[bg]{block title alerted}\rule{\textwidth}{2pt}}

\end{frame} 

\end{document}

较大的垂直间距主要来自于center环境,对于跨越整条线的元素来说,这无论如何是没有必要的。

\documentclass[pdf]{beamer}

\usetheme{Malmoe}  %% Themenwahl
\usecolortheme{beaver}
\usecolortheme{orchid}
\usefonttheme{professionalfonts}

\begin{document}

\begin{frame}{Frenet equations}

\begin{alertblock}{\textbf{Theorem:} Frenet equations}
    For the Frenet frame $(\bf t,\bf n)$ of a curve holds
    \begin{align*}
        \bf t'(t) &= \phantom+\kappa(t)\bf n(t),\\
        \bf n'(t) &= -\kappa(t)\bf t(t).
    \end{align*}%

    \vspace{-1em}
    {\usebeamercolor[bg]{block title alerted}\hrulefill}

    The equations can be written in \emph{matrix form}:
    \[\begin{pmatrix}
    \bf t'\\\bf n'
    \end{pmatrix}=\begin{pmatrix}
    \phantom-0&\kappa\\-\kappa&0
    \end{pmatrix}\begin{pmatrix}
    \bf t\\\bf n
    \end{pmatrix}.\]
\end{alertblock}

\end{frame}

\end{document}

答案2

一个简单的方法是将 Beamer 块颜色重新定义为 BrickRed,使用

\setbeamercolor{block title}{bg=BrickRed,fg=black}

我整理了一个简单的例子来展示效果,并借助了这个话题

在此处输入图片描述

\documentclass[usenames,dvipsnames]{beamer}

\setbeamercolor{block title}{bg=BrickRed,fg=black}

\makeatletter
   \def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
\makeatother

\begin{document}

\begin{frame}
\begin{block}{Theorem}
    \begin{center}
    some text

    \textcolor{BrickRed}{\vhrulefill{6pt}}

    some more text
    \end{center}    
    \end{block}
\end{frame}

\end{document}

相关内容