![\appendix 中的定理编号在计数器之前包含“附录”](https://linux22.com/image/475256/%5Cappendix%20%E4%B8%AD%E7%9A%84%E5%AE%9A%E7%90%86%E7%BC%96%E5%8F%B7%E5%9C%A8%E8%AE%A1%E6%95%B0%E5%99%A8%E4%B9%8B%E5%89%8D%E5%8C%85%E5%90%AB%E2%80%9C%E9%99%84%E5%BD%95%E2%80%9D.png)
我正在使用尚未开发的定制文档类。
在主体中声明定理或引理时,计数器与小节编号正确关联,无需进一步限定词,例如定理 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}}%
瞧!。