So zeichnen Sie eine Seitenlinie in einer Tabelle (Bei Verwendung mehrerer Zeilen wird die Breite überschritten)

So zeichnen Sie eine Seitenlinie in einer Tabelle (Bei Verwendung mehrerer Zeilen wird die Breite überschritten)
\documentclass{article}
\usepackage{}
\usepackage{makecell, multirow, tabularx}
\begin{document}

\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\textwidth}{X |c |c |c |c |}
    \cline{2-5}
     & Mean & N & Std. Deviation & Std. Error Mean \\
         \hline
    Testing123 Testin123 Testing123 Testin123 & 23\% & 10\% & 279\% & 233\% \\
    \hline
    \end{tabularx}
\caption{Testing123 Testin123Testing123 Testin123}
\end{table}

Ergebnis: Bildbeschreibung hier eingeben

Ich hatte in mehrspaltigen hinzugefügt

    \begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\textwidth}{X |c |c |c |c |}
    \cline{2-5}
     & Mean & N & Std. Deviation & Std. Error Mean \\
         \hline
    \multicolumn{1}{|c|}{Testing123 Testin123 Testing123 Testin123} & 23\% & 10\% & 279\% & 233\% \\
    \hline
    \end{tabularx}
\caption{Testing123 Testin123Testing123 Testin123}
\end{table}

Ergebnis:

Bildbeschreibung hier eingeben

und ich wollte aus „Testing123 Testin123 Testing123 Testin123“ zwei Zeilen machen.

Antwort1

Wenn Sie sich den Code von @Jennifer ansehen, werden Sie feststellen, dass die linke vertikale Linie in der ersten Kopfzelle (Mittelwert) nicht mit der vertikalen Linie in der nächsten Zeile übereinstimmt. Dies liegt daran, dass die vertikalen Balken ( |) nicht richtig platziert sind. Sie müssen die |rechts von der XSpalte in der ersten \multicolumnundentfernender \multicolumnBefehl aus der zweiten Kopfzelle. Die erste Zeile lautet:

\multicolumn{1}{X|}{} & Mean & N & Std. Deviation & Std. Error Mean \\

Hier ist ein vollständiges MWE:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tabularx, caption}        % Load package caption for better captions
\usepackage{booktabs, ragged2e}       % Use ragged2e to improve ragged text
\setlength\extrarowheight{1pt}        % Both line necessary for decent spacing
\renewcommand{\arraystretch}{1.2}

\begin{document}

\begin{table}[!ht]
\caption{Testing123 Testin123Testing123 Testin123%   % Caption above table
    \label{tab:test123}%                             % Label inside caption
    }
    \begin{tabularx}{\textwidth}{|>{\RaggedRight\arraybackslash}X|c |c |c |c |}
    \cline{2-5}
     \multicolumn{1}{X|}{}   % Right vertical rules in first header cell 
     & Mean                  % Remove `multicolumn` from second header cell 
     & N & Std. Deviation
     & Std. Error Mean \\
     \hline
    Testing123 Testin123 Testing123 Testin123 & 23\% & 10\% & 279\% & 233\% \\
    \hline
    \end{tabularx}
\end{table}

Ich schlage jedoch vor, dass Sie die Tabelle anders setzen:

  1. VerwendenBuchtabsfür bessere Regeln
  2. Beseitigen Sie alle vertikalen Regeln (sieheBooktabs-Handbuch)
  3. Zum @{}Entfernen der linken und rechten Lager
  4. Legen Sie für die vier Spalten gleich breite Zahlen fest, indem Sie einen neuen Spaltentyp definieren.
  5. Abbildungsspalten rechtsbündig setzen
  6. Verschieben Sie das Prozentzeichen in die Kopfzeile

Die tabellarische Präambel lautet:

\begin{tabularx}{\textwidth}{@{}M*{4}{N}@{}}

was bedeutet:

  1. @{}= Entfernen Sie den Seitenabstand links von Spalte eins, also den kleinen Zwischenraum, den Sie am Anfang der ersten Spalte sehen
  2. M= Legen Sie eine Spalte des Typs fest (den wir mit dem Befehl in der Dokumentpräambel Mdefiniert haben ).\newcolumntype
  3. *{4}{N}= bedeutet, dass vier Spalten des Typs erstellt werden N(den wir mit dem Befehl in der Dokumentpräambel definiert haben \newcolumntype). Das ist dasselbe wie das Schreiben von vier NNNNin diesem MWE, ist aber normalerweise eine Abkürzung.
  4. @{}= siehe Punkt 1 oben für die letzte Spalte: Entfernen Sie das Seitenlager zumRechtsder Spalte fünf,dhder kleine Raum, den Sie am Ende der letzten Spalte sehen.

Hoffentlich ist es jetzt verständlicher.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tabularx, caption}          % Load package caption for decent foramtting and spacing
\usepackage{booktabs, ragged2e}         % Use booktabs rules and get rid of vertical rules,
                                        % ragged2e to improved ragged right and left text
\setlength\extrarowheight{1pt}          % Both line necessary for decent spacing, unless you are using booktabs rules.
\renewcommand{\arraystretch}{1.2}

\newcolumntype{Y}{>{\RaggedRight\arraybackslash\hsize=2\hsize\linewidth=\hsize}X}
\newcolumntype{W}{>{\RaggedLeft\arraybackslash\hsize=0.75\hsize\linewidth=\hsize}X}


\begin{document}
    
\begin{table}[!ht]
\caption{Testing123 Testin123Testing123 Testin123%
    \label{tab:test123}% 
    }
    \begin{tabularx}{\textwidth}{@{}Y*{4}{W}@{}}
    \toprule
     & \small Mean (\%)
     & \small N (\%)& \small Std. Deviation~(\%)
     & \small Std. Error Mean (\%)\\
     \midrule
    Testing123 Testin123 Testing123 Testin123 & 23 & 10 & 279 & 233 \\
    \bottomrule
    \end{tabularx}
\end{table}
\end{document}

Antwort2

Ich habe zweimal eine Mehrspalte an die Kopfzeile angehängt. Ich hoffe, das ist etwas, wonach Sie suchen

\documentclass{article}
\usepackage{}
\usepackage{makecell, multirow, tabularx}
\begin{document}

\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\textwidth}{|X|c |c |c |c |}
    \cline{2-5}
     \multicolumn{1}{l}{}
     & \multicolumn{1}{|l|}{Mean} & N & Std. Deviation & Std. Error Mean \\
         \hline
    Testing123 Testin123 Testing123 Testin123 & 23\% & 10\% & 279\% & 233\% \\
    \hline
    \end{tabularx}
\caption{Testing123 Testin123Testing123 Testin123}
\end{table}


\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen