![Tabularx 表格中每行都有多列对齐问题,无需添加额外的行](https://linux22.com/image/463148/Tabularx%20%E8%A1%A8%E6%A0%BC%E4%B8%AD%E6%AF%8F%E8%A1%8C%E9%83%BD%E6%9C%89%E5%A4%9A%E5%88%97%E5%AF%B9%E9%BD%90%E9%97%AE%E9%A2%98%EF%BC%8C%E6%97%A0%E9%9C%80%E6%B7%BB%E5%8A%A0%E9%A2%9D%E5%A4%96%E7%9A%84%E8%A1%8C.png)
我正在尝试在 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 节点)。