引用表格和 id 表格之间的表格行,带字母

引用表格和 id 表格之间的表格行,带字母

我有多个带有数学符号的表格可以链接在一起。在每个方程中,如果需要,我需要指向前一个方程,以便我们可以追溯一切的来源。我需要自动化,因为我在表 1 中有 48 个输入,在表 2 中有 43 个方程。

但是我想修改我已有的参考编号,并将其替换为字母。这将有助于区分来自方程的值和来自输入表的值。以下是预期示例:

我期望

现在我实现了这个,我“只”需要用 和 替换。1.i是通过2.p此解决方案

已实现

“如果”解决方法

我在这个文档中要链接 3 个表,是否可以在此行内插入 if 条件?喜欢if \thetable==1 i\arabic{...} else p\arabic{...}

\renewcommand{\therowcntr}{\thetable.\arabic{rowcntr}}

所有表的代码:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[danish]{babel}
\usepackage{lscape}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{float} 
\usepackage{array}
\usepackage[top=2.81cm, bottom=2.75cm,right=2cm, left=2cm]{geometry}

\usepackage{etoolbox}
\usepackage{setspace}
\onehalfspacing

\usepackage{url}
\usepackage[hidelinks]{hyperref}

\hypersetup{breaklinks=true}

\newcounter{rowcntr}[table]
\renewcommand{\therowcntr}{\thetable.\arabic{rowcntr}}
\newcommand{\pref}[1]{(\ref{#1})}

% A new columntype to apply automatic stepping
\newcolumntype{N}{>{\refstepcounter{rowcntr}\therowcntr}c}

% Reset the rowcntr counter at each new tabular
\AtBeginEnvironment{tabular}{\setcounter{rowcntr}{0}}

\begin{document}

 Achieved tables : 

\begin{table}[H]
\centering
\caption{Input variable (i)} \label{tab:Q1}
\begin{tabular}{|N|l|l|}
\hline
\multicolumn{1}{|c}{Number} & Unité & Notation  \\ \hline
\label{gva_f}  & \$/an & $ gva_f $\\
\label{dep_f} & \$/an & $ dep_f $\\
\end{tabular}
\end{table}

\begin{table}[H]
\centering
\caption{Table of parameters (p)} \label{tab:Q2}
\begin{tabular}{|N|l|l|}
\hline
\multicolumn{1}{|c}{Number} & Description & Equation  \\ \hline
\label{gp_f} & This is a formula & $gp_f= gva_{f\pref{gva_f}} - dep_{f\pref{dep_f}}$\\
\label{nc_f} & Another formula & $np_f= gp_{f\pref{gp_f}} - dep_{f\pref{dep_f}}$\\
\end{tabular}
\end{table}

Expected tables :
\begin{table}[H]
\centering
\caption{Input variable (i)} \label{tab:Q1}
\begin{tabular}{|c|l|l|}
\hline
Number & Unité & Notation  \\ \hline
1  & \$/an & $ gva_f $\\
2 & \$/an & $ dep_f $\\
\end{tabular}
\end{table}
  
\begin{table}[H]
\centering
\caption{Table of parameters (p)} \label{tab:Q2}
\begin{tabular}{|c|l|l|}
\hline
Number & Description & Equation  \\ \hline
1 & This is a formula & $gp_f= gva_{f(i1)} - dep_{f(i2)}$\\
2 & Another formula & $np_f= gp_{f(p1)} - dep_{f(i2)}$\\
\end{tabular}
\end{table}

\end{document}

答案1

我实现了部分解决方案。虽然不完美,但可以接受。

我测试了“if”解决方法,每次计数器值出现时都修改其方面。然而,一旦我在最终文件中确定了它们的顺序(代码中的 1 和 2 值),这就需要在两个地方修改表索引。

它还修改了两个表的第一列的数字,但这是我现在准备付出的代价。

\newcounter{rowcntr}[table]
\renewcommand{\therowcntr}{
    \ifnum\thetable = 1
    i\arabic{rowcntr}
    \else 
        \ifnum\thetable = 2
        p\arabic{rowcntr}
        \else
        \thetable.\arabic{rowcntr}
        \fi
    \fi    
    }
\newcommand{\pref}[1]{(\ref{#1})}

相关内容