答案1
正如 John Kormylo 刚才提到的,我使用\multicolumn{}{}{}
来作为顶部标题,并使用 来调整位置\raisebox{}{}
,还使用 来\multirow[]{}{}{}
作为左侧标题,使用表格环境来作为底部标题,使用\centering
和\hspace*{}
来居中并调整tabular
环境。结果如下所示。
\documentclass[12pt,twoside,a4paper]{book}
\usepackage[left=.45in,right=.45in,top=.6in,bottom=.6in,headheight=14.5pt]{geometry}
\usepackage{array,multirow}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{table}
\centering
\hspace*{-2cm}\begin{tabular}{C{1.2cm}cC{0.5cm}|c|c|c}
\multicolumn{5}{r}{\raisebox{2ex}{Output}} \\
&& & \bfseries X & \bfseries Y & \\ \cline{2-6}
\multirow[]{2}{3cm}{Input} && \bfseries X & \bfseries A & \bfseries B & \\ \cline{3-6}
&& \bfseries Y & \bfseries C & \bfseries D & \\ \cline{2-6}
&& & & & \\
\end{tabular}
\caption{Blah Blah Blah}
\label{Table:1}
\end{table}
\end{document}
答案2
不要在 的序言中指定列格式\tabularx
。相反,您需要使用类似 的格式\multicolumn{1}{C|}{content}
,这将帮助您仅在某些位置绘制垂直线。您还需要定义一种新的列类型\newcolumntype{C}{ >{ \arraybackslash \Centering } X }
,以使列宽相等。
以下是完整的源代码:
\documentclass{scrartcl}
\usepackage{float}
\usepackage{tabularx}
\newcolumntype{C}{ >{ \arraybackslash \Centering } X }
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{ragged2e}
\usepackage{makecell}
\begin{document}
\begin{table}[]
\caption{Caption}
\label{table:1}
% Center the table
\centering
% Stretch the table (vertically)
\renewcommand{\arraystretch}{1.3}
\begin{tabularx}{0.6\textwidth}{ >{\hsize=0.8\hsize}C C C C}
& & \multicolumn{2}{c}{Output}
\\
& & \multicolumn{1}{|C|}{X} & \multicolumn{1}{C}{Y}
\\
\Xcline{2-4}{0.2mm}
\multirow{2}{2cm}{\centering Input} & \multicolumn{1}{C|}{X} & \multicolumn{1}{C|}{A} & \multicolumn{1}{C}{B}
\\
\Xcline{2-4}{0.2mm}
& \multicolumn{1}{C|}{Y} & \multicolumn{1}{C|}{C} & \multicolumn{1}{C}{D}
\end{tabularx}
\end{table}
\end{document}
顺便说一句,“输入”不是右侧的标题,它只是一个需要占据第一(隐藏)列两行的条目。
答案3
你可以这样做,但我不认为这是呈现表格的好方法。
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{table}[htp]
\centering
\setlength{\tabcolsep}{2\tabcolsep}% double the default
\begin{tabular}{@{}lc|c|c|}
& \multicolumn{1}{c}{} & \multicolumn{2}{c}{Output} \\
& & X & Y \\
\cline{2-4}
\multirow{2}{*}{Input}
& X & A & B \\
\cline{2-4}
& Y & C & D \\
\cline{2-4}
\end{tabular}
\caption{Blah blah blah}
\end{table}
\end{document}
为什么不好?“输入”和“输出”指的是什么,根本不清楚。