From 46611ba1cc4a3165dfdc67ba3332184af07a56dc Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Sat, 12 Jan 2008 05:17:52 +0000 Subject: [PATCH] Fixes to the theorem modules. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22502 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/layouts/theorems-ams.inc | 213 +++++++++++++++++++++++++++++++ lib/layouts/theorems-ams.module | 2 +- lib/layouts/theorems-chap.module | 10 +- lib/layouts/theorems-std.module | 18 +++ lib/layouts/theorems.inc | 6 - 5 files changed, 240 insertions(+), 9 deletions(-) create mode 100644 lib/layouts/theorems-ams.inc diff --git a/lib/layouts/theorems-ams.inc b/lib/layouts/theorems-ams.inc new file mode 100644 index 0000000000..a85561b850 --- /dev/null +++ b/lib/layouts/theorems-ams.inc @@ -0,0 +1,213 @@ +# Original Author : David L. Johnson +# Probably broken by Jean-Marc Lasgouttes +# modified and modularized by Emmanuel GUREGHIAN +# Tinkered with Sep. '07 by Paul Rubin +# Modularized Jan 08 by Richard Heck + +# The environnements defined are : +# - Theorem +# - Corollary +# - Lemma +# - Proposition +# - Conjecture +# - Definition +# - Example +# - Problem +# - Exercise +# - Remark +# - Claim +# - Proof +# - Case (regular only -- defined as an enumeration) + +Format 6 + +Style Theorem + Margin First_Dynamic + LatexType Environment + LatexName thm + NextNoIndent 1 + OptionalArgs 1 + LabelSep xx + ParIndent MMM + ParSkip 0.4 + ItemSep 0.2 + TopSep 0.7 + BottomSep 0.7 + ParSep 0.3 + Align Block + AlignPossible Left + LabelType Counter + LabelCounter theorem + LabelString "Theorem \thetheorem." + Font + Shape Italic + Size Normal + EndFont + LabelFont + Shape Up + Series Bold + EndFont + Preamble + \theoremstyle{plain} + \newtheorem{thm}{Theorem} + EndPreamble +End + + +Style Corollary + CopyStyle Theorem + DependsOn Theorem + LatexName cor + LabelString "Corollary \thetheorem." + Preamble + \theoremstyle{plain} + \newtheorem{cor}[thm]{Corollary} + EndPreamble +End + + +Style Lemma + CopyStyle Theorem + DependsOn Theorem + LatexName lem + LabelString "Lemma \thetheorem." + Preamble + \theoremstyle{plain} + \newtheorem{lem}[thm]{Lemma} + EndPreamble +End + + +Style Proposition + CopyStyle Theorem + DependsOn Theorem + LatexName prop + LabelString "Proposition \thetheorem." + Preamble + \theoremstyle{plain} + \newtheorem{prop}[thm]{Proposition} + EndPreamble +End + + +Style Conjecture + CopyStyle Theorem + DependsOn Theorem + LatexName conjecture + LabelString "Conjecture \thetheorem." + Preamble + \theoremstyle{plain} + \newtheorem{conjecture}[thm]{Conjecture} + EndPreamble +End + + +Style Fact + CopyStyle Theorem + DependsOn Theorem + LatexName fact + LabelString "Fact \thetheorem." + Preamble + \theoremstyle{plain} + \newtheorem{fact}[thm]{Fact} + EndPreamble +End + + +Style Definition + CopyStyle Theorem + DependsOn Theorem + LatexName defn + LabelString "Definition \thetheorem." + Font + Shape Up + EndFont + LabelFont + Shape Up + Series Bold + EndFont + Preamble + \theoremstyle{definition} + \newtheorem{defn}[thm]{Definition} + EndPreamble +End + + +Style Example + CopyStyle Definition + LatexName example + LabelString "Example \thetheorem." + Preamble + \theoremstyle{definition} + \newtheorem{example}[thm]{Example} + EndPreamble +End + + +Style Problem + CopyStyle Definition + LatexName problem + LabelString "Problem \thetheorem." + Preamble + \theoremstyle{definition} + \newtheorem{problem}[thm]{Problem} + EndPreamble +End + + +Style Exercise + CopyStyle Definition + LatexName xca + LabelString "Exercise \thetheorem." + Preamble + \theoremstyle{definition} + \newtheorem{xca}[thm]{Exercise} + EndPreamble +End + + +Style Remark + CopyStyle Theorem + DependsOn Theorem + LatexName rem + LabelString "Remark \thetheorem." + Font + Shape Up + Size Normal + EndFont + LabelFont + Series Medium + Shape Italic + EndFont + Preamble + \theoremstyle{remark} + \newtheorem{rem}[thm]{Remark} + EndPreamble +End + + +Style Claim + CopyStyle Remark + LatexName claim + LabelString "Claim \thetheorem." + Preamble + \theoremstyle{remark} + \newtheorem{claim}[thm]{Claim} + EndPreamble +End + + +# Define Case as an enumeration environment +Style Case + CopyStyle Enumerate + LatexName caseenv + LabelType Static + LeftMargin "MMMMMMN" + LabelString "Case #:" + Preamble + \newcounter{casectr} + \newenvironment{caseenv} +{\begin{list}{\bfseries\upshape Case \arabic{casectr}:}{}\setcounter{casectr}{0}\usecounter{casectr}} +{\end{list}} + EndPreamble +End diff --git a/lib/layouts/theorems-ams.module b/lib/layouts/theorems-ams.module index 5947da46a7..8781d7eb73 100644 --- a/lib/layouts/theorems-ams.module +++ b/lib/layouts/theorems-ams.module @@ -26,6 +26,6 @@ Preamble EndPreamble Input theorems-order.inc -Input theorems.inc +Input theorems-ams.inc Input theorems-starred.inc Input theorems-proof.inc diff --git a/lib/layouts/theorems-chap.module b/lib/layouts/theorems-chap.module index 5a747ea6f6..a3d2ecd9dc 100644 --- a/lib/layouts/theorems-chap.module +++ b/lib/layouts/theorems-chap.module @@ -1,6 +1,7 @@ #\DeclareLyXModule{Theorems (Order By Chapter)} #DescriptionBegin -#Numbers theorems and the like by chapter. +#Numbers theorems and the like by chapter. Use this module only with +#layouts that provide a chapter environment. #DescriptionEnd #Requires: theorems-std | theorems-ams @@ -15,6 +16,11 @@ End Style Theorem Preamble - \newtheorem{thm}{Theorem}[chapter] + \ifx\thechapter\undefined + \newtheorem{thm}{Theorem} + \else + \newtheorem{thm}{Theorem}[chapter] + \fi + EndPreamble End diff --git a/lib/layouts/theorems-std.module b/lib/layouts/theorems-std.module index 0d111920ca..87ba21cf4e 100644 --- a/lib/layouts/theorems-std.module +++ b/lib/layouts/theorems-std.module @@ -16,3 +16,21 @@ End Input theorems.inc Input theorems-proof.inc + +#This is just a hacked version of the AMS proof environment +Style Proof + Preamble + \newenvironment{proof}[1][\proofname]{\par + \normalfont\topsep6\p@\@plus6\p@\relax + \trivlist + \itemindent\parindent + \item[\hskip\labelsep + \scshape + #1]\ignorespaces + }{% + \endtrivlist\@endpefalse + } +\providecommand{\proofname}{Proof} + + EndPreamble +End \ No newline at end of file diff --git a/lib/layouts/theorems.inc b/lib/layouts/theorems.inc index a85561b850..544e84584b 100644 --- a/lib/layouts/theorems.inc +++ b/lib/layouts/theorems.inc @@ -48,7 +48,6 @@ Style Theorem Series Bold EndFont Preamble - \theoremstyle{plain} \newtheorem{thm}{Theorem} EndPreamble End @@ -60,7 +59,6 @@ Style Corollary LatexName cor LabelString "Corollary \thetheorem." Preamble - \theoremstyle{plain} \newtheorem{cor}[thm]{Corollary} EndPreamble End @@ -72,7 +70,6 @@ Style Lemma LatexName lem LabelString "Lemma \thetheorem." Preamble - \theoremstyle{plain} \newtheorem{lem}[thm]{Lemma} EndPreamble End @@ -84,7 +81,6 @@ Style Proposition LatexName prop LabelString "Proposition \thetheorem." Preamble - \theoremstyle{plain} \newtheorem{prop}[thm]{Proposition} EndPreamble End @@ -96,7 +92,6 @@ Style Conjecture LatexName conjecture LabelString "Conjecture \thetheorem." Preamble - \theoremstyle{plain} \newtheorem{conjecture}[thm]{Conjecture} EndPreamble End @@ -108,7 +103,6 @@ Style Fact LatexName fact LabelString "Fact \thetheorem." Preamble - \theoremstyle{plain} \newtheorem{fact}[thm]{Fact} EndPreamble End