2009-11-19 7 views
2

나는 Definitions, Theorems, Lemmas 등으로 무거운 논문을 쓰고있다. 나는 개념의 기본 정의를 내릴 필요가있다. 그리고 나중에 논문에서 복잡성과 정의에 더 많은 매개 변수가 추가됨에 따라이 정의를 확장해야한다.원본 정량 번호 매기기를 방해하지 않으면 서 LaTeX의 비 연속적인 addenda에 어떻게 번호를 매기 는가?

정의

부록 (정의 1 참조) 1

정의 2

정의 3

부록의 1.A : 그래서 나는이 같은 (구조적) 보일 것이다 뭔가가 필요 1.b (정의 1 참조)

정의 4

,

부록의 1.C가

부록의 3.A (정의 1 참조)

정의 (정의 3 참조) 5

나는 내가이 작업을 수행하게됩니다 아무것도 찾을 수없는 것 . 누구나 아이디어가 있습니까?

\newtheorem{Definition}{Definition} 
\newtheorem{Addendum}{Addendum}[Definition] 
\def\theAddendum{\theDefinition .\alph{Addendum}} 

본문 : preambule에서

답변

2

알렉세이의 답변에 따라

\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} 
1

, 추가 환경 정의를 지정하는 라벨을 받아야합니다

\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 사이에 비트를 스타일 파일에 넣으십시오.