制作海报时,我有两列带有项目块的列。MWE:
\documentclass[final]{beamer}
\mode<presentation>{}
\usepackage{times}
\usepackage{amsmath,amssymb}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\begin{document}
\begin{frame}[t]{}
%\leavevmode
\begin{columns}[t, onlytextwidth]
\begin{column}{.5\linewidth}
\begin{block}{Contributions}
\begin{itemize}
\item First Item
\item Second Item
\end{itemize}
\end{block}
\end{column}
\begin{column}{.5\linewidth}
\begin{block}{Approach}
\begin{itemize}
\item First Item
\item Second Item
\end{itemize}
\end{block}
\end{column}
\end{columns}
\end{frame}
\end{document}
我的本地安装和 ShareLaTeX 会使项目符号(我添加的基线)错位:
该问题似乎类似于:
但这次 itemize 在块内时会发生这种情况。如果移除块,它就可以正常工作。
是我遗漏了什么还是这看起来像是 Beamer 的一个错误?
谢谢!我是 LaTeX 新手,如果我错过了什么愚蠢的东西,请见谅。
答案1
在您的示例中,第一个标题的深度为空(没有字母 或g
)y
。要解决 beamer 的此功能(或“错误”),您可以\vphantom{Ag}
在块的每个标题中添加(\vphantom
添加其内容的垂直幻影)。
\documentclass{beamer}
\usepackage{times}
\usepackage{amsmath,amssymb}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\begin{document}
\begin{frame}[t]{}
\begin{columns}[t, onlytextwidth]
\begin{column}{.45\linewidth}
\begin{block}{Contributions\vphantom{Ag}}
\begin{itemize}
\item First Item
\item Second Item
\end{itemize}
\end{block}
\end{column}
\begin{column}{.45\linewidth}
\begin{block}{Approach\vphantom{Ag}}
\begin{itemize}
\item First Item
\item Second Item
\end{itemize}
\end{block}
\end{column}
\end{columns}
\end{frame}
\end{document}
注意:如果您使用onlytextwidth
,则列宽总和应该小于\textwidth
(以便在列之间留出空间)。
答案2
如果有人喜欢更紧密的垂直间距,以下答案将忽略字母的下降部分:
\documentclass{beamer}
\setbeamercolor{block title}{bg=red!30,fg=black}
\setbeamertemplate{block begin}
{
\par\vskip\medskipamount%
\begin{beamercolorbox}[colsep*=.75ex]{block title}
\usebeamerfont*{block title}\strut\insertblocktitle\vskip-\dp\strutbox%
\end{beamercolorbox}%
{\parskip0pt\par}%
\ifbeamercolorempty[bg]{block title}
{}
{\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
\usebeamerfont{block body}%
\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
\ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
}
\begin{document}
\begin{frame}
\begin{block}{This title has a problem}
some text
\end{block}
\begin{block}{This title is about fine}
some text
\end{block}
\end{frame}
\end{document}