我希望标题文本始终从同一位置开始(即始终在同一高度垂直居中;在下面提供的示例中,第一个标题高于第二个标题,因为“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}