Сделать tabularx шире значений textwidth .pt

Сделать tabularx шире значений textwidth .pt

У меня есть стол

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

Есть ли способ сделать эту таблицу на определенную величину шире, чем моя textwidth, не вынимая ее из моего текстового потока, используя .ptзначения? Я не хочу, чтобы таблица начиналась на новой странице/занимала целую страницу после того, как установила ее шире, чем textwidth.

решение1

Вам нужно обернуть tabularxсреду в minipageсреду, которая больше, \textwidthчем центр или lap, что minipage. Самый простой способ - использовать adjustboxпакет для этого:

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

Обратите внимание, что я изменил символы столбцов с Lна l, поскольку у меня не было Lопределения под рукой.

Примечание:Если вы просто хотите добавить некоторое ptзначение к текущей ширине текста, используйте, например minipage=\textwidth+20pt,center, . Это добавит 10pt слева и справа.

Если вы хотите, чтобы таблица была на 10 пунктов дальшеверноиспользовать только маржу minipage=\textwidth+10pt,left.

Если вы хотите, чтобы таблица была на 10 пунктов дальшелевыйиспользовать только маржу minipage=\textwidth+10pt,right.

введите описание изображения здесь

решение2

я предполагаю...

введите описание изображения здесь

красные линии обозначают макет страницы.

с использованием 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}

или если вам нравится, чтобы таблица выходила на обе стороны текста:

введите описание изображения здесь

для этого вы только меняете

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

Вы не предоставили полный небольшой документ, поэтому я тестирую вышеуказанное решение в своей «таблице testbad», которая не предназначена для показа здесь...

решение3

Я бы пошел простым путем, \makebox[\textwidth]{table of \textwidth + xpt}. Это автоматически отцентрирует таблицу в дополнение к увеличению ширины на 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}

введите описание изображения здесь

решение4

Если у вас есть tabularx, разбитый на несколько страниц, вы можете загрузить пакет ltablex, который объединяет longtableи tabularx, чтобы вы могли использовать параметры longtable в tabularx:

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

введите описание изображения здесь

Связанный контент