如何建立帶有左側和頂部“標題”的表格?

如何建立帶有左側和頂部“標題”的表格?

我想創建一個如下所示的表格(請原諒馬虎的照片):

在此輸入影像描述

特別是,除了底部的標準「表 1」標題之外,我很難定位「輸入」和「輸出」這兩個詞。

任何提示表示讚賞。我正在使用 tabularx 或 booktabs 套件。

答案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}

在此輸入影像描述

為什麼不好?根本不清楚「輸入」和「輸出」指的是什麼。

相關內容