垂直线仅出现在表格的一部分

垂直线仅出现在表格的一部分

我需要一些帮助,以便在表格的第二部分放置垂直线,我不知道该怎么做,因为tabularx我声明的确实只需要在第二部分中放置垂直线。我使用的代码是:

\begin{tabularx}{\linewidth}{|XX|}
\hline
\multicolumn{2}{|c|}{\textbf{title name}}\\
\hline
something: & else \\
something: & else \\
something: & else \\
\hline
\multicolumn{2}{|c|}{bla bla blah}\\
\hline
title text: & description 1 \\
title text: & description 1 \\
\hline
\end{tabularx}

表格的渲染效果如下:

https://i.stack.imgur.com/nFQI1.png

我只是需要\vline在标题文本和描述之间添加一个(我使用\vline它仅适用于第一行,但描述文本和有时的标题只有几行长)。

答案1

我只需将相应的项目放在\multicolumn{1}{|c|}{...}

\documentclass{article}
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\begin{document}
\begin{tabularx}{\linewidth}{|XX|}
  \hline
  \multicolumn{2}{|c|}{\textbf{title name}}\\
  \hline
  something: & else \\
  something: & else \\
  something: & else \\
  \hline
  \multicolumn{2}{|c|}{bla bla blah}\\
  \hline
  \multicolumn{1}{|l|}{title text:} & description 1 \\
  \multicolumn{1}{|l|}{title text:} & description 1 \\
  \hline
\end{tabularx}
\end{document}

tabularx 具有正确的列线

为了改善表格的视觉布局,我建议使用booktabs包裹。它提供了不同的水平线(不同粗细),整齐地分隔表格标题和内容。然而,由于这个原因,使用垂直线(沿列向下)的间距被认为是有问题的。事实上,booktabs文档规定了制作出版风格表格时需要考虑的两个要点:

  1. 永远不要使用垂直规则。
  2. 切勿使用双重规则。

第一个限制的原因是表格本身就与柱状结构有一些水平对齐。因此,添加垂直线会强调这一点。这是原始 MWE 的模型,使用标准booktabs表示法显示表格:

booktabs tabularx

答案2

您可以定义一个宏,用于将 vline 放置在任意单元格之间:

\def\arrvline{\hfil\kern\arraycolsep\vline\kern-\arraycolsep\hfilneg}

例子:

$$
\begin{array}{cccc}
    a & b \arrvline& c & d\\
    f \arrvline& 1asd & 2 & g \\
    f & 1asd & 2 & g \\
\end{array}
$$

会产生:

pdflatex 输出

(对于右对齐的列可能无法正常工作)

相关内容