我的 Tex 中有很多方程式都标有 ( \ref{eqn: bla}
),现在我想将其更改为\eqref{eqn: bla}
。有没有比手动操作更快的方法?
答案1
如果没有手动(...)
括号,可以使用\ref
包装器命令来检查引用标签名称是否包含eqn:
并相应地使用\eqref
。但遗憾的是......这不是解决方案(...)
。
笔记我不确定这是否与cleveref
或一起工作hyperref
。
\documentclass{article}
\usepackage{xstring}
\usepackage{amsmath}
\let\origref\ref % Prevent recursive definition
\makeatletter
\renewcommand{\eqref}[1]{%
\textup{\tagform@{\origref{#1}}}%
}
\makeatother
\renewcommand{\ref}[1]{%
\IfSubStr{#1}{eqn:}{%
\eqref{#1}%
}{%
\origref{#1}%
}%
}
\begin{document}
\section{First} \label{sec:first}
\begin{equation}
E=mc^2 \label{eqn: bla}
\end{equation}
\section{Second} \label{sec:second}
In section \ref{sec:first} we have equation \ref{eqn: bla}
\end{document}