% \iffalse %%% From File: env.dtx % \fi % % \begin{macrocode} %<*env> % \end{macrocode} % \subsection{Окружения} % % \DescribeEnv{description}\index{Окружения!\verb*+description+} % \subsubsection{Примечание} % \begin{macrocode} \newenvironment{description} {\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} {\endlist} % \end{macrocode} % \DescribeMacro{\descriptionlabel}\index{Макросы!\verb*+\descriptionlabel+} % \begin{macrocode} \newcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\bfseries #1} % \end{macrocode} % \DescribeMacro{\abstractnamefont}\index{Макросы!\verb*+\abstractnamefont+} % \DescribeMacro{\abstractfont}\index{Макросы!\verb*+\abstractfont+} % \DescribeMacro{\postabstract}\index{Макросы!\verb*+\postabstract+} % \begin{macrocode} \newcommand\abstractnamefont{\bfseries\small} \newcommand\abstractfont{\small} \newcommand\postabstract{\par\vfil\null} % \end{macrocode} % \DescribeEnv{abstract}\index{Окружения!\verb*+abstract+} % \subsubsection{Аннотация} % \begin{macrocode} \if@titlepage \newenvironment{abstract}{ \thispagestyle{empty} \@beginparpenalty\@lowpenalty \begin{center}% \abstractnamefont\abstractname \@endparpenalty\@M \end{center}\abstractfont }{\postabstract} \else \newenvironment{abstract}{ \if@twocolumn \section*{\abstractname} \else \begin{center} {\abstractnamefont\vspace{-.5em}\vspace{\z@}}% \end{center}\abstractfont \quotation \fi }{\if@twocolumn\else\endquotation\fi} \fi % \end{macrocode} % \DescribeEnv{quotation}\index{Окружения!\verb*+quotation+} % \subsubsection{Цитирование} % \begin{macrocode} \newenvironment{quotation}{ \list{}{ \listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep\z@ \@plus\p@ } \item\relax }{\endlist} % \end{macrocode} % \DescribeEnv{quote}\index{Окружения!\verb*+quote+} % \subsubsection{Выдержка} % \begin{macrocode} \newenvironment{quote}{ \list{}{\rightmargin\leftmargin} \item\relax }{\endlist} % \end{macrocode} % \DescribeEnv{titlepage}\index{Окружения!\verb*+titlepage+} % \subsubsection{Титульный лист} % \begin{macrocode} \newenvironment{titlepage}{ \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse\newpage \fi \thispagestyle{empty} \setcounter{page}\@ne }{ \if@restonecol\twocolumn\else\newpage\fi \if@twoside\else\setcounter{page}\@ne\fi } % \end{macrocode} % % \DescribeEnv{figure}\index{Окружения!\verb*+figure+} % \DescribeEnv{figure*}\index{Окружения!\verb*+figure*+} % \subsubsection{Рисунок} % \begin{macrocode} \newenvironment{figure}{\@float{figure}}{\end@float} \newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat} % \end{macrocode} % % \DescribeEnv{table}\index{Окружения!\verb*+table+} % \DescribeEnv{table*}\index{Окружения!\verb*+table*+} % \subsubsection{Таблица} % \begin{macrocode} \newenvironment{table}{\@float{table}}{\end@float} \newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat} % \end{macrocode} % % \subsubsection{Генератор окружений типа <<теорема>>} % % \DescribeMacro{\newtheorem}\index{Макросы!\verb*+\newtheorem+} % Переопределяем |\newtheorem|, так чтобы автоматически создавались % параметры формата теорем. % \begin{macrocode} \def\newtheorem#1{% % \end{macrocode} % \DescribeMacro{\theoremstyle}\index{Макросы!\verb*+\theoremstyle+} % \DescribeMacro{\thetheoremstyle}\index{Макросы!\verb*+\thetheoremstyle+} % \DescribeMacro{\postthetheorem}\index{Макросы!\verb*+\postthetheorem+} % \DescribeMacro{\opargtheorem}\index{Макросы!\verb*+\opargtheorem+} % \DescribeMacro{\preopargtheorem}\index{Макросы!\verb*+\preopargtheorem+} % \DescribeMacro{\postopargtheorem}\index{Макросы!\verb*+\postopargtheorem+} % \begin{macrocode} { % \end{macrocode} % Стиль текста теоремы. % \begin{macrocode} \global\@namedef{#1style}{\itshape} % \end{macrocode} % Стиль заголовка и номера теоремы. % \begin{macrocode} \global\@namedef{the#1style}{\bfseries} % \end{macrocode} % Символ после номера. % \begin{macrocode} \global\@namedef{postthe#1}{.} % \end{macrocode} % Стиль опционального аргумента (текста в скобках после заголовка и номера). % \begin{macrocode} \global\@namedef{oparg#1style}{\upshape} % \end{macrocode} % Символы, окружающие опциональный аргумент (по умолчанию --- круглые скобки). % \begin{macrocode} \global\@namedef{preoparg#1}{(} \global\@namedef{postoparg#1}{)} } \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}% } % \end{macrocode} % У команд |\@begintheorem| и |\@opargbegintheorem| изменены аргументы, % чтобы можно было использовать обобщенное форматирование. % \DescribeMacro{\@xthm}\index{Макросы!\verb*+"\"@xthm+} % \DescribeMacro{\@ythm}\index{Макросы!\verb*+"\"@ythm+} % \DescribeMacro{\@begintheorem}\index{Макросы!\verb*+"\"@begintheorem+} % \DescribeMacro{\@opargbegintheorem}\index{Макросы!\verb*+"\"@opargbegintheorem+} % \DescribeMacro{\@endtheorem}\index{Макросы!\verb*+"\"@endtheorem+} % \begin{macrocode} \def\@xthm#1#2{% \@begintheorem{#1}{#2}\ignorespaces} \def\@ythm#1#2[#3]{% \@opargbegintheorem{#1}{#2}{#3}\ignorespaces} \def\@begintheorem#1#2{\trivlist \item[\hskip\labelsep% {\csname the#1style\endcsname #2\ % \csname the#1\endcsname\unskip\csname postthe#1\endcsname}]% \csname #1style\endcsname% } \def\@opargbegintheorem#1#2#3{\trivlist \item[\hskip\labelsep% {\csname the#1style\endcsname #2\ \csname the#1\endcsname}\ % {\csname oparg#1style\endcsname% \csname preoparg#1\endcsname #3% \csname postoparg#1\endcsname}]% \csname #1style\endcsname% } \def\@endtheorem{\endtrivlist} % % \end{macrocode}