我有一张桌子
\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
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
结合longtable
和的包tabularx
,以便您可以在 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}