答え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}
余談ですが、「入力」は右側のキャプションではなく、最初の(非表示の)列の 2 行を占める必要がある 1 つのエントリです。
答え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}
なぜ悪いのでしょうか? 「入力」と「出力」が何を指しているのか全く明確ではありません。