Latex Beamer标题设置

Latex Beamer标题设置,latex,beamer,Latex,Beamer,我目前正在开发一个自己的beamer模板(实际上我正在尝试重新设计现有的power point设计,以便使用Latex进行演示) 现有模板有一个标题栏,标题栏右侧显示徽标,标题栏下方有一个彩色小条。此标题栏用于标题页以及文本幻灯片。在文本幻灯片中,标题栏还包含当前帧标题和副标题,每个标题和副标题都有自己的字体大小和颜色 通过使用beamer用户指南和其他模板,我发现每一帧都有一个标题(有时用于显示当前部分)和一个帧标题(通常显示帧标题和副标题)。标题显示在最上面,然后是框架标题。但是,标题页上未

我目前正在开发一个自己的beamer模板(实际上我正在尝试重新设计现有的power point设计,以便使用Latex进行演示)

现有模板有一个标题栏,标题栏右侧显示徽标,标题栏下方有一个彩色小条。此标题栏用于标题页以及文本幻灯片。在文本幻灯片中,标题栏还包含当前帧标题和副标题,每个标题和副标题都有自己的字体大小和颜色

通过使用beamer用户指南和其他模板,我发现每一帧都有一个标题(有时用于显示当前部分)和一个帧标题(通常显示帧标题和副标题)。标题显示在最上面,然后是框架标题。但是,标题页上未显示框架标题

我的设置的一个(我希望尽可能少)工作示例是:

\setbeamercolor*{frametitle}{fg=white,bg=blue}
\setbeamercolor*{framesubtitle}{fg=gray,bg=blue}

\defbeamertemplate*{headline}{formusic}
    \ifx\insertframetitle\@empty%
        \begin{beamercolorbox}[wd=\paperwidth, ht=1.5cm]{frametitle}
            \hfill
            \includegraphics[scale=0.15]{logo.png}
        \end{beamercolorbox}
    \else%
    \fi%

\defbeamertemplate*{frametitle}{formusic}
    \ifx\insertframetitle\@empty%
        \begin{beamercolorbox}[wd=\paperwidth, ht=1.5cm]{frametitle}
        \end{beamercolorbox}
    \else%
        \ifx\insertframesubtitle\@empty%
            \begin{beamercolorbox}[wd=\paperwidth, ht=1.5cm]{frametitle}
                \raisebox{0.55cm}{\insertframetitle}
                \hfill
                \includegraphics[scale=0.15]{logo.png}
            \end{beamercolorbox}
        \else%
            \hbox{
                \vbox{
                \begin{beamercolorbox}[wd=\paperwidth, ht=0.7cm]{frametitle}
                    \insertframetitle
                \end{beamercolorbox}
                \begin{beamercolorbox}[wd=\paperwidth, ht=0.7cm]{framesubtitle}
                    \insertframesubtitle
                \end{beamercolorbox}}
                \includegraphics[scale=0.15]{logo.png}}
        \fi
    \fi%
其结果可见一斑。首先,标题页this看起来不错(我使用蓝色背景色来可视化我的问题),但是对于其他幻灯片,它看起来不太好

标题似乎不支持“\insertframe(sub)title”命令。因此,我使用一种变通方法,在第一页的标题栏中用
ifnum显示空标题栏\c@framenumber=1
,其他所有页面的标题均为空。在这些幻灯片上,标题栏由frametitle显示。这几乎起作用了,因为在frametitle和幻灯片的上边框之间仍然可以看到一条小白线

我的第二个问题是:如何在我的标题栏中理想地排列框架标题、副标题和徽标?我经常使用beamercolorboxes,但是我对目前为止所取得的成绩不是100%满意。我的尝试是将frametitle和subtitle放在单独的beamercolorboxes中(这似乎是最干净的尝试,因为我可以为每一个使用单独定义的布局,而不是切换字体大小和颜色),它们位于彼此下方。但是现在我不知道如何定位的标志



编辑:根据Werners的建议添加代码示例和图像,并相应地编辑文本。

快速解决方法:完全不使用标题,但确保框架标题将显示在所有框架上,即使没有框架标题:

\documentclass{beamer}

\setbeamertemplate{headline}{}

\setbeamercolor{frametitle}{fg=white,bg=blue}
\setbeamercolor{framesubtitle}{fg=gray,bg=blue}

\makeatletter
\patchcmd{\endbeamer@frameslide}{\ifx\beamer@frametitle\@empty}{\iffalse}{}{\errmessage{failed to patch}}
\makeatother

\makeatletter
\setbeamertemplate{frametitle}{%
  \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  \@tempdima=\textwidth%
  \advance\@tempdima by\beamer@leftmargin%
  \advance\@tempdima by\beamer@rightmargin%
  \begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle}
    \begin{minipage}{.81\paperwidth}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \if@tempswa\else\csname beamer@fteleft\endcsname\fi%
    \strut\insertframetitle\par%
    {%
      \ifx\insertframesubtitle\@empty%
      \else%
      {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\par}%
      \fi
    }%
    \end{minipage}%
    \quad\raisebox{-0.3cm}{\includegraphics[width=.1\paperwidth]{example-image-duck}}
    \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
  \end{beamercolorbox}%
}
\makeatother 

\begin{document}

\begin{frame}
    abc
\end{frame} 

\begin{frame}
\frametitle{title}
    abc
\end{frame} 

\begin{frame}
\frametitle{very long title which possible spans over multiples lines...}
    abc
\end{frame} 

\begin{frame}
\frametitle{title}
\framesubtitle{subtitle}
    abc
\end{frame} 


\begin{frame}
    abc
\end{frame} 


\end{document}

您应该为社区提供一个复制当前行为的方法。这是我们能够充分解决您的问题的唯一方法。请确保我们可以复制、粘贴和编译您的代码(不仅仅是代码片段),并准确地看到您看到的内容。@Werner:谢谢您的建议,我更新并重写了条目!