#% Do not delete the line below; configure depends on this
#\DeclareLyXModule{Standard Theorems (Nameable)}
#\DeclareCategory{Maths}
#DescriptionBegin
# Facilitates the use of named theorems. The name of the theorem
# goes into the 'Additional Theorem Text' argument.
#DescriptionEnd
#Original Author: John Perry

Format 104

ProvideStyle Theorem*
	Category              Reasoning
	LatexType             Environment
	Margin                First_Dynamic
	LatexName             thm*
	LabelType             Static
	LabelString           "Theorem."
	NextNoIndent          1
	ResetArgs             1
	Argument 1
		LabelString    "Additional Theorem Text"
		Tooltip        "Additional text appended to the theorem header"
	EndArgument
	LabelSep              xx
	ParIndent             MMM
	ParSkip               0.4
	ItemSep               0.2
	TopSep                0.7
	BottomSep             0.7
	ParSep                0.3
	Align                 Block
	AlignPossible         Left
	Font
	  Shape               Italic
	  Size                Normal
	EndFont
	LabelFont
	  Shape               Up
	  Series              Bold
	EndFont
	Preamble
	  \theoremstyle{plain}
	  \newtheorem*{thm*}{\protect\theoremname}
	EndPreamble
	LangPreamble
	  \providecommand{\theoremname}{_(Theorem)}
	EndLangPreamble
	BabelPreamble
	  \addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
	EndBabelPreamble
	Requires              amsthm
End


Style "Named Theorem"
  CopyStyle Theorem*
  Category Reasoning
  LabelString "Named Theorem."
  LatexName namedthm
  Preamble
    \newcommand\thmsname{\protect\theoremname}
    \newcommand\nm@thmtype{theorem}
    \theoremstyle{plain}
    \newtheorem*{namedtheorem}{\thmsname}
    \newenvironment{namedthm}[1][Undefined Theorem Name]{
      \ifx{#1}{Undefined Theorem Name}\renewcommand\nm@thmtype{theorem*}
      \else\renewcommand\thmsname{#1}\renewcommand\nm@thmtype{namedtheorem}
      \fi
      \begin{\nm@thmtype}}
      {\end{\nm@thmtype}}
  EndPreamble
End

