Tabularx 表格中每行都有多列对齐问题,无需添加额外的行

Tabularx 表格中每行都有多列对齐问题,无需添加额外的行

我正在尝试在 tex 中创建一个表,其中每一行由合并单元格的某种组合组成。

当我生成表格时,只要添加一个额外的行,它看起来就很好: 在此处输入图片描述

但是,我不想在末尾有多余的行,但是当我将其从代码中删除时,对齐不再正确。

在此处输入图片描述

我该怎么做才能解决这个问题?这是我正在使用的基本代码。

我对此很陌生,所以任何帮助都将不胜感激。

\documentclass[11pt]{article} % use larger type; default would be 10pt

\usepackage{tabularx} % make it possible to include more than one captioned figure/table in a single float

\begin{document}

\begin{table}[h]
\begin{tabularx}{\linewidth}{|X|X|X|X}
\hline
\multicolumn{4}{|c|} {Hello} \\ \hline
\multicolumn{2}{|c|} {Hello} & \multicolumn{2}{c|}{Bye}\\ \hline
\multicolumn{3}{|c|} {Hello} & \multicolumn{1}{c|}{Bye}\\ \hline
\multicolumn{1}{|c|} {Hello} & \multicolumn{3}{c|}{Bye}\\ \hline
%&&&\\
\end{tabularx}
\end{table}



\end{document}

答案1

您没有有效的X列。

如果您添加没有的假行,|您可以将其备份。

\documentclass[11pt]{article} % use larger type; default would be 10pt

\usepackage{tabularx} % make it possible to include more than one captioned figure/table in a single float

\begin{document}

\begin{table}[htp]
\begin{tabularx}{\linewidth}{|X|X|X|X}
\multicolumn{1}{X}{}&
\multicolumn{1}{X}{}&
\multicolumn{1}{X}{}&
\multicolumn{1}{X}{}\\[-\baselineskip]
\hline
\multicolumn{4}{|c|} {Hello} \\ \hline
\multicolumn{2}{|c|} {Hello} & \multicolumn{2}{c|}{Bye}\\ \hline
\multicolumn{3}{|c|} {Hello} & \multicolumn{1}{c|}{Bye}\\ \hline
\multicolumn{1}{|c|} {Hello} & \multicolumn{3}{c|}{Bye}\\ \hline
\end{tabularx}
\end{table}



\end{document}

答案2

您可以使用 来实现这{NiceTabular}一点nicematrix

\documentclass[11pt]{article}

\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{X[c]X[c]X[c]X[c]}[hvlines]
\Block{1-4}{Hello} \\
\Block{1-2}{Hello} && \Block{1-2}{Bye} \\
\Block{1-3}{Hello} &&& Bye \\
Hello & \Block{1-3}{Bye}
\end{NiceTabular}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容