我正在创建一个新的 beamer 主题,它模仿现有的 powerpoint 模板。我花了相当多的时间让两种文档类型的脚注重叠,结果却发现脚注的位置取决于所选的字体大小。
这是 MWE(在正确位置带有虚拟徽标):
\documentclass[12pt]{beamer}%Changing the size here moves the footline logo
\usepackage{tikz}
\title{Hello world!}
\setbeamertemplate{footline}{%
\begin{beamercolorbox}[wd=\paperwidth,ht=.0769\paperheight,dp=0mm]{title in head/foot}%
\begin{center}%
\begin{tikzpicture}
\draw[fill=blue] (0.7094\paperwidth,0) rectangle (.9286484375\paperwidth,.0769\paperheight);
\draw[fill=blue] (0,.017\paperheight) rectangle (.6845\paperwidth,0.05\paperheight);
\end{tikzpicture}%
\end{center}%
\end{beamercolorbox}%
}
\setbeamertemplate{navigation symbols}{}
\begin{document}
\maketitle
\end{document}
这是 12pt 和 15pt 结果的比较,我使用的是 15pt 结果作为背景并将 12pt 结果涂成红色:
12pt 大小的字体(红色)的底线略高于 15pt 大小的字体。为什么会出现这种情况?纸张宽度/纸张高度不应该取决于字体大小,因此我看不出它如何影响位置。
如果您无法重现该现象,请告诉我。
答案1
这是环境的定义center
:
\def\center{\trivlist \centering\item\relax}
和:
\def\endcenter{\endtrivlist}
\centering
定义如下:
\def\centering{%
\let\\\@centercr
\rightskip\@flushglue\leftskip\@flushglue
\parindent\z@\parfillskip\z@skip}
\trivlist
定义为:
\def\trivlist{%
\parsep\parskip
\@nmbrlistfalse
\@trivlist
\labelwidth\z@
\leftmargin\z@
\itemindent\z@
\let\@itemlabel\@empty
\def\makelabel##1{##1}}
我们有:
\def\@trivlist{%
\if@noskipsec \leavevmode \fi
\@topsepadd \topsep
\ifvmode
\advance\@topsepadd \partopsep
\else
\unskip \par
\fi
\if@inlabel
\@noparitemtrue
\@noparlisttrue
\else
\if@newlist \@noitemerr \fi
\@noparlistfalse
\@topsep \@topsepadd
\fi
\advance\@topsep \parskip
\leftskip \z@skip
\rightskip \@rightskip
\parfillskip \@flushglue
\par@deathcycles \z@
\@setpar{\if@newlist
\advance\par@deathcycles \@ne
\ifnum \par@deathcycles >\@m
\@noitemerr
{\@@par}%
\fi
\else
{\@@par}%
\fi}%
\global \@newlisttrue
\@outerparskip \parskip}
\endtrivlist
是:
\def\endtrivlist{%
\if@inlabel
\leavevmode
\global \@inlabelfalse
\fi
\if@newlist
\@noitemerr
\global \@newlistfalse
\fi
\ifhmode\unskip \par
\else
\@inmatherr{\end{\@currenvir}}%
\fi
\if@noparlist \else
\ifdim\lastskip >\z@
\@tempskipa\lastskip \vskip -\lastskip
\advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
\vskip\@tempskipa
\fi
\@endparenv
\fi
}
这里的垂直间距是相对于字体大小的。例如,Beamer 将其定义\parskip
为,\setlength\parskip{0\p@}% \@plus \p@}
并且\p@
相对于字体大小。
因此,垂直间距取决于字体大小。
相比之下,\centering
插入会跳过依赖于字体大小的内容,而这些只会影响水平的间距-不是垂直间距。
一般来说,如果您不想改变垂直间距(或者您不想让该间距取决于字体大小或可拉伸),则该center
环境不是正确的选择。