我已经能够制作长表格,但现在它超出了我的页面。我只能看到 2 个完整的列、第 3 列的一半,而第 4 列完全超出了页面。
这是一篇论文,因此我无法分享完整的代码。但这就是我开始的方式,表格很好,但我需要帮助重新调整它以适合我的页面。我将不胜感激任何建议!
\begin{longtable}{@{}|l|l|l|l|@{}}
\toprule
\textbf{X} &
\textbf{X} &
\textbf{X} &
\textbf{Citation} \\* \midrule
\endhead
答案1
您没有说明表格宽度超过的原因\textwidth
。我假设(但愿正确)原因是您不允许在列中自动换行。此外,我假设只要适当设置列宽,允许自动换行实际上可以解决这种情况。
如果这些假设是正确的,我建议你加载板状的包而不是longtable
包并替换
\begin{longtable}{@{}|l|l|l|l|@{}}
和
\end{longtable}
和
\begin{xltabular}{\textwidth}{ XXXX }
和
\end{xltabular}
X
分别。请注意不是随机填充内容但具有特定的列类型。表格的目标或设计宽度将为\textwidth
。
这对你来说是一个有用的起点吗?请提供意见。
以下代码采用了前面的想法并提供了一个最小可编译的测试文档。
\documentclass{article}
\usepackage{xltabular,ragged2e,booktabs}
\newcolumntype{L}{>{\RaggedRight}X} % no full justification
\begin{document}
\begin{xltabular}{\textwidth}{@{} LLL l @{}} % <-- the crucial new line
%% headers and footers
\caption{A four-column table} \\
\toprule
\textbf{X} & \textbf{Y} & \textbf{Z} & Ref. \\
\midrule
\endfirsthead
\multicolumn{4}{@{}l}{\tablename~\thetable, continued} \\[0.5ex]
\toprule
\textbf{X} & \textbf{Y} & \textbf{Z} & Ref. \\
\midrule
\endhead
\midrule
\multicolumn{4}{r@{}}{\footnotesize (continued on following page)}\\
\endfoot
\bottomrule
\endlastfoot
%% body of table
a & b & c & d \\
e & f & g & h \\
i & j & k & l \\
\end{xltabular}
\end{document}