\appendix 中的定理编号在计数器之前包含“附录”

\appendix 中的定理编号在计数器之前包含“附录”

我正在使用尚未开发的定制文档类。

在主体中声明定理或引理时,计数器与小节编号正确关联,无需进一步限定词,例如定理 1.2

但是,在附录中这样做时,我得到了以下格式,例如引理附录 A.2。这里不需要出现“附录”这个词。

我怎样才能摆脱它?不确定我需要在定制课程中查看什么;其中包括以下定义:

\def\@xthm#1#2{\@begintheorem{#2}{\csname the#1\endcsname}{}\ignorespaces}
\def\@ythm#1#2[#3]{\@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}\ignorespaces}

以及\@begintheorem; \@opargbegintheorem; 和\@endtheorem。但我没有看到相反的定义。


编辑:我已按照建议添加了一些 MWE,其中显示了类似环境的相关定义theorem。但由于我使用的是专有定制类,如问题顶部所述,因此下面的代码才不是重现错误。

\documentclass{article}

\def\@xthm#1#2{\@begintheorem{#2}{\csname the#1\endcsname}{}\ignorespaces}
\def\@ythm#1#2[#3]{\@opargbegintheorem{#2}{\csname
        the#1\endcsname}{#3}\ignorespaces}%
%
\let\Theoremfont\itshape
%
\let\Theoremheadfont\bfseries
%
\def\@begintheorem#1#2#3{\par\addvspace{8pt plus3pt minus2pt}%
    \noindent{\csname#1headfont\endcsname#1\ \ignorespaces#3 #2.}%
    \csname#1font\endcsname\hskip6pt\ignorespaces}
\def\@endtheorem{\par\addvspace{8pt plus3pt minus2pt}\@endparenv}
%
\def\@opargbegintheorem#1#2#3{\par\addvspace{6pt plus3pt minus2pt}%
    \def\@tempa{#3}%
    \noindent{\bf #1 #2 \ifx\@tempa\empty\unskip\else\unskip\ (#3).\fi\hskip.5em}\csname#1font\endcsname\ignorespaces
    %   \noindent{\bf #2 \ifx\@tempa\empty\unskip\else\unskip: #3\fi\hskip1em}\it
    \ignorespaces}

%
\def\@endtheorem{\par\addvspace{6pt plus3pt minus2pt}}
%
%\newtheorem{theorem}{Theorem}[section]
%
\newif\iflogo
\def\prbox{\par
    \vskip-\lastskip\vskip-\baselineskip\hbox to \hsize{\hfill\fboxsep0pt\fbox{\phantom{\vrule width5pt height5pt depth0pt}}}\global\logofalse}

\begin{document}
    \appendix
    \section{Appendix}
    \subsection{First Appendix}
    \begin{theorem}
        Latex is useful.
    \end{theorem}
\end{document}

答案1

在不知道类设置的完整定义的情况下,您可以重新定义打印附录中的数字的命令:

\appendix
\renewcommand{\thetheorem}{\Alph{chapter}.\arabic{theorem}}
\renewcommand{\thelemma}{\Alph{chapter}.\arabic{lemma}}

答案2

我最终在定制cls文件中找到了以下代码:

\newcounter{appendix}
\newcommand\appendix{\par
    \refstepcounter{appendix}
    \setcounter{section}{0}
    \setcounter{lemma}{0}
    \setcounter{theorem}{0}
    \setcounter{equation}{0}
    \@addtoreset{equation}{section}
\renewcommand\thesection{\appendixname\ \Alph{section}}
\renewcommand\thesubsection{\Alph{section}.\arabic{subsection}}
\renewcommand\theequation{\Alph{section}.\arabic{equation}}}%

为了解决这个问题,只需在计数器的定义中添加以下两行appendix,与@jlab 建议的相对应(尽管这里的行为是在全局级别设置的):

\renewcommand\thetheorem{\Alph{section}.\arabic{theorem}}%
\renewcommand\thelemma{\Alph{section}.\arabic{lemma}}%

瞧!

相关内容