![如何在表格中设置自定义空间以使多列表现良好?](https://linux22.com/image/464552/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%A1%A8%E6%A0%BC%E4%B8%AD%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%AE%9A%E4%B9%89%E7%A9%BA%E9%97%B4%E4%BB%A5%E4%BD%BF%E5%A4%9A%E5%88%97%E8%A1%A8%E7%8E%B0%E8%89%AF%E5%A5%BD%EF%BC%9F.png)
下面的代码
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\raggedright
\begin{tabular}{l@{ }l@{ }l@{ }l}
super: & foo & bar & baz\\
cali: & \multicolumn{2}{@{ }l}{foobar} & baz\\
fragili: & foo & bar & baz\\
stichespi: & foo & bar & baz\\
ralidoso: & \multicolumn{2}{l}{foobar} & baz\\
\end{tabular}
\end{center}
\end{document}
生成这个
很明显,第二行的@{ }
产生\multicolumn
了影响,因为它与第五行的间距不同。
另一方面,如果我将这些自定义空间设置为零,即@{}
,
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\raggedright
\begin{tabular}{l@{}l@{}l@{}l}
super: & foo & bar & baz\\
cali: & \multicolumn{2}{@{}l}{foobar} & baz\\
fragili: & foo & bar & baz\\
stichespi: & foo & bar & baz\\
ralidoso: & \multicolumn{2}{l}{foobar} & baz\\
\end{tabular}
\end{center}
\end{document}
那么我会得到一致的间距,尽管还不够:
答案1
除了第一列@{}
(和|
)被视为前列,所以\multicolumn
你几乎总是应该使用l@{ }
不@{ }l
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\raggedright
\begin{tabular}{l@{ }l@{ }l@{ }l}
super: & foo & bar & baz\\
cali: & \multicolumn{2}{@{}l@{ }}{foobar} & baz\\
fragili: & foo & bar & baz\\
stichespi: & foo & bar & baz\\
ralidoso: & \multicolumn{2}{@{}l@{ }}{foobar} & baz\\
\end{tabular}
\end{center}
\end{document}