2

私は、定義、定理、補題などに重きを置いた論文を書いています。概念の基本的な定義を与える必要があります。その後、論文の後半で、より多くのパラメーターが複雑さを増し、定義に追加されるにつれて、この定義を拡張します。したがって、(構造的に)次のようになるものが必要です。

定義 1

定義 2

定義 3

補遺 1.a (定義 1 を参照)

補遺 1.b (定義 1 を参照)

定義 4

補遺 1.c (定義 1 を参照)

補遺 3.a (定義 3 を参照)

定義 5

私はこれを可能にするものを見つけることができないようです。誰にもアイデアはありますか?

4

2 に答える 2

2

序文:

\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}
于 2009-11-19T16:21:16.407 に答える
1

アレクセイの答えに基づいて、試してください

\documentclass{article}
\newtheorem{Definition}{Definition}

\makeatletter
\newenvironment{add}[1]{ % environment has one required arg, a label to follow
  \@ifundefined{c@add@#1}{ % does a private counter exist for the label?
    \newcounter{add@#1} % define if not
  }{ % do nothing if it does
  }
  \stepcounter{add@#1}
  \@begintheorem{Addendum}{\ref{#1}.\csname theadd@#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}

add 環境は、追加先の定義を指定するラベルを取得する必要があります。再利用可能にしたい場合は、スタイル ファイルの \makeatletter と \makeatother の間にビットを挿入します。

于 2009-11-19T19:35:34.033 に答える