commit b8dcb44d87c90ae15a33c80917cc8de056838ca7
Author: Juergen Spitzmueller <[email protected]>
Date:   Sun Apr 27 12:50:12 2025 +0200

    Adapt lyx2lyx-inserted local layout theorem defs to new format.
    
    File format change.
---
 development/FORMAT     |   4 +
 lib/lyx2lyx/lyx_2_5.py | 239 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/version.h          |   4 +-
 3 files changed, 244 insertions(+), 3 deletions(-)

diff --git a/development/FORMAT b/development/FORMAT
index 74357e9697..ff9522395e 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -7,6 +7,10 @@ changes happened in particular if possible. A good example 
would be
 
 -----------------------
 
+2025-04-27 Jürgen Spitzmüller <[email protected]>
+       * Format incremented to 639: Adapt local layout for acknowledgement 
theorems
+         to new layout scheme.
+
 2025-04-06 Jürgen Spitzmüller <[email protected]>
        * Format incremented to 638: Support for external cross references (via 
xr package)
        - InsetRef has a new param "filenames" that holds a comma-separated list
diff --git a/lib/lyx2lyx/lyx_2_5.py b/lib/lyx2lyx/lyx_2_5.py
index d742941ac4..953e0b3564 100644
--- a/lib/lyx2lyx/lyx_2_5.py
+++ b/lib/lyx2lyx/lyx_2_5.py
@@ -2883,6 +2883,241 @@ def revert_xr(document):
         i += 1
         continue
 
