答案1
欢迎使用 TeX.SE!为了合并行或列,您需要分别使用\multirow
(需要multirow
包)或\multicolumn
。如果您嵌套它们,则需要这样做按正确的顺序。
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|p{0.6in}|p{0.3in}|p{0.9in}|p{0.9in}|p{0.8in}|} \hline
\multicolumn{2}{|c|}{\multirow{2}{*}{$P_\mathrm{batt}$}} &
\multicolumn{3}{|c|}{$P_\mathrm{mot}$ } \\ \cline{3-5}
\multicolumn{2}{|c|}{} & S & M & H \\ \cline{1-5}
\multirow{3}{*}{SOC} & S & S & Z & VS \\ \cline{2-5}
& M & M & Z & H \\ \cline{2-5}
& H & M & Z & H \\ \hline
\end{tabular}
\end{document}
答案2
有了它\multirow
,\multicolumn
您就可以达到您的需要。
我还创建了一种新的列类型,用于使单元格内容居中,并重新定义\arraystretch
为在行之间留出更多垂直空间。
不过,我建议您摆脱垂直规则并使用booktabs
。
\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\renewcommand{\arraystretch}{1.3}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
Your table:\vspace{10pt}
\begin{tabular}{|p{0.6in}|C{0.3in}|C{0.4in}|C{0.4in}|C{0.4in}|} \hline
\multicolumn{2}{|c|}{\multirow{2}{*}{$P_{batt}$}}& \multicolumn{3}{c|}{$P_{mot}$} \\ \cline{3-5}
\multicolumn{2}{|c|}{} & S & M & H \\ \hline
& S & S & Z & VS \\ \cline{2-5}
SOC & M & M & Z & H \\ \cline{2-5}
& H & M & Z & H \\ \hline
\end{tabular}
\vspace{10pt}My suggestion:\vspace{10pt}
\begin{tabular}{lc*{3}{C{1.5em}}}
\toprule
\multicolumn{2}{c}{\multirow{2}{*}{$P_{batt}$}}& \multicolumn{3}{c}{$P_{mot}$} \\ \cmidrule{3-5}
\multicolumn{2}{c}{} & S & M & H \\ \midrule
& S & S & Z & VS \\ \cmidrule(l){2-5}
SOC & M & M & Z & H \\ \cmidrule(l){2-5}
& H & M & Z & H \\
\bottomrule
\end{tabular}
\end{document}
答案3
适用于列中每项的内容都应放在列标题中。以下是我的建议:
\documentclass[twocolumn]{article}
\usepackage{array,booktabs}
\usepackage{lipsum} % for context
\begin{document}
\lipsum[2]
\begin{table}[htp]
\centering
\begin{tabular}{ @{} *{4}{w{c}{3em}} @{} }
\toprule
$P_{\mathrm{batt}}$ & \multicolumn{3}{c}{$P_{\mathrm{mot}}$} \\
\cmidrule(r){1-1} \cmidrule(l){2-4}
SOC & S & M & H \\
\midrule
S & S & Z & VS \\
M & M & Z & H \\
H & M & Z & H \\
\bottomrule
\end{tabular}
\caption{Rule based of fuzzy logic control}
\end{table}
\lipsum
\end{document}