修改 tabular 环境为 longtable 并调整 box

修改 tabular 环境为 longtable 并调整 box

我有以下表格代码:

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

在此处输入图片描述

(红线显示页面布局)

相关内容