+ack_theorem_def_old = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended module to be loaded',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \thetheorem."',
+    r'  Preamble',
+    r'    \theoremstyle{remark}',
+    r'    \newtheorem{acknowledgement}[thm]{\protect\acknowledgementname}',
+    r'  EndPreamble',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ack_theorem_def_new = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended module to be loaded',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \thetheorem."',
+    r'  TheoremName           "acknowledgement"',
+    r'  TheoremCounter        "thm"',
+    r'  TheoremStyle          "remark"',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ackStar_theorem_def_old = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires a theorems-ams-extended-* module to be loaded',
+    r'Style Acknowledgement*',
+    r'  CopyStyle             Remark*',
+    r'  LatexName             acknowledgement*',
+    r'  LabelString           "Acknowledgement."',
+    r'  Preamble',
+    r'    \theoremstyle{remark}',
+    r'    \newtheorem*{acknowledgement*}{\protect\acknowledgementname}',
+    r'  EndPreamble',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ackStar_theorem_def_new = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires a theorems-ams-extended-* module to be loaded',
+    r'Style Acknowledgement*',
+    r'  CopyStyle             Remark*',
+    r'  LatexName             acknowledgement*',
+    r'  LabelString           "Acknowledgement."',
+    r'  TheoremName           "acknowledgement*"',
+    r'  TheoremCounter        "none"',
+    r'  TheoremStyle          "remark"',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ack_bytype_theorem_def_old = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended-bytype module to be loaded',
+    r'Counter acknowledgement',
+    r'  GuiName Acknowledgment',
+    r'End',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \theacknowledgement."',
+    r'  Preamble',
+    r'    \theoremstyle{remark}',
+    r'    \newtheorem{acknowledgement}{\protect\acknowledgementname}',
+    r'  EndPreamble',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ack_bytype_theorem_def_new = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended-bytype module to be loaded',
+    r'Counter acknowledgement',
+    r'  GuiName Acknowledgment',
+    r'End',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \theacknowledgement."',
+    r'  TheoremName           "acknowledgement"',
+    r'  TheoremStyle          "remark"',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ack_chap_bytype_theorem_def_old = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended-chap-bytype module to be loaded',
+    r'Counter acknowledgement',
+    r'  GuiName Acknowledgment',
+    r'  Within chapter',
+    r'End',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \theacknowledgement."',
+    r'  Preamble',
+    r'    \theoremstyle{remark}',
+    r'    \ifx\thechapter\undefined',
+    r'      \newtheorem{acknowledgement}{\protect\acknowledgementname}',
+    r'    \else',
+    r'      
\newtheorem{acknowledgement}{\protect\acknowledgementname}[chapter]',
+    r'    \fi',
+    r'  EndPreamble',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+ack_chap_bytype_theorem_def_new = [
+    r'### Inserted by lyx2lyx (ams extended theorems) ###',
+    r'### This requires theorems-ams-extended-chap-bytype module to be loaded',
+    r'Counter acknowledgement',
+    r'  GuiName Acknowledgment',
+    r'  Within chapter',
+    r'End',
+    r'Style Acknowledgement',
+    r'  CopyStyle             Remark',
+    r'  LatexName             acknowledgement',
+    r'  LabelString           "Acknowledgement \theacknowledgement."',
+    r'  TheoremName           "acknowledgement"',
+    r'  TheoremParentCounter  "chapter"',
+    r'  TheoremStyle          "remark"',
+    r'  LangPreamble',
+    r'    \providecommand{\acknowledgementname}{_(Acknowledgement)}',
+    r'  EndLangPreamble',
+    r'  BabelPreamble',
+    r'    
\addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}',
+    r'  EndBabelPreamble',
+    r'  DocBookTag            para',
+    r'  DocBookAttr           role="acknowledgement"',
+    r'  DocBookItemTag        ""',
+    r'End',
+]
+
+
+def convert_theorem_local_def(document):
+    """Adapt acknowledgement theorems from local layout to new scheme"""
+    if "theorems-ams-extended-bytype" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_old):
+            document.append_local_layout(ackStar_theorem_def_new)
+        if document.del_local_layout(ack_bytype_theorem_def_old):
+            document.append_local_layout(ack_bytype_theorem_def_new)
+    elif "theorems-ams-extended-chap-bytype" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_old):
+            document.append_local_layout(ackStar_theorem_def_new)
+        if document.del_local_layout(ack_chap_bytype_theorem_def_old):
+            document.append_local_layout(ack_chap_bytype_theorem_def_new)
+    elif "theorems-ams-extended" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_old):
+            document.append_local_layout(ackStar_theorem_def_new)
+        if document.del_local_layout(ack_theorem_def_old):
+            document.append_local_layout(ack_theorem_def_new)
+
+
+def revert_theorem_local_def(document):
+    """Adapt acknowledgement theorems from local layout to old scheme"""
+    if "theorems-ams-extended-bytype" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_new):
+            document.append_local_layout(ackStar_theorem_def_old)
+        if document.del_local_layout(ack_bytype_theorem_def_new):
+            document.append_local_layout(ack_bytype_theorem_def_old)
+    elif "theorems-ams-extended-chap-bytype" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_new):
+            document.append_local_layout(ackStar_theorem_def_old)
+        if document.del_local_layout(ack_chap_bytype_theorem_def_new):
+            document.append_local_layout(ack_chap_bytype_theorem_def_old)
+    elif "theorems-ams-extended" in document.get_module_list():
+        if document.del_local_layout(ackStar_theorem_def_new):
+            document.append_local_layout(ackStar_theorem_def_old)
+        if document.del_local_layout(ack_theorem_def_new):
+            document.append_local_layout(ack_theorem_def_old)
+
 ##
 # Conversion hub
 #
@@ -2906,11 +3141,13 @@ convert = [
     [635, [convert_crossref_package]],
     [636, []],
     [637, []],
-    [638, []]
+    [638, []],
+    [639, [convert_theorem_local_def]]
 ]
 
 
 revert = [
+    [638, [revert_theorem_local_def]],
     [637, [revert_xr]],
     [636, [revert_reflists]],
     [635, [revert_cleveref, revert_zref]],
diff --git a/src/version.h b/src/version.h
index a986a45cdc..0e17285463 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
 
 // Do not remove the comment below, so we get merge conflict in
 // independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 638 // spitz: xr support
-#define LYX_FORMAT_TEX2LYX 638
+#define LYX_FORMAT_LYX 639 // spitz: new theorem backend
+#define LYX_FORMAT_TEX2LYX 639
 
 #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
 #ifndef _MSC_VER
-- 
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to