抑制列环境前的垂直偏移

抑制列环境前的垂直偏移

列环境与 相结合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}

二氧化碳

如果没有table环境的话,垂直对齐就更糟糕了! 二氧化碳

此外,列内的文本与之前的文本没有正确水平对齐。虽然这个问题已经得到解决,没有真正的解决方案列宽使用哪个值

您对如何抑制文本和之间的垂直偏移有什么建议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}

相关内容