这个答案给出了一种向方程编号添加星号(或任何其他符号)的好方法。
该方法非常有效。不幸的是,如果使用 hyperref 包,带有星号的新数字将出现不需要的超链接。
这是一个可行的示例(取自上面链接的答案),说明了我的意思:
\documentclass{article}
\usepackage{hyperref}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheoremstyle[
spaceabove=6pt,
spacebelow=6pt,
headfont=\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\itshape,
]{mystyle}
\let\variant\relax
\declaretheorem[style=mystyle]{theorem}
\declaretheorem[
name={Theorem~\variant{$^\ast$}},
style=mystyle,
numbered=no,
]{theorem*}
\newenvironment{rtheorem}[1]
{\newcommand\variant{\ref{#1}}\begin{theorem*}}
{\end{theorem*}}
\begin{document}
\begin{theorem}[Euler's identity]
\label{thm:euler}
$e^{i\pi} + 1 = 0$
\end{theorem}
\begin{rtheorem}{thm:euler}[Euler's identity revisited]
$e^{i\pi} = -1$
\end{rtheorem}
\end{document}
如何删除已修改参考文献上的超链接?
答案1
来自 hyperref 手册:
因此,如果您想引用具有正确计数器的某些内容,但又不希望将其作为超链接,请使用\ref*
而不是\ref
。因此,您必须定义:
\newenvironment{rtheorem}[1]
{\newcommand\variant{\ref*{#1}}\begin{theorem*}}
{\end{theorem*}}
完整代码如下:
\documentclass{article}
\usepackage{hyperref}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheoremstyle[
spaceabove=6pt,
spacebelow=6pt,
headfont=\bfseries,
notefont=\mdseries, notebraces={(}{)},
bodyfont=\itshape,
]{mystyle}
\let\variant\relax
\declaretheorem[style=mystyle]{theorem}
\declaretheorem[
name={Theorem~\variant{$^\ast$}},
style=mystyle,
numbered=no,
]{theorem*}
\newenvironment{rtheorem}[1]
{\newcommand\variant{\ref*{#1}}\begin{theorem*}}
{\end{theorem*}}
\begin{document}
\begin{theorem}[Euler's identity]
\label{thm:euler}
$e^{i\pi} + 1 = 0$
\end{theorem}
\begin{rtheorem}{thm:euler}[Euler's identity revisited]
$e^{i\pi} = -1$
\end{rtheorem}
\end{document}