Einige Zeilen in der Tabelle entfernen

Einige Zeilen in der Tabelle entfernen
\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|c|}
\hline
&
\begin{sideways}ABCD\end{sideways} &
\begin{sideways}EFGH\end{sideways} &
\begin{sideways}IJKL\end{sideways} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}

Wie kann ich Linien wie in den Bildern unten entfernen?

Bildbeschreibung hier eingeben

Und wie kann ich die erste horizontale Linie etwas anheben? Das Endergebnis sollte sein:

Bildbeschreibung hier eingeben

Antwort1

Ich fürchte, es sind vier verschiedene Maßnahmen erforderlich:

  1. Entfernen Sie die vertikale Linie mit \multicolumn{1}{c|}{}.
  2. Entfernen Sie die horizontale Linie (das Segment) mit \cline{2-4}.
  3. Fügen Sie dem längsten Etikett oben etwas Platz hinzu.
  4. Wenn Sie die „inneren“ vertikalen Linien für den größten Teil der Tabelle nicht möchten, würde ich sie speziell für den Kopf hinzufügen.

Ergebnis:

\begin{tabular}{|c|ccc|}
  \cline{2-4}
  \multicolumn{1}{c|}{}&
  \multicolumn{1}{c|}{\begin{sideways}ABCD\hspace*{1mm}\end{sideways}} &
  \multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
  \begin{sideways}IJKL\end{sideways} \\ \hline
  AA & 2 & 3 & 4 \\
  BB & 2 & 3 & 4 \\
  CC & 2 & 3 & 4 \\
  DD & 2 & 3 & 4 \\ \hline
\end{tabular}

Ausgabebeispiel

Antwort2

Hier ist eine Lösung mit tabularray.

\documentclass{article}

\usepackage{graphicx}
\usepackage{xcolor}

\usepackage{tabularray}

\begin{document}

\begin{tblr}{
    colspec      = {*{4}{c}},
    vline{1}     = {2-4}{0.9pt},
    vline{2,5}   = 0.9pt,
    vline{3-4}   = {1}{0.9pt},
    hline{1}     = {2-5}{0.9pt},
    hline{2,5}   = 0.9pt,
    cell{1}{2-4} = {cmd={\rotatebox[origin=c]{90}}}
}
       & ABCD
       & EFGH 
       & IJKL  \\ 
    AA & 2 & 3 & 4  \\ 
    BB & 2 & 3 & 4  \\ 
    CC & 2 & 3 & 4  \\ 
\end{tblr}

\end{document}

Bildbeschreibung hier eingeben

Antwort3

Sie können \multicolumnund verwenden, \clineum die gewünschte Ausgabe zu erhalten:

\documentclass{article}
\usepackage{rotating}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{|c|ccc|}
\cline{2-4}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c|}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c|}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}
\caption{Tmp}
\label{tab:tmp}
\end{table}
\end{document}

Meiner Meinung nach kann man die vertikalen Linien in der Kopfzeile auch ganz weglassen, ebenso wie den Rahmen oben, links und rechts, was

\begin{tabular}{c|ccc}
\multicolumn{1}{c}{}&
\multicolumn{1}{|c}{\begin{sideways}ABCD\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}EFGH\end{sideways}} &
\multicolumn{1}{c}{\begin{sideways}IJKL\end{sideways}} \\ \hline
AA & 2 & 3 & 4 \\
BB & 2 & 3 & 4 \\
CC & 2 & 3 & 4 \\
DD & 2 & 3 & 4 \\ \hline
\end{tabular}

Antwort4

Mit {NiceTabular}von nicematrix. In dieser Umgebung haben Sie einen Schlüssel hvlines, der alle Regeln außer in den Blöcken (angegeben durch) \Blockund in den leeren Ecken (angegeben durch den Schlüssel corners) zeichnet.

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{cccc}[hvlines,corners=NW] % NW = north-west
\RowStyle{\rotate}
       & ABCD \;
       & EFGH 
       & IJKL  \\ 
\Block{3-1}{}
    AA & \Block{3-3}{}
         2 & 3 & 4  \\ 
    BB & 2 & 3 & 4  \\ 
    CC & 2 & 3 & 4  \\ 
\end{NiceTabular}

\end{document}

Ausgabe des obigen Codes

verwandte Informationen