我想创建一个这样的表格:
- 第 1 行:2 列,每列 50%。
- 第二行:9 列,给定大小。
我尝试使用这个答案中的方法:
创建 10X
列并根据方案将它们合并。
但我得到的并不是期望的结果:
\documentclass[8pt]{extarticle}
\usepackage[a5paper]{geometry}
\geometry{verbose,tmargin=1cm,bmargin=1.5cm,lmargin=0.7cm,rmargin=0.7cm}
\usepackage{array}
\usepackage{tabularx}
\setlength{\parindent}{0cm}
\begin{document}
\begin{tabularx}{\textwidth}{ |*{10}{X} }
\hline
\multicolumn{5}{|X}{50\%} & \multicolumn{5}{|X|}{50\%}\\
\hline
\multicolumn{1}{|m{12mm}}{12mm} &
\multicolumn{1}{|m{9mm}}{9mm} &
\multicolumn{1}{|m{17mm}}{17mm} &
\multicolumn{1}{|m{11mm}}{11mm} &
\multicolumn{2}{|X}{X} &
\multicolumn{1}{|m{18mm}}{18mm} &
\multicolumn{1}{|m{17mm}}{17mm} &
\multicolumn{1}{|r}{r} &
\multicolumn{1}{|r|}{r}\\
\hline
\end{tabularx}
\end{document}
怎么修?
答案1
注意,如果你在多列中使用垂直线,则只能在左边条目(行中第一个条目除外,因为它的任一侧都可以有它们),否则它们将无法正确排列。
\documentclass[8pt]{extarticle}
\usepackage[a5paper]{geometry}
\geometry{verbose,tmargin=1cm,bmargin=1.5cm,lmargin=0.7cm,rmargin=0.7cm}
\usepackage{array}
\usepackage{tabularx}
\setlength{\parindent}{0cm}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{ |m{12mm}|m{9mm}|m{17mm}|m{11mm}|X|m{18mm}|m{17mm}|r|r|}
\hline
\multicolumn{9}{|@{}c@{}|}{\begin{tabularx}{\dimexpr\hsize-2\arrayrulewidth\relax}
{X|X}
50\% & 50\% \\
\hline
50\% & 50\% \end{tabularx}}\\
\hline
12mm &
9mm &
17mm &
11mm &
X &
18mm &
17mm &
r &
r\\
\hline
\end{tabularx}
\end{document}
答案2
Maybe a simple solution?
\documentclass[8pt]{extarticle}
\usepackage[a5paper]{geometry}
\geometry{verbose,tmargin=1cm,bmargin=1.5cm,lmargin=0.7cm,rmargin=0.7cm}
\usepackage{array}
\usepackage{tabularx}
\setlength{\parindent}{0cm}
\begin{document}
%\begin{tabularx}{\textwidth}{ |*{10}{X} }
\begin{tabularx}{\textwidth}{ |*{9}{X} }
\hline
% \multicolumn{5}{|X}{50\%} & \multicolumn{5}{|X|}{50\%}\\
\multicolumn{9}{|c|}{50\%\hfil\vline\hfil50\%\hfil } \\
\hline
\multicolumn{1}{|m{12mm}}{12mm} &
\multicolumn{1}{|m{9mm}}{9mm} &
\multicolumn{1}{|m{17mm}}{17mm} &
\multicolumn{1}{|m{11mm}}{11mm} &
% \multicolumn{2}{|X}{X} &
\multicolumn{1}{|X}{X} &
\multicolumn{1}{|m{18mm}}{18mm} &
\multicolumn{1}{|m{17mm}}{17mm} &
\multicolumn{1}{|r}{r} &
\multicolumn{1}{|r|}{r}\\
\hline
\end{tabularx}
\end{document}