答案1
有或没有垂直规则的几种解决方案:
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{multirow}
\newcolumntype{L}{>{$}l<{$}}
\newcolumntype{C}{>{$}c<{$}}
\renewcommand*{\arraystretch}{1.4}
\usepackage{caption}
\begin{document}
Table~\ref{yours} is as your image.
\begin{table}
\centering
\caption{Categorical classification of variables\label{yours}}
\begin{tabular}{|LL|LL|C|C|}
\cline{5-6}
\multicolumn{4}{c|}{}& \multicolumn{2}{C|}{Y_{i}}\\
\hline
\multicolumn{4}{|c|}{}&\text{Yes $(1)$}& \text{No $(0)$} \\
\hline
\multicolumn{2}{|c|}{}&\multicolumn{1}{c}{}& 1 & a & b \\
\cline{4-6}
\multirow{2}{*}{$X_{i}$} & 0 & X_{i_{1}} & 2 & c & d \\
\cline{2-6}
& 1 & X_{i_{2}} & 1 & e & f \\
\cline{4-6}
&&& 2 & g & h \\
\hline
\end{tabular}
\end{table}
Table~\ref{mine} is without vertical rules.
\begin{table}
\centering
\caption{Categorical classification of variables\label{mine}}
\begin{tabular}{LLLLCC}
\multicolumn{4}{c}{}& \multicolumn{2}{C}{Y_{i}}\\
\cline{5-6}
\multicolumn{4}{c}{}&\text{Yes $(1)$}& \text{No $(0)$} \\
\hline
\multicolumn{2}{c}{}&\multicolumn{1}{c}{}& 1 & a & b \\
\cline{4-6}
\multirow{2}{*}{$X_{i}$} & 0 & X_{i_{1}} & 2 & c & d \\
\cline{2-6}
& 1 & X_{i_{2}} & 1 & e & f \\
\cline{4-6}
&&& 2 & g & h \\
\hline
\end{tabular}
\end{table}
\end{document}
如果单元格内容是纯文本而不是数学模式,只需将L
和C
(我创建的新列类型)更改为l
和c
。
答案2
一种简单的方法是使用多行包(http://ftp.fau.de/ctan/macros/latex/contrib/multirow/multirow.pdf) 和 tabularx(如果需要)。它提供了将单元格合并到一行或一列中的可能性。
编辑:代码示例(抱歉忘记了)。这不是完整的表格,但它应该能让人感受到如何处理多列和多行。
\documentclass{scrartcl}
\usepackage{multirow}
\begin{document}
\begin{tabular}{ll|ll|}
\cline{3-4}
& & \multicolumn{2}{c|}{$Y$}\\
\multirow{3}{*}{X} & & &a\\\cline{4-4}
& & &b \\ \cline{4-4}
& & &c \\ \cline{4-4}
\end{tabular}
\end{document}