下面的代码
\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}