附录中的定理计数

附录中的定理计数

如何让定理在附录中以定理A.1,定理A.2等形式显示?

解决方案

\renewcommand*{\thetheorem}{\mbox{\textrm A.\arabic{theorem}}}

不适合,因为使用hyperref包的链接错误(链接到定理 1,而不是定理 A.1)...

答案1

假设你正在使用标准类,无需进一步的封装,一个解决方案是在声明时book重新定义:\@thmcounter\appendix

\usepackage{etoolbox}
  \makeatletter
    \pretocmd{\appendix}{\def\@thmcounter#1{\noexpand\Alph{#1}}}{}{}
  \makeatother

这是一个最小的工作示例:

\documentclass{book}
  \newtheorem{theorem}{Theorem}[chapter]
\usepackage{etoolbox}
  \makeatletter
    \pretocmd{\appendix}{\def\@thmcounter#1{\noexpand\Alph{#1}}}{}{}
  \makeatother

\usepackage{hyperref}

\begin{document}
 
\chapter{Lorem}
  See \autoref{thm:2}

  \begin{theorem}\label{thm:1} 
    Hello world!
  \end{theorem}

\appendix

\chapter{Ipsum}
See \autoref{thm:1}  
  \begin{theorem}\label{thm:2}
    Hello world!
  \end{theorem}
 
\end{document}

这使:

在此处输入图片描述

相关内容