
\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\textwidth}{c X | c | c | c |}
\cline{3-5}
& & \multicolumn{3}{c|}{Paired Differences} \\
\cline{3-5}
& & Mean & Std. Deviation & Std. Error Mean \\
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3 & 4.20\% & 44.6\% & 4.54\% \\
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
Ergebnis:
Ich kann es nicht herausfinden. Wenn ich hinzufüge, \begin{tabularx}{\textwidth}{|c X | c | c | c |}
wird es nicht funktionieren
Antwort1
so was?
\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{xparse}
\NewExpandableDocumentCommand\mcc{O{1}m}
{\multicolumn{#1}{c|}{#2}}
\usepackage{siunitx} \begin{document}
\begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\linewidth}{|c X | % <---
*{3}{S[table-format=2.2, % <---
table-space-text-post=\,\%]<{\,\%}|}}
\cline{3-5}
\mcc[2]{} % <---
& \mcc[3]{Paired Differences} \cr
\cline{3-5}
\mcc[2]{} % <---
& \mcc{Mean} & \mcc{Std. Deviation} & \mcc{Std. Error Mean} \cr
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
& 4.20 & 44.6 & 4.54 \cr
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
Nachtrag: Eine weniger ausgefeilte Version der obigen Antwort lautet:
\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{siunitx}
\begin{document}
\begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
\begin{tabularx}{\linewidth}{|c X | % <---
*{3}{S[table-format=2.2, % <---
table-space-text-post=\,\%]<{\,\%}|}}
\cline{3-5}
\multicolumn{2}{c|}{}
& \multicolumn{3}{c|}{Paired Differences} \cr
\cline{3-5}
\multicolumn{2}{c|}{}
& \multicolumn{1}{c|}{Mean}
& \multicolumn{1}{c|}{Std. Deviation}
& \multicolumn{1}{c|}{Std. Error Mean} \cr
\hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
& 4.20 & 44.6 & 4.54 \cr
\hline
\end{tabularx}
\caption{Testing 123}
\end{table}
\end{document}
wobei S
der Spaltentyp definiert ist insiunitx
Paket definiert ist. Details zu seinen Optionen und seiner Verwendung finden Sie in der Paketdokumentation, (Unter-)Abschnitt5.14 Tafelmaterial, S. 44. Kurzzusammenfassung:
In
tabular
der Präambel werden die Anzahl der Spalten und ihre Typen definiert:c
Spaltentyp: Inhalt der mittleren Zelle (und er ist so breit wie der Text lang ist)X
Spaltentyp existiert intabularx
Tabellenumgebung. Seine Breite wird durch Paket berechnet, der Inhalt darin wird als Absatz festgelegt, was bedeutet, dass Zeilen automatisch umgebrochen werden- vertikale Balken
|
definieren vertikale Linien in der Tabelle. Sie sind in allen Zellen vorhanden, dienichtmit Zellen überschreiben\multicolumn
.
\multicolumn
Befehl: benachbarte Zellen zu einer Zelle zusammenführen (oder neuen Spaltentyp für einzelne Zellen definieren)table-format=2.2
bedeutet<integer part>.<decimal part>
Zahl. Zahlen in der Spalte werden am Dezimalpunkt ausgerichtettable-space-text-post=\,\%
zusätzlich zum horizontalen Abstand nach der Zahl festlegen (reserviert für kleine Leerzeichen\,
und Symbole)%
Für weitere Informationen empfehle ich Ihnen dringend, einen Einführungstext zum Schreiben von Tabellen zu lesen. Zum BeispielWiki-Buch: Tabellenund natürlich in den Paketdokumentationen. Sie sind Teil Ihrer LaTeX-Installation (im latex/doc
Ordner) oder im CTAN-Archiv verfügbar.
Bezüglich der ursprünglichen Antwort: - Paket xparse
(im Ordner gespeichert doc/generic
, wie in der Dokumentdokumentation angegeben):
Das xparse-Paket bietet eine Schnittstelle auf hoher Ebene zur Erstellung von Befehlen auf Dokumentebene. Auf diese Weise ist es als Ersatz für das LATEX 2ε \newcommand-Makro gedacht. Allerdings funktioniert xparse so, dass die Schnittstelle zu einer Funktion (optionale Argumente, Sterne und obligatorische Argumente, zum Beispiel) von der internen Implementierung getrennt ist. xparse bietet eine normalisierte Eingabe für die interne Form einer Funktion, unabhängig von der Argumentanordnung auf Dokumentebene.
Daher \NewExpandableDocumentCommand\mcc{O{1}m}{...}
wird ein neuer Befehl definiert, der das Schreiben von kürzerem Code ermöglicht. Zum Beispiel:
O{1}
ist eine Option1
(in unserem Fall die Anzahl der Spalten). Diese Option wird nicht verwendet, die Anzahl der Spalten beträgt1
.m
ist ein obligatorisches Argument, das in unserem Fall ein Text in der mehrspaltigen Zelle ist.- Beispiele für seine Verwendung sind:
\mcc{text}
ist als gleichwertig mit Code definiert\multicolumn{1}{c|}{text}
(siehe Präambel in der Originalantwort)\mcc[r]{text over three columns}
ist äquivalent für \multicolumn{3}{c|}{Text über drei Spalten}`