我有以下表格代码:
\begin{tabular}{|c|c|}
\hline
Name & Formula\tabularnewline
\hline
\hline
Parameter 1 & $\phi_{1}=a^{2}+b^{2}+c^{2}+abc+bca+cab+a^{3}+b^{3}+c^{3}+3ab+2ba+3bc+\left(a^{x}+b^{x}+c^{x}\right)^{\frac{1}{a^{x}+b^{x}+c^{x}}}+dad+bdba+abc+a^{b}c^{b}d^{a}+a^{2}+b^{2}+c^{2}+dab$\tabularnewline
\hline
\end{tabular}
为了便于说明。在这里,我有一个很长的参数值列表,长度很容易就跨越几页。而且,它也很宽。对我来说,一个快速修复方法是使用 adjustbox 包,它似乎确实能解决问题,但它会挤压文本的宽度(由于文本太小,无法读取长参数定义)。有没有办法将 adjustbox 与 longtable 环境结合起来?一个潜在的修复方法是为每个定义添加额外的水平间距,使其跨越超过 1 行并且仍然清晰易读。任何帮助都非常感谢。
答案1
如何使用xltabular
包并创建一个xltabular
可以跨越多页的环境?如下面的代码所示,很容易创建X
列类型的变体,该变体 (a) 在执行自动换行时暂停完全对齐,(b) 允许悬挂缩进,以及 (c) 自动以内联数学模式处理单元格内容。哦,xltabular
基于的表可以跨越多页。
\documentclass{report}
\usepackage{xltabular} % for 'xltabular' env.
\usepackage{ragged2e} % for '\RaggedRight' macro
\newcolumntype{L}{>{\RaggedRight\hangafter=1\hangindent=1.5em$}X<{$}}
\begin{document}
\setlength\extrarowheight{2pt}
\begin{xltabular}{\textwidth}{|l|L|}
\hline
Name & \mbox{Formula} \\
\hline
Parameter 1 & \phi_{1}=a^{2}+b^{2}+c^{2}+abc+bca+cab+a^{3}+b^{3}+c^{3}+3ab+2ba+3bc+(a^{x}+b^{x}+c^{x})^{1/(a^{x}+b^{x}+c^{x})}+dad+bdba+abc+a^{b}c^{b}d^{a}+a^{2}+b^{2}+c^{2}+dab \\
\hline
\end{xltabular}
\end{document}
答案2
对于起点来说,只需简单的一页表。通过使用该tabularray
包,您可以获得:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\begin{document}
\noindent%
\begin{tblr}{hlines, vlines,
colspec = {c X[c, mode=math] },
row{1} = {mode=text}
}
Name & Formula \\
Parameter 1 & \phi_{1}=a^{2} + b^{2}+c^{2} + abc+bca+cab+a^{3} + b^{3} + c^{3} + 3ab + 2ba +3 bc + \left(a^{x}+b^{x}+c^{x}\right)^{\frac{1}{a^{x}+b^{x}+c^{x}}} + dad + bdba + abc + a^{b}c^{b}d^{a} + a^{2} + b^{2} + c^{2} + dab \\
\end{tblr}
\end{document}
将其扩展为长表很简单,tblr
您应该使用它longtblr
(参见下面的 MWE),但您应该知道,任何类型的长表都只能在页面之间和行之间拆分:
编辑:添加了使用长表的承诺示例longtblr
:
\documentclass{article}
\usepackage[paperheight=4in,
margin=1in]{geometry} % that can be seen split
% of table between pages
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
\usepackage{lipsum} % for dummy text
%---------------------------------------------------------------%
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\begin{document}
\lipsum[1][1-4]
\begin{longtblr}[
caption = {The Caption},
]{hlines, vlines,
colspec = {c X[c, mode=math] },
rowhead = 1,
% row{even} = {gray!30},
row{1} = {font=\bfseries, mode=text, c},
}
Name & Formula \\
%
Parameter 1 & \phi_{1}=a^{2} + b^{2}+c^{2} + abc+bca+cab+a^{3} + b^{3} + c^{3} + 3ab + 2ba +3 bc + \left(a^{x}+b^{x}+c^{x}\right)^{\frac{1}{a^{x}+b^{x}+c^{x}}} + dad + bdba + abc + a^{b}c^{b}d^{a} + a^{2} + b^{2} + c^{2} + dab \\
%
Parameter 2 & \phi_{1}=a^{2} + b^{2}+c^{2} + abc+bca+cab+a^{3} + b^{3} + c^{3} + 3ab + 2ba +3 bc + \left(a^{x}+b^{x}+c^{x}\right)^{\frac{1}{a^{x}+b^{x}+c^{x}}} + dad + bdba + abc + a^{b}c^{b}d^{a} + a^{2} + b^{2} + c^{2} + dab \\
%
Parameter 5 & \phi_{1}=a^{2} + b^{2}+c^{2} + abc+bca+cab+a^{3} + b^{3} + c^{3} + 3ab + 2ba +3 bc + \left(a^{x}+b^{x}+c^{x}\right)^{\frac{1}{a^{x}+b^{x}+c^{x}}} + dad + bdba + abc + a^{b}c^{b}d^{a} + a^{2} + b^{2} + c^{2} + dab \\
\end{longtblr}
\lipsum[1][5-9]
\end{document}
(红线显示页面布局)