我有一张包含数字的表格,我想通过在正文中重现来引用此表格中的特定数字。例如,在此表格中:
\begin{table}[h]\caption{Summary Statistics}\centering
{\begin{tabular}{lc}
\hline\hline
&\textbf{Fraction of Monkeys}\\\hline
{New Construction}&0.006\\
{Preventive Maintenance}&0.275\\
{Resurfacing}&0.291\\
{Road Reconstruction}&0.103\\
{Road Rehabilitation}&0.105\\
{Roadside Facilities}&0.079\\
{Safety}&0.141\\
\end{tabular}}
\end{table}
我希望能够在我的正文中写出以下句子:“路边设施出现在0.079猴子”。我希望将粗体项目链接到表格,以便表格中的任何更新都会立即反映在主文本中。
任何帮助将不胜感激。
答案1
“劫持”\label
系统\ref
相当容易,可以在这种情况下使用:
\documentclass{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\makeatletter
\newcommand{\savevalue}[2]{\def\@currentlabel{#1}\label{#2}\ref{#2}}
\makeatother
\begin{document}
\begin{table}
\caption{Summary Statistics}
\centering
\begin{tabular}{lc}
\toprule
& \textbf{Fraction of Monkeys} \\
\midrule
New Construction & 0.006 \\
Preventive Maintenance & 0.275 \\
Resurfacing & 0.291 \\
Road Reconstruction & 0.103 \\
Road Rehabilitation & 0.105 \\
Roadside Facilities & \savevalue{0.079}{roadside-facilities} \\
Safety & 0.141 \\
\bottomrule
\end{tabular}
\end{table}
Roadside Facilities appear in \textbf{\ref{roadside-facilities}} of monkeys.
\end{document}
其理念是\@currentlabel
使用您想要的值(或文本,或其他内容)进行更新,然后立即\label
执行。然后您可以\ref
在文档中的任何位置执行它。此组合功能由 提供\savevalue{<stuff>}{<label>}
。当然,由于它使用\label
-\ref
系统,因此至少需要两次编译才能使引用稳定下来。
booktabs
提供了一些tabular
天赋。如果你正在使用hyperref
- 突出显示某些链接 - 而您想要摆脱它,还需要做更多的工作。