我使用tabular*
带有橡皮筋间距的 来填充整个页面宽度。这很好用,但当我使用 时\cline
,线条不完整。似乎\cline
不覆盖间距。我正在使用pdflatex
。下面您将找到一个代码示例。关于如何解决这个问题有什么想法吗?
\usepackage{array} % for defining a new column type
\usepackage{varwidth} %for the varwidth minipage environment
%...
\newcolumntype{M}{>{\begin{varwidth}{6cm}}l<{\end{varwidth}}} %M is for Maximal column
%...
\begin{tabular*}{15.5cm}{@{\extracolsep{\fill}} | M | r | r | r | r |}
\hline
\bf Omschrijving & \bf Hoeveelheid & \bf Prijs & \bf SubTotaal & \bf BTW\\
\hline
Armband 2 & 1 & 256.00 & 256.00 & 19.00\% \\
\hline
\multicolumn{3}{c |}{} & SubTotaal & 256.00\\
\multicolumn{3}{c |}{} & BTW (19.0) & 48.64\\
\multicolumn{3}{c |}{} & \bf Totaal & \bf 304.64\\
\cline{4-5}
\end{tabular*}
答案1
这是因为\extracolsep{\fill}
会产生未填充的空间\cline
。您可以通过删除 来验证这一点@{\extracolsep{\fill}}
。
除了移除那段橡胶外,你还可以通过以下方法进行修复
- 插入另一个,例如
\begin{tabular*}{15.5cm}{@{\extracolsep{\fill}}| M | r | r |@{\extracolsep{0pt}}r | r |}
- 或者通过使用宽度适合的表格环境来调整列宽而不是列分隔:
tabularx
。这是我的选择。
此外,我强烈建议省略所有这些妨碍阅读的垂直线。好的表格不需要网格!看看booktabs
包及其文档。我可能会使用顶线、标题下方的分隔线和底线,但根本不使用垂直线。比较好书中的表格,您也可以排版精美的表格。
答案2
如前所述(无示例),这是由tabularx
包裹。
更具体地说,它提供X
根据需要拉伸特定列以填充表格宽度的列类型。
常见用法格式为:
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
...
\begin{tabularx}{<width>}{..X..X..}
...
\end{tabularx}
这是您的最小示例:
\documentclass{article}
%\usepackage{array}% http://ctan.org/pkg/array
\usepackage[margin=1cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\begin{document}
%\newcolumntype{M}{>{\begin{varwidth}{6cm}}l<{\end{varwidth}}} %M is for Maximal column
\noindent%
\begin{tabularx}{\linewidth}{| p{6cm} | X | X | X | X |}
\hline
\textbf{Omschrijving} & \textbf{Hoeveelheid} & \textbf{Prijs} & \textbf{SubTotaal} & \textbf{BTW} \\ \hline
Armband 2 & 1 & 256.00 & 256.00 & 19.00\% \\ \hline
\multicolumn{3}{c |}{} & SubTotaal & 256.00 \\ \multicolumn{3}{c |}{} & BTW (19.0) & 48.64 \\ \multicolumn{3}{c |}{} & \textbf{Totaal} & \textbf{304.64} \\ \cline{4-5}
\end{tabularx}
\end{document}
答案3
这不是一个真正的答案,但我想说的是,从一点点摆弄它似乎与橡胶长度无关,\extracolsep
效果并不好\cline
\documentclass{article}
\begin{document}
\begin{tabular}{|@{\extracolsep{1cm}}{l}@{\extracolsep{1cm}}|r|c|@{\extracolsep{0cm}}}
\cline{1-3}
one&two&three\\ \cline{2-3}
one&two&three\\ \cline{1-2}
one&two&three\\ \cline{2-2}
one&two&three\\ \cline{3-3}
\end{tabular}
\end{document}
结果是:
有几点是错误的:
- 为什么第一列这么挤压?
- 为什么没有在每一列的左右两侧添加空格?
- 为什么倾斜线没有完全到达垂直线?
我知道这不是答案……我很抱歉,如果人们认为我应该将此重新发布为问题,我很乐意这样做。为了安抚众神,我已将此答案标记为 CW,以便人们可以将问题转换为真正的答案,因为我认为这里有一些问题与原始问题非常相关。