我正在编写一份涉及许多部分的信息表的文档,例如:
\textbf{Details:}
\begin{table}[H]
\begin{center}
\begin{tabularx}{\linewidth}{|X|c|c|c|c|c|}
\hline
\textbf{Number} & \textbf{Location} & \textbf{Duration (hr)} & \textbf{Labour (\$)} & \textbf{Equipment Hire/Purchase (\$)} & \textbf{Consumables (\$)} & \textbf{Total (\$)}\\
\hline
1 & In-house & 0.5 & 39 & 0 & 0 & 39\\
2 & Out-house1 & 1 & 78 & 1000 & 500 & 1578\\
3 & Out-house2 & 1.5 & 78 & 800 & 700 & 1617\\
\hline
\end{tabularx}
\end{center}
\end{table}
然而,表中的数据稍后需要针对其中大约 50 个小表进行汇总,仅包含“位置”,“持续时间(小时)”和“总计($)”列。
我有两个要求:
- 将表中的条目设置为稍后可以调用的变量,因此我只需要在各个表中输入一次值,然后这些值就会自动在摘要中更新
- 这些条目应该是数学可操作的(即我应该只需要输入前 4 个数值,总数应该会自动计算
我的想法大致如下:
\textbf{Details:}
\begin{table}[H]
\begin{center}
\begin{tabularx}{\linewidth}{|X|c|c|c|c|c|c|}
\hline
\textbf{Number} & \textbf{Location} & \textbf{Duration (hr)} & \textbf{Labour (\$)} & \textbf{Equipment Hire/Purchase (\$)} & \textbf{Consumables (\$)} & \textbf{Total (\$)}\\
\hline
\entry{1}{1}{1} & \entry{1}{2}{In-house} & \entry{1}{3}{0.5} & \entry{1}{4}{\entry{1}{3} * 78} & \entry{1}{5}{0} & \entry{1}{6}{0} & \entry{1}{7}{\entry1{4} + \entry{1}{5} + \entry1{6}}\\
% etc
\hline
\end{tabularx}
\end{center}
\end{table}
我稍后可以在不同的表中使用它,如下所示:
\textbf{Summary:}
\begin{table}[H]
\begin{center}
\begin{tabularx}{\linewidth}{|X|c|c|c|}
\hline
\textbf{Number} & \textbf{Location} & \textbf{Cost (\$)} & \textbf{Duration (Hr)}\\
\hline
\entry{1}{1} & \entry{1}{2} & \entry{1}{7} & \entry{1}{3}\\
\entry{2}{1} & \entry{2}{2} & \entry{2}{7} & \entry{2}{3}\\
\entry{3}{1} & \entry{3}{2} & \entry{3}{7} & \entry{3}{3}\\
\entry{4}{1} & \entry{4}{2} & \entry{4}{7} & \entry{4}{3}\\
% etc
\mulitcolumn{2}{r|}{Total} & sum(\entry{all}{7}) & sum(\entry{all}{3})\\
\hline
\end{tabularx}
\end{center}
\end{table}
我努力了
\newcommand{\name}[1]{\def\showname{#1}}
仅当在同一个表中调用时才有效\showname
,而在不同的表中调用则无效(尽管\newcommand
在序言中存在)
任何帮助都将受到赞赏,感谢您的帮助!
答案1
我把这个帖子发到了 reddit 上,收到了一个链接到 gdef 的回复。查看后我发现对此评论的编辑正是我所追求的