我正在使用 theoremref 包交叉引用我的 latex 文档中的定理类环境。但是,每当我交叉引用附录中的任何定理时,名称中的字母都会变成斜体,例如,定理A.1 而不是定理 A.1。有什么办法可以避免这种情况吗?
\documentclass{amsart}
\usepackage{amsmath,amsthm,theoremref}
\newtheorem{thm}{Theorem}[section]
\begin{document}
See~\thref{thm:a1}.
\appendix
\section{}
\begin{thm}
$\pi$ is transcendental. \thlabel{thm:a1}
\end{thm}
\end{document}
答案1
为了非常由于神秘的原因,在引用周围theoremref
添加了$...$
内容。我猜想这样做的目的是让数字引用在斜体上下文中显示为直立。
theoremref
我建议使用而不是修补cleveref
。
\documentclass{amsart}
\usepackage{amsmath,amsthm}
\usepackage[capitalise]{cleveref}
\newtheorem{thm}{Theorem}[section]
\begin{document}
See~\cref{thm:a1}.
\appendix
\section{}
\begin{thm}\label{thm:a1}
$\pi$ is transcendental.
\end{thm}
\end{document}
只是为了完整性,这里介绍了如何修补theoremref
以修复错误的数学模式。
\documentclass{amsart}
\usepackage{amsmath,amsthm,theoremref}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\thmref@flush}
{$\ref{\thmref@head}$}
{\textup{\ref{\thmref@head}}}
{}{}
\xpatchcmd{\thmref@one}
{$\ref{#1}$}
{\textup{\ref{#1}}}
{}{}
\makeatother
\newtheorem{thm}{Theorem}[section]
\begin{document}
See~\thref{thm:a1}.
\appendix
\section{}
\begin{thm}
$\pi$ is transcendental. \thlabel{thm:a1}
\end{thm}
\end{document}