使 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使用值使該表比 my 寬一定的量,而無需將其從我的文字流中取出.pt?我不希望表格在設定為比textwidth.

答案1

您需要將tabularx環境包裝到一個minipage更大的環境中\textwidth,然後將其置於中心或周圍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。

如果您希望表格進入 10pt正確的保證金僅使用minipage=\textwidth+10pt,left

如果您希望表格進入 10pt左邊保證金僅使用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套件,該套件結合了longtabletabularx,以便您可以在 tabularx 中使用 longtable 參數:

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

在此輸入影像描述

相關內容