]> git.lyx.org Git - lyx.git/blobdiff - lib/layouts/theorems-std.module
New Theorems Module. Contributed by Udicoudco <udifoglle@gmail.com> on the mailing...
[lyx.git] / lib / layouts / theorems-std.module
index c1076b01a6bcb92530d7d2908bb858f1227773cb..20124e218a2cf73e5eaa131e76439df3ed597518 100644 (file)
@@ -5,9 +5,10 @@
 #the theorems are numbered consecutively throughout the document. This can be
 #changed by loading one of the 'Theorems (Numbered by ...)' modules.
 #DescriptionEnd
-#Excludes: theorems-ams | theorems-starred
+#Excludes: theorems-ams | theorems-ams-bytype | theorems-bytype
 
 # Author: Richard Kimberly Heck <rikiheck@lyx.org>
+# Edited sep '22 by Udi Fogiel <udifoglle@gmail.com>
 
 Format 99
 
@@ -17,5 +18,47 @@ Counter theorem
 End
 
 Input theorems.inc
-Input theorems-proof.inc
 Input theorems-proof-std.inc
+
+Style Theorem
+       Preamble
+               \def\lyx@reverse@two#1#2{#2#1}
+               \def\lyx@plain{plain}
+               \def\lyx@definition{definition}
+               \def\lyx@remark{remark}
+               \newcommand\theoremstyle[1]{%
+                       \def\lyx@style{#1}%
+                       \ifx\lyx@style\lyx@plain
+                               \def\lyx@headfont{\bfseries}%
+                               \def\lyx@bodyfont{\itshape}%
+                       \else
+                               \ifx\lyx@style\lyx@definition
+                                       \def\lyx@headfont{\bfseries}%
+                                       \def\lyx@bodyfont{\upshape}%
+                               \else
+                                       \ifx\lyx@style\lyx@remark
+                                               \def\lyx@headfont{\itshape}%
+                                               \def\lyx@bodyfont{\upshape}%
+                                       \fi
+                               \fi
+                       \fi
+               }
+               \def\@xthm#1#2{%
+                       \@begintheorem{\normalfont\csname lyx@\@firstoftwo#2@headfont\endcsname \@secondoftwo#2}{\begingroup\upshape\csname the#1\endcsname\endgroup.}\normalfont\csname lyx@\@firstoftwo#2@bodyfont\endcsname\ignorespaces
+               }
+               \def\@ythm#1#2[#3]{%
+                       \@opargbegintheorem{\normalfont{\csname lyx@\@firstoftwo#2@headfont\endcsname \@secondoftwo#2}}{\begingroup\csname lyx@\@firstoftwo#2@headfont\endcsname\upshape\csname the#1\endcsname\endgroup}{#3\lyx@reverse@two{\begingroup\normalfont\csname lyx@\@firstoftwo#2@headfont\endcsname.\endgroup}}\normalfont\csname lyx@\@firstoftwo#2@bodyfont\endcsname\ignorespaces
+               }
+               \def\lyx@othm#1[#2]#3{\@othm{#1}[#2]{{#1}{#3}}}
+               \def\lyx@nthm#1#2{\@ifnextchar[{\@xnthm{#1}{{#1}{#2}}}{\@ynthm{#1}{{#1}{#2}}}}
+               \renewcommand\newtheorem[1]{%
+                       \expandafter\let\csname lyx@#1@headfont\expandafter\endcsname\lyx@headfont
+                       \expandafter\let\csname lyx@#1@bodyfont\expandafter\endcsname\lyx@bodyfont
+                       \@ifnextchar[{\lyx@othm{#1}}{\lyx@nthm{#1}}}
+               \newcommand\lyx@starred@newtheorem[2]{\newtheorem{#1}{#2}\expandafter\def\csname the#1\endcsname{\unskip}}
+               \newcommand\lyx@reg@newtheorem[2]{\newtheorem{#1}[thm]{#2}}
+               \newcommand\lyx@newtheorem{\@ifstar{\lyx@starred@newtheorem}{\lyx@reg@newtheorem}}
+               \theoremstyle{plain}
+               \newtheorem{thm}{\protect\theoremname}
+       EndPreamble
+End