列环境与 相结合tabular
似乎verbatim
会在文本中产生巨大的垂直偏移,我不知道如何消除它:
\documentclass[12pt]{beamer}
\usetheme{Madrid}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{verbatim, booktabs}
\begin{document}
\begin{frame}{Irgendeine Überschrift}
Etwas sinnloser Text, der länger als eine Zeile werden soll und deshalb noch ein paar Wörter braucht.
\begin{columns}[T]
\begin{column}{0.485\textwidth}
Blabla1
\end{column}
\begin{column}{0.485\textwidth}
Blabla2
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{Beispiel für eine Tabelle}
Etwas sinnloser Text, der länger als eine Zeile werden soll und deshalb noch ein paar Wörter braucht.
\begin{columns}[T]
\begin{column}{0.485\textwidth}
\begin{table}
\caption{Chemische Elemente}
\begin{tabular}{rlr}
\toprule
OZ & Element & MZ \\
\midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\
\bottomrule
\end{tabular}
\end{table}
\end{column}
\begin{column}{0.485\textwidth}
\begin{verbatim}
\begin{tabular}{rlr}
\toprule
OZ & Element & MZ \\
\midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\
\bottomrule
\end{tabular}
\end{verbatim}
\end{column}
\end{columns}
\end{frame}
\end{document}
此外,列内的文本与之前的文本没有正确水平对齐。虽然这个问题已经得到解决前,没有真正的解决方案列宽使用哪个值。
您对如何抑制文本和之间的垂直偏移有什么建议columns
,并且理想情况下让列也与文本水平对齐?
答案1
您可以在加载库后verbatim
添加以抑制上方的空间。此外,标题上方自然会有一些默认空间(大约 10pt),您可以通过添加一些合适的值来控制此空间,例如:。\preto{\@verbatim}{\topsep=0pt \partopsep=0pt}
etoolbox
\setlength{\abovecaptionskip}{-.5\baselineskip}
\documentclass[12pt]{beamer}
\usetheme{madrid}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{verbatim, booktabs}
\usepackage{etoolbox}
\makeatletter
\preto{\@verbatim}{\topsep=0pt \partopsep=0pt}
\makeatother
\begin{document}
\begin{frame}{Irgendeine Überschrift}
Etwas sinnloser Text, der länger als eine Zeile werden soll und deshalb noch ein paar Wörter braucht.
\begin{columns}[T]
\begin{column}{0.485\textwidth}
Blabla1
\end{column}
\begin{column}{0.485\textwidth}
Blabla2
\end{column}
\end{columns}
\end{frame}
\begin{frame}[fragile]{Beispiel für eine Tabelle}
Etwas sinnloser Text, der länger als eine Zeile werden soll und deshalb noch ein paar Wörter braucht.
\begin{columns}[T]
\begin{column}{0.485\textwidth}
\setlength{\abovecaptionskip}{-.5\baselineskip}
\begin{table}
\caption{Chemische Elemente}
\begin{tabular}{rlr}
\toprule
OZ & Element & MZ \\ \midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\ \bottomrule
\end{tabular}
\end{table}
\end{column}
%
\begin{column}{0.485\textwidth}
\begin{verbatim}
\begin{tabular}{rlr}
\toprule
OZ& Element & MZ\\
\midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\
\bottomrule
\end{tabular}
\end{verbatim}
\end{column}
\end{columns}
\end{frame}
\end{document}
答案2
(这个答案仅涉及frame
您帖子中的第二个环境。我不确定第一个frame
环境的用途是什么。)
看起来columns
环境在它自身和它前面的材质(如果有的话)之间添加了一点垂直填充。如果你真的不想要这个填充(无论如何,我不会称之为“巨大”的填充)——只需使用并排minipage
环境(宽度为0.5\textwdith
)。
顺便说一句,请注意,在文档中使用table
环境通常毫无意义beamer
。不要使用它们。
以下屏幕截图(由指令生成)中的水平线仅仅是为了说明如果使用环境\hrule
则不会插入垂直填充。minipage
\documentclass[12pt]{beamer}
\usetheme{Madrid}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{verbatim, booktabs}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{Beispiel für eine Tabelle}
Etwas sinnloser Text, der länger als eine Zeile werden
soll und deshalb noch ein paar Wörter braucht.
\hrule % just to illustrate width of entire textblock
\begin{minipage}[t]{0.5\textwidth}
\raggedright
Chemische Elemente
\begin{tabular}{rlr}
\toprule
OZ & Element & MZ \\
\midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\
\bottomrule
\end{tabular}
\end{minipage}% <--- "%" is important
\begin{minipage}[t]{0.5\textwidth}
\begin{verbatim}
\begin{tabular}{rlr}
\toprule
OZ & Element & MZ \\
\midrule
1 & H & 1 \\
2 & He & 4 \\
3 & Li & 7 \\
4 & Be & 9 \\
5 & B & 11 \\
\bottomrule
\end{tabular}
\end{verbatim}
\end{minipage}
\end{frame}
\end{document}