我在 Latex 中使用下表。我想减小标题和表格之间的距离。我还想调整表格和上方文本之间的距离;以及标题和下方文本之间的距离。
于是我在谷歌上搜索。我找到了\captionsetup[table]{belowskip=0pt}
或\setlength{\abovetopsep}{10pt}
等等。但它们不起作用。我看不出有什么区别。
\begin{tabularx}{\textwidth}{XXXXX}
\toprule
F & G & E \\\midrule
convex & convex &- \\\midrule
$C^{1,1}$ & convex &- \\\midrule
- & - & convex\\\midrule
convex &convex &- \\\bottomrule
\end{tabularx}\captionof{table}{Comparison of solvers}
答案1
相反,captionof
您可以将其置于浮动环境tabularx
中table
并使用正常方式caption
。然后,您应该能够使用\vspace{}
指令调整间距。
例如,
\begin{table}
\vspace{-1cm} % reduce distance above table
\begin{tabularx}{\textwidth}{XXXXX}
\toprule
F & G & E \\\midrule
convex & convex &- \\\midrule
$C^{1,1}$ & convex &- \\\midrule
- & - & convex\\\midrule
convex &convex &- \\\bottomrule
\end{tabularx}
\vspace{-2cm} % Reduce distance between caption and table
\caption{Comparison of solvers}
\vspace{-2cm} % Reduce distance after caption to text
\end{table}
并将 vspace 参数更改为您想要的值。负值将使文本更近,正值将增加空间。
答案2
假设标题设置在表格材料下方——就像你的例子一样——垂直空间多于标题由长度参数控制\abovecaptionskip
。其默认值是文档的标称字体大小,例如10pt
。要更改此参数,请使用\setlength\abovecaptionskip{<some length>}
。
\documentclass{article}
\usepackage{tabularx,caption}
\setlength\parindent{0pt} % just for this example
\begin{document}
\verb+\abovecaptionskip+ at default value:
\begin{tabularx}{\textwidth}{X}
\hline
\end{tabularx}
\captionof{table}{First dummy table}
\vspace{2cm}
\setlength\abovecaptionskip{2\baselineskip}
\verb+\abovecaptionskip+ set to \verb+2\baselineskip+:
\begin{tabularx}{\textwidth}{X}
\hline
\end{tabularx}
\captionof{table}{Second dummy table}
\end{document}