lyx_mirror/lib/layouts/theorems-ams-withinsec.module
Richard Heck 8a947f63da This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.

The GUI will come next.

Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 17:59:49 +00:00

557 lines
11 KiB
Plaintext

#\DeclareLyXModule[amsmath.sty]{Defines theorem environments and the proof environment for use with non-AMS classes, using the extended AMS machinery. The theorems are numbered within sections.}{Theorems (AMS, By Section)}
# Author: Richard Heck <rgheck@comcast.net>
# Adapted from amsdefs.inc and amsmaths.inc
# the environments defined are:
# - Proof
# - Theorem
# - Theorem*
# - Corollary
# - Corollary*
# - Lemma
# - Lemma*
# - Proposition
# - Proposition*
# - Conjecture
# - Conjecture*
# - Criterion
# - Algorithm
# - Axiom
# - Definition
# - Definition*
# - Example
# - Example*
# - Condition
# - Condition*
# - Problem
# - Problem*
# - Exercise
# - Remark
# - Remark*
# - Note
# - Note*
# - Notation
# - Notation*
# - Claim
# - Claim*
# - Summary
# - Acknowledgement
# - Acknowledgement*
# - Case
# - Conclusion
# - Conclusion*
# - Fact
# - Fact*
Format 5
Preamble
\usepackage{amsmath}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
EndPreamble
Counter
Name theorem
Within section
End
Style Theorem
Margin First_Dynamic
LatexType Environment
LatexName thm
#DependsOn TheoremStyle
NextNoIndent 1
LabelSep xx
ParIndent MMM
ParSkip 0.4
ItemSep 0.2
TopSep 0.7
BottomSep 0.7
ParSep 0.3
Align Block
AlignPossible Block, Left
LabelType Counter
LabelCounter theorem
LabelString "Theorem \thetheorem."
Font
Shape Italic
Size Normal
EndFont
LabelFont
Shape Up
Series Bold
EndFont
End
Style Theorem*
CopyStyle Theorem
LatexName thm*
LabelType Static
LabelString "Theorem."
Preamble
\theoremstyle{plain}
\newtheorem*{thm*}{Theorem}
EndPreamble
End
Style Corollary
CopyStyle Theorem
LatexName cor
LabelString "Corollary \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{cor}[thm]{Corollary}
EndPreamble
End
Style Corollary*
CopyStyle Theorem*
LatexName cor*
LabelString "Corollary."
Preamble
\theoremstyle{plain}
\newtheorem*{cor*}{Corollary}
EndPreamble
End
Style Lemma
CopyStyle Theorem
LatexName lem
LabelString "Lemma \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{lem}[thm]{Lemma}
EndPreamble
End
Style Lemma*
CopyStyle Theorem*
LatexName lem*
LabelString "Lemma."
Preamble
\theoremstyle{plain}
\newtheorem*{lem*}{Lemma}
EndPreamble
End
Style Proposition
CopyStyle Theorem
LatexName prop
LabelString "Proposition \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{prop}[thm]{Proposition}
EndPreamble
End
Style Proposition*
CopyStyle Theorem*
LatexName prop*
LabelString "Proposition."
Preamble
\theoremstyle{plain}
\newtheorem*{prop*}{Proposition}
EndPreamble
End
Style Conjecture
CopyStyle Theorem
LatexName conjecture
LabelString "Conjecture \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{conjecture}[thm]{Conjecture}
EndPreamble
End
Style Conjecture*
CopyStyle Theorem*
LatexName conjecture*
LabelString "Conjecture."
Preamble
\theoremstyle{plain}
\newtheorem*{conjecture*}{Conjecture}
EndPreamble
End
Style Criterion
CopyStyle Theorem
LatexName criterion
LabelString "Criterion \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{criterion}[thm]{Criterion}
EndPreamble
End
Style Algorithm
CopyStyle Theorem
LatexName algorithm
LabelString "Algorithm \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{algorithm}[thm]{Algorithm}
EndPreamble
End
Style Fact
CopyStyle Theorem
LatexName fact
LabelString "Fact \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{fact}[thm]{Fact}
EndPreamble
End
Style Fact*
CopyStyle Theorem*
LatexName fact*
LabelString "Fact."
Preamble
\theoremstyle{plain}
\newtheorem*{fact*}{Fact}
EndPreamble
End
Style Axiom
CopyStyle Theorem
LatexName ax
LabelString "Axiom \thetheorem."
Preamble
\theoremstyle{plain}
\newtheorem{ax}[thm]{Axiom}
EndPreamble
End
Style Definition
CopyStyle 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 Definition*
CopyStyle Definition
LatexName defn*
LabelType Static
LabelString "Definition."
Preamble
\theoremstyle{definition}
\newtheorem*{defn*}{Definition}
EndPreamble
End
Style Example
CopyStyle Definition
LatexName example
LabelString "Example \thetheorem."
Preamble
\theoremstyle{definition}
\newtheorem{example}[thm]{Example}
EndPreamble
End
Style Example*
CopyStyle Definition*
LatexName example*
LabelString "Example."
Preamble
\theoremstyle{definition}
\newtheorem*{example*}{Example}
EndPreamble
End
Style Condition
CopyStyle Definition
LatexName condition
LabelString "Condition \thetheorem."
Preamble
\theoremstyle{definition}
\newtheorem{condition}[thm]{Condition}
EndPreamble
End
Style Condition*
CopyStyle Definition*
LatexName condition*
LabelString "Condition."
Preamble
\theoremstyle{definition}
\newtheorem*{condition*}{Condition}
EndPreamble
End
Style Problem
CopyStyle Definition
LatexName problem
LabelString "Problem \thetheorem."
Preamble
\theoremstyle{definition}
\newtheorem{problem}[thm]{Problem}
EndPreamble
End
Style Problem*
CopyStyle Definition*
LatexName problem*
LabelString "Problem."
Preamble
\theoremstyle{definition}
\newtheorem*{problem*}{Problem}
EndPreamble
End
Style Exercise
CopyStyle Definition
LatexName xca
LabelString "Exercise \thetheorem."
Preamble
\theoremstyle{definition}
%%Delete [section] for sequential numbering
\newtheorem{xca}[section]{Exercise}
EndPreamble
End
Style Exercise*
CopyStyle Definition*
LatexName xca
LabelString "Exercise."
Preamble
\theoremstyle{definition}
\newtheorem*{xca*}{Exercise}
EndPreamble
End
Style Remark
CopyStyle 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 Remark*
CopyStyle Remark
LatexName rem*
LabelType Static
LabelString "Remark."
Preamble
\theoremstyle{remark}
\newtheorem*{rem*}{Remark}
EndPreamble
End
Style Claim
CopyStyle Remark
LatexName claim
LabelString "Claim \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{claim}[thm]{Claim}
EndPreamble
End
Style Claim*
CopyStyle Remark*
LatexName claim*
LabelString "Claim."
Preamble
\theoremstyle{remark}
\newtheorem*{claim*}{Claim}
EndPreamble
End
Style Note
CopyStyle Remark
LatexName note
LabelString "Note \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{note}[thm]{Note}
EndPreamble
End
Style Note*
CopyStyle Remark*
LatexName note*
LabelString "Note."
Preamble
\theoremstyle{remark}
\newtheorem*{note*}{Note}
EndPreamble
End
Style Notation
CopyStyle Remark
LatexName notation
LabelString "Notation \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{notation}[thm]{Notation}
EndPreamble
End
Style Notation*
CopyStyle Remark*
LatexName notation*
LabelString "Notation."
Preamble
\theoremstyle{remark}
\newtheorem*{notation*}[thm]{Notation}
EndPreamble
End
Style Summary
CopyStyle Remark
LatexName summary
LabelString "Summary \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{summary}[thm]{Summary}
EndPreamble
End
Style Acknowledgement
CopyStyle Remark
LatexName acknowledgement
LabelString "Acknowledgement \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{acknowledgement}[thm]{Acknowledgement}
EndPreamble
End
Style Acknowledgement*
CopyStyle Remark*
LatexName acknowledgement*
LabelString "Acknowledgement."
Preamble
\theoremstyle{remark}
\newtheorem*{acknowledgement*}{Acknowledgement}
EndPreamble
End
Style Case
CopyStyle Remark
LatexName case
LabelString "Case \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{case}{Case} %%Numbering of Cases not keyed to sections
EndPreamble
End
Style Conclusion
CopyStyle Remark
LatexName conclusion
LabelString "Conclusion \thetheorem."
Preamble
\theoremstyle{remark}
\newtheorem{conclusion}[thm]{Conclusion}
EndPreamble
End
Style Conclusion*
CopyStyle Remark*
LatexName conclusion*
LabelString "Conclusion."
Preamble
\theoremstyle{remark}
\newtheorem*{conclusion*}{Conclusion}
EndPreamble
End
Style Proof
Margin First_Dynamic
LatexType Environment
LatexName proof
NextNoIndent 1
LabelSep xx
ParIndent MMM
ParSkip 0.4
ItemSep 0.2
TopSep 0.7
BottomSep 0.7
ParSep 0.3
Align Block
AlignPossible Block, Left
LabelType Static
LabelString "Proof."
EndLabelType Box
Font
Shape Up
Size Normal
EndFont
LabelFont
Shape Italic
EndFont
# We don't want the preamble from Theorem
Preamble
EndPreamble
End