如何给引用添加前缀?

如何给引用添加前缀?

我正在为一本书写解决方案。这本书的所有内容都已标记为等Figure 1.5Equation 2.13我想标记我自己的图形和方程式,而不会与正文发生任何冲突。例如Figure S-1.5Equation S-2.13可能可以。有办法吗?

答案1

图形标题和参考文献中出现的数字由宏 决定\thefigure。它实际上定义为,\arabic{figure}如果您正在使用article,并且\ifnum\value{chapter}>0 \thechapter.\fi\arabic{figure}如果您正在使用bookreport。宏\theequation对方程式执行相同的操作。

因此,您可以通过在和S-的定义前面添加来实现您想要的效果,如下所示:\thefigure\theequation

\documentclass{article}

\usepackage{amsmath} %% <- for \eqref, optional

\let\theequationWithoutS\theequation %% <- store old definition
\renewcommand\theequation{S-\theequationWithoutS}
\let\thefigureWithoutS\thefigure %% <- store old definition
\renewcommand\thefigure{S-\thefigureWithoutS}

%% Alternative:
% \usepackage{etoolbox}
% \pretocmd{\theequation}{S-}{}{}
% \pretocmd{\thefigure}{S-}{}{}

\begin{document}

\begin{equation}\label{myeq}
    \int_{-\pi/2}^{\pi/2} \frac1{1+\cos(x)^{\sin(x)}} \, \mathrm{d}x = \frac\pi2
\end{equation}

\begin{figure}
    \centering
    \rule{2cm}{2cm} %% black box
    \caption{\label{myfig}This is a figure.}
\end{figure}

This sentence contains references to Figure~\ref{myfig} and Equation~\eqref{myeq}.

\end{document}

在此处输入图片描述

相关内容