如何在表格中的\ hline后添加间距?我可以在使用\ vspace之前添加间距,但是如果我尝试在\ hline之后添加间距,则间距将在下一行文本之后。以下是我到目前为止的情况:
\multicolumn{2}{Hello!} \vspace{4pt} \\
\hline \textit{Hi!} & \textit{Ho!}
我不想在\ hline之后添加换行符并执行类似\ vspace {-xxpt}或使用\ rule的操作,因为从Hevea生成的HTML文档会很难看。
答案 0 :(得分:17)
使用\hline
创建一个新行,并使用负间距修剪它:
\multicolumn{2}{c}{Hello!} \\\
\hline \\\ [-1.5ex]
\textit{Hi!} & \textit{Ho!}
答案 1 :(得分:8)
我认为你的问题是当每行之间的hlines时,表中的垂直linekip不够大。解决方案是添加
\usepackage{tabularx}
\setlength{\extrarowheight}{3pt}
进入你的序言。
答案 2 :(得分:4)
在尝试自己回答这个问题时,我遇到了来自https://www.msu.edu/~harris41/latex_tablespacing.html
的以下黑客攻击我正在使用M456上面提到的解决方案,但这在表格环境中不能很好地适应垂直规则,因此我认为这是一个错误的选择作为默认解决方案(通常我不包括垂直规则,但是为了清楚起见,我的一张桌子确实需要它们。
这个想法是定义一个支柱,它应该包含在一个单元格的一个单元格中,该行位于hline之前或之后。即在序言中:
\newcommand\tstrut{\rule{0pt}{2.4ex}}
\newcommand\bstrut{\rule[-1.0ex]{0pt}{0pt}}
\begin{tabular}{ccc}
\hline\hline
Head 1 & Head 2 & Head 3 \tstrut \bstrut \\\\
\hline
a1 & a2 & a3 \tstrut \\\\
b1 & b2 & b3 \\\\
c1 & c2 & c3 \\\\
d1 & d2 & d3 \bstrut \\\\
\hline\hline
\end{tabular}
(我在网页上稍微调整了支柱尺寸 - 根据您的喜好进行调整)
可能有更好的方法可以做到这一点,但这似乎足够干净,并且很容易定制。
答案 3 :(得分:3)
如果您担心除TeX以外的其他程序的输出,正确的方法是定义更高级别的命令或环境来执行您想要的操作,使用定义中的任何脏黑客来使TeX输出看起来很好,并分别定义其HTML含义(我不知道在Hevea中如何做到这一点,但我想任何合理的TeX处理器都会有这种设施)。
也许这已经为你解决了:例如booktabs会产生你喜欢的LaTeX表格吗? Hevea能很好地处理booktabs命令吗?如果booktabs不能达到你想要的效果,那么它的源代码可能会很有趣 - 它只是设置行的宽度和空格,以便表格看起来很漂亮。
答案 4 :(得分:2)
这可能会有所帮助:
\newcommand{\hlinee}{\begin{tabular}{p{\textwidth}}\hline\ \\\end{tabular}}
另外还有另一个:
\newcommand{\hlineee}{\begin{tabular}{p{\textwidth}}\hline\ \end{tabular} \\[-2.5ex] }
然后使用例如:
foo\\
\hlineee
foo2
NTG
答案 5 :(得分:0)
不确定这是否适用于表格环境,但您可以在\ hline周围尝试\ minipage:
\begin{minipage}{ <width> }
... \hline \vspace{4pt}
\end{minipage}