我想移动我的桌子
\documentclass[a4paper, 12pt]{article}
\usepackage[top=2.5cm,bottom=2.5cm,left=3.5cm,right=2.5cm]{geometry}
\usepackage{ltablex}
\begin{document}
\begin{tabularx}{\linewidth}{llllllllllllllllllllllll}
\caption{Numbers}\\\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
\end{tabularx}
\end{document}
向左和向上。您能帮我更改在 tabularx 环境中定义的表格的边距吗?
答案1
根据以下情况尝试以下操作这个答案作者:大卫·卡莱尔:
\documentclass[a4paper, 12pt]{article}
\usepackage[top=2.5cm,bottom=2.5cm,left=3.5cm,right=2.5cm]{geometry}
\usepackage{ltablex}
\begin{document}
\section{Text before with original margins}
some text here
\setlength\LTleft{-2cm} % adjust these to your liking
\setlength\LTright{-2cm}
\begin{tabularx}{\linewidth}{llllllllllllllllllllllll}
\caption{Numbers}\\\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
\end{tabularx}
\noindent More text with original margins
\end{document}
输出结果如下:
答案2
- 你真的需要多页表格吗?
- 至少
tabularx
有一列必须属于以下类型X
tabular*
在文本区域中使用标准适合表:
(红线表示文本区域的边界)
\documentclass[a4paper, 12pt]{article}
\usepackage[top=2.5cm,bottom=2.5cm,left=3.5cm,right=2.5cm]{geometry}
% \usepackage{ltablex}
\begin{document}
\begin{table}[htb]
\setlength\tabcolsep{0pt}
\caption{Numbers}
\noindent\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} *{24}{l}}
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
\end{tabular*}
\end{table}
\end{document}
解决方案正如您所问的那样,即考虑ltablex
并在本地扩展文本宽度(但是,表格不应超过一页):
(红线表示页面布局的边框)
\documentclass[a4paper, 12pt]{article}
\usepackage[vmargin=2.5cm,left=3.5cm,right=2.5cm]{geometry}
\usepackage{ltablex}
\keepXColumns
\usepackage[strict]{changepage}
\begin{document}
\begin{adjustwidth*}{}{-1.5cm}
\setlength\tabcolsep{3pt}
\begin{tabularx}{\linewidth}{*{24}{X} }
\caption{Numbers} \\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24
\end{tabularx}
\end{adjustwidth*}
\end{document}
附录: 从您下面的评论中,我得出结论,您在问题中提供的 mwe 具有误导性,因此问题根本不清楚。一旦您声称您的表有 200 行长并且只有 9 列,另一方面它没有 200 行......
如果您希望表格宽度等于文本宽度,并且希望表格使用环境tabularx
重新定义ltablex
为等宽单元格,那么您需要在 mwe 中进行两处更改:
- 用以下项替换
c
列说明符X
在序言中添加命令
\keepXColumns
,这将确保X
列的行为与标准相同tabularx
(您是否知道使用ltablex
更改标准功能tabularx
?)\documentclass[a4paper, 12pt]{article} \usepackage[vmargin=2.5cm,left=3.5cm,right=2.5cm]{geometry} \usepackage{ltablex} \keepXColumns \begin{document} \begin{tabularx}{\linewidth}{*{9}{X} } \caption{Numbers} \\ \hline 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\ 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\ \end{tabularx} \end{document}
(红线表示页面布局的边框)
这就是你要找的吗?