为 tabularray 中的多行单元格重新定义 \\

为 tabularray 中的多行单元格重新定义 \\

当像下面的示例一样使用带有 tabularray 的多行单元格时,我遇到一个问题,即我的编辑器 (emacs) 将\\表示单元格中换行符的 识别为行的结尾,从而搞乱了编辑器中的表格对齐。那么有没有办法使用另一个命令代替\\多行单元格或将其映射到另一个宏。我试过了\newcommand{\nl}{\\},但这不起作用(它将表格向右拉伸)。

\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{colspec={clr},hlines}
    one & {left\\leftttt} & three          \\
    one & two             & {right\\rightttt} \\
\end{tblr}
\end{document}

(示例来自这里)。

答案1

您可以使用\nl命令来打破多行单元格,方法是varwidth使用tabularray包(并且不需要用花括号将它们括起来):

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{varwidth}
\SetTblrInner[tblr]{measure=vbox}
\newcommand{\nl}{\\}
\begin{document}

\begin{tblr}{colspec={clr},hlines}
  one                 & left\nl leftttt & three             \\
  center\nl centerrrr & two             & right\nl rightttt \\
\end{tblr}

\bigskip

\begin{tblr}{colspec={clr},hlines}
  one                 & {left\\leftttt} & three             \\
  {center\\centerrrr} & two             & {right\\rightttt} \\
\end{tblr}

\end{document}

在此处输入图片描述

相关内容