ntheorem 中的 thref 无法与 hyperref 配合使用

ntheorem 中的 thref 无法与 hyperref 配合使用

我想使用 ntheorem 的扩展引用功能,但它们似乎无法与 hyperref 一起使用,即使使用 ntheorem 的参数 hyperref。

\documentclass[11pt,a4paper]{article}
\usepackage[thref,hyperref]{ntheorem}
\usepackage{hyperref}

\begin{document}

\section{Section}\label{sec}[Testsection]

Cite with thref: \thref{sec}

\end{document}

这里可选参数 [Testsection] 未被识别为参数,而是被打印出来。如果我删除 hyperref,一切都会按预期运行。

答案1

我担心这个选项threfntheorem导致一系列难以应对的黑客攻击hyperref

您可以使用cleveref更加强大的功能。

\documentclass[11pt,a4paper]{article}

\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{cleveref}

\newtheorem{theorem}{Theorem}

\crefformat{Testsection}{#2Test section~#1#3}{}
\crefformat{Specialtheorem}{#2Special theorem~#1#3}{}

\begin{document}

\section{Section}\label[Testsection]{sec}

\begin{theorem}\label[Specialtheorem]{thm}
Theorem statement
\end{theorem}

Cite with cref: \cref{sec} and \cref{thm}

\end{document}

在此处输入图片描述

答案2

它确实与定理一起工作,ntheorem 在那里实现了一种(相当复杂的)从外部文件获取数据的方法:

\documentclass[11pt,a4paper]{article}


\usepackage[hyperref,thref]{ntheorem}
\usepackage{hyperref}

\newtheorem{prop}{Proposition}

\begin{document}

\begin{prop}[Hallo]\label{theo}
abc
\end{prop}

Cite with thref: \thref{theo}

\end{document}

在此处输入图片描述

相关内容