Wie erstelle ich eine Tabelle mit „Überschriften“ oben und links?

Wie erstelle ich eine Tabelle mit „Überschriften“ oben und links?

Ich möchte eine Tabelle wie die folgende erstellen (verzeihen Sie das schlampige Foto):

Bildbeschreibung hier eingeben

Insbesondere habe ich Schwierigkeiten, die Wörter „Eingabe“ und „Ausgabe“ zusätzlich zur Standardüberschrift „Tabelle 1“ unten zu positionieren.

Jeder Tipp ist willkommen. Ich verwende die Pakete tabularx oder booktabs.

Antwort1

Wie gerade von John Kormylo erwähnt, habe ich \multicolumn{}{}{}für die obere Überschrift verwendet und die Position mithilfe von angepasst \raisebox{}{}, außerdem habe ich \multirow[]{}{}{}für die linke Überschrift verwendet, die Tabellenumgebung für die untere Überschrift verwendet, \centeringund \hspace*{}zum Zentrieren verwendet und die tabularUmgebung angepasst. Das Ergebnis wird unten angezeigt.

\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} 

Bildbeschreibung hier eingeben

Antwort2

Bildbeschreibung hier eingeben

Geben Sie in der Präambel von keine Spaltenformate an \tabularx. Stattdessen müssen Sie etwas wie verwenden \multicolumn{1}{C|}{content}, das Ihnen hilft, vertikale Linien nur an bestimmten Stellen zu zeichnen. Sie müssen auch einen neuen Spaltentyp definieren, \newcolumntype{C}{ >{ \arraybackslash \Centering } X }der die Spaltenbreiten angleicht.

Hier ist der vollständige Quellcode:

\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} 

Nebenbei bemerkt ist „Eingabe“ keine Überschrift auf der rechten Seite, sondern nur ein Eintrag, der zwei Zeilen in der ersten (versteckten) Spalte einnehmen muss.

Antwort3

Das können Sie tun, aber ich glaube nicht, dass dies eine gute Möglichkeit ist, eine Tabelle darzustellen.

\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}

Bildbeschreibung hier eingeben

Warum ist es schlecht? Es ist überhaupt nicht klar, worauf sich „Input“ und „Output“ beziehen.

verwandte Informationen