表格和 Tabularray 中的方程式编号

表格和 Tabularray 中的方程式编号

我尝试在表格中列出一些方程式。我找到了一个可行的解决方案这里这里供使用tabular(如下面 MWE 中的第一个)。

但是,如果我尝试对 进行同样的操作tabularray,数字就会变得混乱,可能是因为tblr多次执行了内容代码。有人知道防止此问题的方法吗?我尝试添加[expand=\Eq]tblr,但这显然没有效果。

\documentclass{article}

\usepackage{tabularray}
\UseTblrLibrary{amsmath}

\newcommand{\Eq}{\refstepcounter{equation}(\theequation)}

\begin{document}

    \noindent\begin{tabular}{lXr}
                 Caption 1 & $E = mc^2$ & \Eq\label{eq:1} \\
                 Caption 2 & $E = mc^2$ & \Eq\label{eq:2} \\
                 Caption 3 & $E = mc^2$ & \Eq\label{eq:3} \\
                 Caption 4 & $E = mc^2$ & \Eq\label{eq:4} \\
    \end{tabular}

    \noindent\begin{tblr}{lXr}
                 Caption 1 & $E = mc^2$ & \Eq\label{eq:5} \\
                 Caption 2 & $E = mc^2$ & \Eq\label{eq:6} \\
                 Caption 3 & $E = mc^2$ & \Eq\label{eq:7} \\
                 Caption 4 & $E = mc^2$ & \Eq\label{eq:8} \\
    \end{tblr}

\end{document}

结果

答案1

对于这种情况,需要tabularray添加库“counter”进行封装:

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath, counter}
\newcommand{\Eq}{\refstepcounter{equation}(\theequation)}

\begin{document}

\begin{tblr}{lXr}
         Caption 1 & $E = mc^2$ & \Eq\label{eq:5} \\
         Caption 2 & $E = mc^2$ & \Eq\label{eq:6} \\
         Caption 3 & $E = mc^2$ & \Eq\label{eq:7} \\
         Caption 4 & $E = mc^2$ & \Eq\label{eq:8} \\
\end{tblr}

or

\begin{tblr}{lX[c]r}
         Caption 1 & $E = mc^2$ & \Eq\label{eq:5} \\
         Caption 2 & $E = mc^2$ & \Eq\label{eq:6} \\
         Caption 3 & $E = mc^2$ & \Eq\label{eq:7} \\
         Caption 4 & $E = mc^2$ & \Eq\label{eq:8} \\
\end{tblr}
 
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容