Machen Sie tabularx breiter als die textwidth .pt-Werte

Machen Sie tabularx breiter als die textwidth .pt-Werte

Ich habe einen Tisch

\begin{table}[ht]
\caption{Caption} 
\label{Lable} \\
\begin{tabularx}{\textwidth}{@{}  LLLL @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
\end{table}

Gibt es eine Möglichkeit, diese Tabelle textwidthmithilfe von Werten um einen bestimmten Betrag breiter als meine zu machen, ohne sie aus meinem Textfluss zu nehmen .pt? Ich möchte nicht, dass die Tabelle auf einer neuen Seite beginnt/eine ganze Seite einnimmt, nachdem ich sie breiter als die eingestellt habe textwidth.

Antwort1

Sie müssen die tabularxUmgebung in eine minipageUmgebung einbinden, die größer \textwidthals das Zentrum oder den Überlapp ist minipage. Am einfachsten geht das mit dem adjustboxPaket:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{adjustbox}

\usepackage{lipsum}% only for example text 

\begin{document}
\lipsum

\begin{table}[ht]
\caption{Caption}\label{Lable} 
\begin{adjustbox}{minipage=18cm, center}
\begin{tabularx}{\textwidth}{@{} llll @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
\end{adjustbox}
\end{table}

\lipsum
\end{document}

Beachten Sie, dass ich die Spaltenzeichen von Lin geändert habe l, da ich die Definition nicht Lzur Hand hatte.

Notiz:ptWenn Sie lediglich einen Wert zur aktuellen Textbreite hinzufügen möchten, verwenden Sie z. B. minipage=\textwidth+20pt,center. Dadurch werden links und rechts 10 pt hinzugefügt.

Wenn Sie möchten, dass die Tabelle 10pt in dieRechtsnur Rand verwenden minipage=\textwidth+10pt,left.

Wenn Sie möchten, dass die Tabelle 10pt in dielinksnur Rand verwenden minipage=\textwidth+10pt,right.

Bildbeschreibung hier eingeben

Antwort2

ich vermute ...

Bildbeschreibung hier eingeben

Rote Linien zeigen das Seitenlayout an.

bei Paketnutzung changepage:

\begin{table}[ht]
    \begin{adjustwidth}{}{-12pt}
\caption{Caption}
\label{Lable}
\begin{tabularx}{\linewidth}{@{}  LLLL @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
    \end{adjustwidth}
\end{table}

oder wenn Sie möchten, dass die Tabelle auf beiden Seiten des Textkörpers überläuft:

Bildbeschreibung hier eingeben

Dazu änderst du nur

\begin{adjustwidth}{-12pt}{-12pt}

Sie stellen kein vollständiges kleines Dokument zur Verfügung, daher teste ich die obige Lösung in meinem „Tabellentestbad“, das hier nicht angezeigt werden soll …

Antwort3

Ich würde den einfachen Weg wählen, \makebox[\textwidth]{table of \textwidth + xpt}. Dadurch wird die Tabelle automatisch zentriert und die Breite um erhöht xpt.

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{lipsum}% only for example text 
\begin{document}

\lipsum

\begin{table}[ht]
\caption{Caption}\label{Lable} 
\makebox[\textwidth]{%
\begin{tabularx}{\dimexpr\textwidth+50pt}{@{} llll @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
}
\end{table}

\lipsum

\end{document}

Bildbeschreibung hier eingeben

Antwort4

Wenn Sie ein Tabularx haben, das mehrere Seiten umfasst, können Sie das ltablexPaket laden, das longtableund kombiniert tabularx, sodass Sie die Longtable-Parameter innerhalb von Tabularx verwenden können:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{ltablex}
\usepackage{adjustbox}

\usepackage{lipsum}% only for example text

\begin{document}

\lipsum[1-4]
\begingroup
\setlength\LTleft{-40pt}
\setlength\LTright{-40pt}
\keepXColumns
\begin{tabularx}{1.2\textwidth}{@{}*{4}{X}@{}}
\caption{Caption}\label{Lable} \\
\toprule
\endfirsthead
\multicolumn{4}{c}{\tablename~\thetable: Caption (continued)}\smallskip \\
\midrule
\endhead
\midrule
\multicolumn{4}{r@{}}{to be continued}\\
\endfoot
\bottomrule
\endlastfoot
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
D & 10 & 11 & 12 \\
E = & 13 & 14 & 15 \\
F = & 16 & 17 & 18 \\
\midrule
T & 51 & 57 & 63
\end{tabularx}
\endgroup

\lipsum[5]

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen