强调对图表或表格的第一次引用

强调对图表或表格的第一次引用

我正在写一份科学报告,要求文中第一次引用任何图形或表格(而不是方程式或章节)时要加粗,如下所示:

例子

是否有用于此类任务的包?

首字母缩略词包做了类似的事情,在第一次使用时给出了首字母缩略词的完整描述,所以我想这不是一个太特殊的问题。

答案1

以下工作:

在此处输入图片描述

\documentclass{article}
\makeatletter
\def\@setref#1#2#3{%
  \ifx#1\relax
    \protect\G@refundefinedtrue
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#3' on page \thepage \space
      undefined}%
  \else
    \expandafter\ifx\csname used@#1\endcsname\relax
      \expandafter\global\expandafter\def\csname used@#1\endcsname{used}%
      {\bfseries\expandafter#2#1\null}% Formatting of first reference
    \else
      \expandafter#2#1\null%
    \fi
  \fi%
}
\makeatother
\begin{document}
\begin{figure}
  \centering\rule{150pt}{20pt}
  \caption{A figure}\label{fig:figure}
\end{figure}
See Figure~\ref{fig:figure}. The same reference to Figure~\ref{fig:figure}.
\end{document}

\@setref它修改被调用的宏\ref来决定是否存在引用。格式化基于条件来检查新定义的宏是否used@<label>存在。

第一个参考的格式是使用设置的\bfseries,并且可以进行修改以适应。

相关内容