![Beamer 框架标题手动改变垂直和水平位置](https://linux22.com/image/332871/Beamer%20%E6%A1%86%E6%9E%B6%E6%A0%87%E9%A2%98%E6%89%8B%E5%8A%A8%E6%94%B9%E5%8F%98%E5%9E%82%E7%9B%B4%E5%92%8C%E6%B0%B4%E5%B9%B3%E4%BD%8D%E7%BD%AE.png)
我正在尝试更改框架标题和副标题的垂直和水平位置。到目前为止,我正在使用
\setbeamertemplate{frametitle}[default][center]
但我希望有更多控制权。是否可以使用毫米或像素代替参数来定义向右移动center
?
干杯!
答案1
\setbeamertemplate{frametitle}[default]
在 中定义beamerouterthemedefault.sty
。如果您从那里获取定义,则可以根据需要重新定义它。例如,使用 来添加一个 shift \hspace*{1cm}
:
\documentclass{beamer}
\makeatletter
\setbeamertemplate{frametitle}{
\ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
\@tempdima=\textwidth%
\advance\@tempdima by\beamer@leftmargin%
\advance\@tempdima by\beamer@rightmargin%
\hspace*{1cm} %%%%%%%%%%%%% For example insert shift to right
\begin{beamercolorbox}[sep=0.3cm,center,wd=\the\@tempdima]{frametitle}
\usebeamerfont{frametitle}%
\vbox{}\vskip-1ex%
\if@tempswa\else\csname beamer@ftecenter\endcsname\fi%
\strut\insertframetitle\strut\par%
{%
\ifx\insertframesubtitle\@empty%
\else%
{\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
\fi
}%
\vskip-1ex%
\if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}%
}
\makeatother
\begin{document}
\begin{frame}
\frametitle{te}
abc
\end{frame}
\end{document}