我正在写一篇论文,主要涉及定义,定理,引理等。我需要给出一个概念的基本定义,然后在本文后面扩展这个定义,因为更多的参数增加了复杂性,从而增加了定义。所以,我需要一些东西,看起来(结构)是这样的:如何在不破坏原定理编号的情况下在LaTeX中编号非连续添加?
定义1
定义2
定义3
附录1.A(参看定义1)
补遗1.b(参考定义1)
定义4
附录1.C(参看定义1)
附录3.A(参见定义3)
定义5
我似乎无法找到任何可以让我这样做。有人有想法吗?
我正在写一篇论文,主要涉及定义,定理,引理等。我需要给出一个概念的基本定义,然后在本文后面扩展这个定义,因为更多的参数增加了复杂性,从而增加了定义。所以,我需要一些东西,看起来(结构)是这样的:如何在不破坏原定理编号的情况下在LaTeX中编号非连续添加?
定义1
定义2
定义3
附录1.A(参看定义1)
补遗1.b(参考定义1)
定义4
附录1.C(参看定义1)
附录3.A(参见定义3)
定义5
我似乎无法找到任何可以让我这样做。有人有想法吗?
在文件前言:
\newtheorem{Definition}{Definition}
\newtheorem{Addendum}{Addendum}[Definition]
\def\theAddendum{\theDefinition .\alph{Addendum}}
正文:
\newcount\saveDefCounter
\begin{Definition} ... \end{Definition}
\begin{Definition} ... \end{Definition}
\begin{Definition} ... \end{Definition}
\saveDefCounter\arabic{Definition}
\setcounter{Definition}{1}
\begin{Addendum} ... \end{Addendum}
\begin{Addendum} ... \end{Addendum}
\setcounter{Definition}{\saveDefCounter}
\begin{Definition} ... \end{Definition}
\begin{Definition} ... \end{Definition}
基于阿列克谢的答案,尝试
\documentclass{article}
\newtheorem{Definition}{Definition}
\makeatletter
\newenvironment{add}[1]{ % environment has one required arg, a label to follow
\@ifundefined{[email protected]@#1}{ % does a private counter exist for the label?
\newcounter{[email protected]#1} % define if not
}{ % do nothing if it does
}
\stepcounter{[email protected]#1}
\@begintheorem{Addendum}{\ref{#1}.\csname [email protected]#1\endcsname}\ignorespaces
% use latex internal macro to write the theorem start environment
}{ % end the environment
\@endtheorem
}
\makeatother
\begin{document}
\begin{Definition}\label{def1} ... \end{Definition}
\begin{Definition}\label{def2} ... \end{Definition}
\begin{Definition}\label{def3} ... \end{Definition}
\begin{add}{def1} ... \end{add}
\begin{add}{def2} ... \end{add}
\begin{add}{def1} ... \end{add}
\begin{Definition} ... \end{Definition}
\begin{Definition} ... \end{Definition}
\end{document}
添加环境必须得到一个标签指定定义它是追加。如果您想使其可重用,请将\ makeatletter和\ makeatother之间的位放在样式文件中。