当我需要在段落内放置tabular
或时(通常在考试或课堂笔记中),我会使用因为环境占用了太多垂直空间。但我不喜欢我的解决方案,因为或离前后段落太近。我希望图形和段落之间的垂直空间与行之间的垂直空间相似。我该怎么做?figure
{\par\centering <tabular>/<figure>\par}
center
tabular
figure
\documentclass{article}
\usepackage{booktabs}
\usepackage{mwe}
\usepackage{lipsum}
\begin{document}
\lipsum[2]
{\par\centering
\begin{tabular}{ccc}
\toprule
a & b & c\\
\midrule
1 & 2 & 3\\
4 & 5 & 6\\
\bottomrule
\end{tabular}\par}
\lipsum[2]
{\par\centering
\includegraphics[width=.75\linewidth]{example-image}\par}
\lipsum[2]
\end{document}
答案1
定义您自己的环境:
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{booktabs}
\usepackage{mwe}
\usepackage{lipsum}
\newenvironment{rcenter}
{\setlength{\topsep}{.5ex}\center}
{\endcenter}
\begin{document}
\lipsum[2]
\begin{rcenter}
\begin{tabular}{ccc}
\toprule
a & b & c\\
\midrule
1 & 2 & 3\\
4 & 5 & 6\\
\bottomrule
\end{tabular}
\end{rcenter}
\lipsum[2]
\begin{center}
\begin{tabular}{ccc}
\toprule
a & b & c\\
\midrule
1 & 2 & 3\\
4 & 5 & 6\\
\bottomrule
\end{tabular}
\end{center}
\lipsum[2]
\begin{rcenter}
\includegraphics[width=.75\linewidth]{example-image}
\end{rcenter}
\lipsum[2]
\end{document}
答案2
\addvbuffer
该包的命令提供verbatimbox
了在对象上方和下方添加对称或非对称缓冲空间的功能(包括在表格、图像、“纯文本”等的上方和下方添加空间)。其语法可以是
\addvbuffer[space-above space-below]{object]
或者
\addvbuffer[symmetric-space]{object}
或者
\addvbuffer{object}
在最后一种情况下,它使用与包相关的可重新定义长度来设置缓冲空间。它甚至可以使用负空间来缩小预先存在的边框。
以下是 [粗略地讲] 您的代码,其中有一些\addvbuffer
已应用。我使用上面显示的前两个语法。
\documentclass{article}
\usepackage{booktabs}
\usepackage{mwe}
\usepackage{lipsum}
\usepackage{verbatimbox}
\begin{document}
\lipsum[2]
{\par\centering
\addvbuffer[1ex]{
\begin{tabular}{ccc}
\toprule
a & b & c\\
\midrule
1 & 2 & 3\\
4 & 5 & 6\\
\bottomrule
\end{tabular}
}
\par}
\lipsum[2]
\scshape
The following figure is shown with asymmetric buffering on purpose, to
demonstrate the capability of the \verb|\addvbuffer| macro. It also
shows the use of a negative buffer space.
\upshape
\begin{center}
\addvbuffer[3ex -2ex]{\rule{.75\linewidth}{.5in}}
\end{center}
\lipsum[2]
\end{document}