在 latex 中构建 \definition

在 latex 中构建 \definition

乳胶中存在吗\begin{definition}?我该如何构造一个?一切都是从\newtheorem命令派生出来的吗?

答案1

据我所知,没有预定义的定理环境。Latex 仅提供\newtheorem由用户定义一个的命令。如果您可以使用\begin{theorem}...\end{theorem}或。这些必须在您的文件或某些文件\begin{corollary}...\end{corollary}中定义。如果我错了,请纠正我。classpackages

如果你想深入了解命令在基本 Latex 代码中是如何定义的。以下是在文件中\newtheorem定义的部分。\newtheoremlatex.ltx

%%% From File: ltthm.dtx
\def\newtheorem#1{%
  \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}
\def\@nthm#1#2{%
  \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
\def\@xnthm#1#2[#3]{%
  \expandafter\@ifdefinable\csname #1\endcsname
    {\@definecounter{#1}\@newctr{#1}[#3]%
     \expandafter\xdef\csname the#1\endcsname{%
       \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
          \@thmcounter{#1}}%
     \global\@namedef{#1}{\@thm{#1}{#2}}%
     \global\@namedef{end#1}{\@endtheorem}}}
\def\@ynthm#1#2{%
  \expandafter\@ifdefinable\csname #1\endcsname
    {\@definecounter{#1}%
     \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
     \global\@namedef{#1}{\@thm{#1}{#2}}%
     \global\@namedef{end#1}{\@endtheorem}}}
\def\@othm#1[#2]#3{%
  \@ifundefined{c@#2}{\@nocounterr{#2}}%
    {\expandafter\@ifdefinable\csname #1\endcsname
    {\global\@namedef{the#1}{\@nameuse{the#2}}%
  \global\@namedef{#1}{\@thm{#2}{#3}}%
  \global\@namedef{end#1}{\@endtheorem}}}}
\def\@thm#1#2{%
  \refstepcounter{#1}%
  \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#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}
\def\@thmcounter#1{\noexpand\arabic{#1}}
\def\@thmcountersep{.}
\def\@begintheorem#1#2{\trivlist
   \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape}
\def\@opargbegintheorem#1#2#3{\trivlist
      \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
\def\@endtheorem{\endtrivlist}

答案2

没有预定义的theorem环境,也没有corollary

可能有提供这些功能的包,但是您没有提供有关所加载包的信息。

由于此类语句的范围非常庞大,并且每个用户都有自己的偏好(标题、名称等的语言),因此 LaTeX 仅提供通用\newtheorem功能。

我建议加载amsthm以增加灵活性,同时保持相同的语法。

在你的序言中,你会有类似的东西

\usepackage{amsthm}

\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}

\theoremstyle{definition} % the body will be in upright type
\newtheorem{definition}[theorem]{Definition}

可能有几种变化,请查阅任何好的 LaTeX 指南。

相关内容