Как создать таблицу с подписями слева и сверху?

Как создать таблицу с подписями слева и сверху?

Я хотел бы создать таблицу следующего вида (извините за неаккуратное фото):

введите описание изображения здесь

В частности, у меня возникли трудности с размещением слов «Вход» и «Выход» в дополнение к стандартной надписи «Таблица 1» внизу.

Буду признателен за любые советы. Я использую пакеты tabularx или booktabs.

решение1

Как только что упомянул Джон Кормило, я использовал \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}

введите описание изображения здесь

Почему это плохо? Вообще не понятно, что такое «вход» и «выход».

Связанный контент