标题文本垂直居中

标题文本垂直居中

我希望标题文本始终从同一位置开始(即始终在同一高度垂直居中;在下面提供的示例中,第一个标题高于第二个标题,因为“g”使用下方空间,而“a”不使用)。我希望 g 的底部位于绘制的线下方。即使我将线进一步移动,文本也始终居中。如果我将其相对于 (b) 放置并位于其下方,也是如此。我该如何更改它?

\documentclass[17pt,t]{beamer}

\usepackage{tikz}
\usetikzlibrary{positioning}

\setbeamertemplate{frametitle}{
\vskip1cm
  \tikz[remember picture,overlay]{
    \node(a)[fill=black,rectangle,minimum width=.25cm,minimum height=1cm,anchor=north west]at(current page.north west){};
\node(b)[anchor=west]at(a.west){\insertframetitle};
\draw[red, line width = 1mm, below left=1cm and 3cm of a](a.south west)--+(11.8,0);
  }
  \vskip-1cm 
}

\begin{document}
\frame{\frametitle{Gggg}
}
\frame{\frametitle{Aaaa}
}
\end{document}

答案1

\strut是您正在寻找的命令:

\documentclass[17pt,t]{beamer}

\usepackage{tikz}
\usetikzlibrary{positioning}

\setbeamertemplate{frametitle}{
    \vskip1cm
    \tikz[remember picture,overlay]{
        \node(a)[fill=black,rectangle,minimum width=.25cm,minimum height=1cm,anchor=north west]at(current page.north west){};
        \node(b)[anchor=west]at(a.west){\strut\insertframetitle};
        \draw[red, line width = 1mm, below left=1cm and 3cm of a](a.south west)--+(11.8,0);
    }
    \vskip-1cm 
}

\begin{document}
    \frame{\frametitle{Gggg}
    }
    \frame{\frametitle{Aaaa}
    }
\end{document}

在此处输入图片描述

相关内容