diff --git a/novelwriter/formats/todocx.py b/novelwriter/formats/todocx.py
index 694ffac0..bbca924d 100644
--- a/novelwriter/formats/todocx.py
+++ b/novelwriter/formats/todocx.py
@@ -271,7 +271,7 @@ class ToDocX(Tokenizer):
if tType == BlockTyp.TEXT:
self._processFragments(par, S_NORM, tText, tFormat)
- elif tType == BlockTyp.TITLE:
+ elif tType in (BlockTyp.TITLE, BlockTyp.PART):
self._processFragments(par, S_TITLE, tText, tFormat)
elif tType == BlockTyp.HEAD1:
diff --git a/novelwriter/formats/toodt.py b/novelwriter/formats/toodt.py
index 442b8284..3299ffbf 100644
--- a/novelwriter/formats/toodt.py
+++ b/novelwriter/formats/toodt.py
@@ -363,7 +363,7 @@ class ToOdt(Tokenizer):
else:
self._addTextPar(xText, S_TEXT, oStyle, tText, tFmt=tFormat)
- elif tType == BlockTyp.TITLE:
+ elif tType in (BlockTyp.TITLE, BlockTyp.PART):
# Title must be text:p
self._addTextPar(xText, S_TITLE, oStyle, tText, isHead=False)
diff --git a/tests/reference/fmtToDocX_SaveDocument_document.xml b/tests/reference/fmtToDocX_SaveDocument_document.xml
index 7ac52384..68bd89f3 100644
--- a/tests/reference/fmtToDocX_SaveDocument_document.xml
+++ b/tests/reference/fmtToDocX_SaveDocument_document.xml
@@ -121,7 +121,7 @@
-
+
@@ -198,7 +198,7 @@
-
+
@@ -221,7 +221,7 @@
-
+
@@ -624,7 +624,7 @@
-
+
diff --git a/tests/reference/fmtToOdt_SaveFlat_document.fodt b/tests/reference/fmtToOdt_SaveFlat_document.fodt
index 5c824b94..766b6d72 100644
--- a/tests/reference/fmtToOdt_SaveFlat_document.fodt
+++ b/tests/reference/fmtToOdt_SaveFlat_document.fodt
@@ -1,13 +1,13 @@
- 2024-11-29T00:34:11
- novelWriter/2.6b1
+ 2025-01-25T16:05:30
+ novelWriter/2.6rc1
Jane Smith
1234
P42DT12H34M56S
Test Project
- 2024-11-29T00:34:11
+ 2025-01-25T16:05:30
Jane Smith
@@ -79,7 +79,7 @@
-
+
@@ -116,9 +116,9 @@
My Novel
Word Count: 00 paragrphsWeb: http://example.com
- Chapter One
+ Chapter One
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc maximus justo non dictum commodo. Curabitur lacinia tempor orci vel luctus. Phasellus porta metus eu massa luctus, eget euismod risus rhoncus. Vestibulum sed arcu nisi. Maecenas pretium facilisis velit, vel semper lacus aliquam sit amet. Vestibulum vulputate neque ligula, rhoncus blandit turpis consequat id. Mauris sagittis vehicula imperdiet. Duis sed nunc pretium, ornare purus vel, sodales augue. Maecenas a suscipit risus. Quisque volutpat justo eleifend est ullamcorper fermentum. Donec ullamcorper et tortor a laoreet. Nam id risus nisi. Vivamus non imperdiet erat, sit amet imperdiet felis. Mauris vitae neque et est aliquam scelerisque non non ipsum.
- Chapter Two
+ Chapter Two
Nullam laoreet lorem nec malesuada vehicula. Vivamus tempus sodales lectus sed viverra. Aenean lacinia sollicitudin quam, quis tempus eros suscipit id. Duis sed rutrum nisi, ut pulvinar magna. Nam et cursus tortor. Phasellus ac odio tellus. Nullam in iaculis ipsum. Vivamus ante sem, ultricies sed varius quis, tristique nec tellus. Nullam eu urna vitae lacus hendrerit gravida. Quisque pulvinar erat ex, id efficitur velit sodales vitae. Proin vestibulum, sapien eget mattis euismod, tortor quam viverra risus, at congue mauris tortor eu nunc. Mauris pellentesque elit leo, quis eleifend sem placerat a. Vivamus iaculis dui eget tellus volutpat, ac varius nisi facilisis.
1
diff --git a/tests/reference/fmtToOdt_SaveFull_content.xml b/tests/reference/fmtToOdt_SaveFull_content.xml
index 4c99fd4b..bbd01503 100644
--- a/tests/reference/fmtToOdt_SaveFull_content.xml
+++ b/tests/reference/fmtToOdt_SaveFull_content.xml
@@ -4,7 +4,7 @@
-
+
@@ -38,9 +38,9 @@
0 paragrphsWeb: http://example.com
- Chapter One
+ Chapter One
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc maximus justo non dictum commodo. Curabitur lacinia tempor orci vel luctus. Phasellus porta metus eu massa luctus, eget euismod risus rhoncus. Vestibulum sed arcu nisi. Maecenas pretium facilisis velit, vel semper lacus aliquam sit amet. Vestibulum vulputate neque ligula, rhoncus blandit turpis consequat id. Mauris sagittis vehicula imperdiet. Duis sed nunc pretium, ornare purus vel, sodales augue. Maecenas a suscipit risus. Quisque volutpat justo eleifend est ullamcorper fermentum. Donec ullamcorper et tortor a laoreet. Nam id risus nisi. Vivamus non imperdiet erat, sit amet imperdiet felis. Mauris vitae neque et est aliquam scelerisque non non ipsum.
- Chapter Two
+ Chapter Two
Nullam laoreet lorem nec malesuada vehicula. Vivamus tempus sodales lectus sed viverra. Aenean lacinia sollicitudin quam, quis tempus eros suscipit id. Duis sed rutrum nisi, ut pulvinar magna. Nam et cursus tortor. Phasellus ac odio tellus. Nullam in iaculis ipsum. Vivamus ante sem, ultricies sed varius quis, tristique nec tellus. Nullam eu urna vitae lacus hendrerit gravida. Quisque pulvinar erat ex, id efficitur velit sodales vitae. Proin vestibulum, sapien eget mattis euismod, tortor quam viverra risus, at congue mauris tortor eu nunc. Mauris pellentesque elit leo, quis eleifend sem placerat a. Vivamus iaculis dui eget tellus volutpat, ac varius nisi facilisis.
1
diff --git a/tests/test_formats/test_fmt_todocx.py b/tests/test_formats/test_fmt_todocx.py
index ad2cdda3..b1ce0877 100644
--- a/tests/test_formats/test_fmt_todocx.py
+++ b/tests/test_formats/test_fmt_todocx.py
@@ -58,8 +58,8 @@ def testFmtToDocX_HeadingStyles(mockGUI):
'Hello World'
)
- # Heading Level 1
- # ===============
+ # Partition
+ # =========
doc._text = "# Hello World"
# Plain
@@ -68,7 +68,7 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
''
'Hello World'
)
@@ -80,13 +80,13 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
''
'PartHello World'
)
- # Heading Level 2
- # ===============
+ # Chapter
+ # =======
doc._text = "## Hello World"
# Plain
@@ -95,7 +95,7 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
''
'Hello World'
)
@@ -107,13 +107,13 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
''
'Chapter 2Hello World'
)
- # Heading Level 3
- # ===============
+ # Scene
+ # =====
doc._text = "### Hello World"
# Plain
@@ -122,7 +122,7 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
'Hello World'
)
@@ -133,12 +133,12 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
'Scene 2Hello World'
)
- # Heading Level 4
- # ===============
+ # Section
+ # =======
doc._text = "#### Hello World"
xTest = ET.Element(_wTag("body"))
@@ -146,7 +146,7 @@ def testFmtToDocX_HeadingStyles(mockGUI):
doc.doConvert()
doc._pars[-1].toXml(xTest)
assert xmlToText(xTest) == (
- ''
+ ''
'Hello World'
)
diff --git a/tests/test_formats/test_fmt_toodt.py b/tests/test_formats/test_fmt_toodt.py
index e2796c3d..5cdc53a3 100644
--- a/tests/test_formats/test_fmt_toodt.py
+++ b/tests/test_formats/test_fmt_toodt.py
@@ -311,8 +311,7 @@ def testFmtToOdt_ConvertHeaders(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Part'
- 'Title'
+ 'PartTitle'
''
)
@@ -326,7 +325,7 @@ def testFmtToOdt_ConvertHeaders(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Chapter 1'
+ 'Chapter 1'
'Title'
''
)
@@ -341,7 +340,7 @@ def testFmtToOdt_ConvertHeaders(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Scene 1'
+ 'Scene 1'
'Title'
''
)
@@ -355,7 +354,7 @@ def testFmtToOdt_ConvertHeaders(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Title'
+ 'Title'
''
)
@@ -382,7 +381,7 @@ def testFmtToOdt_ConvertHeaders(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Prologue'
+ 'Prologue'
''
)
@@ -522,7 +521,7 @@ def testFmtToOdt_ConvertParagraphs(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Scene'
+ 'Scene'
'Hello World'
'Hello World'
'Hello World'
@@ -547,7 +546,7 @@ def testFmtToOdt_ConvertParagraphs(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Scene'
+ 'Scene'
''
'Point of View: Jane'
''
@@ -617,7 +616,7 @@ def testFmtToOdt_ConvertParagraphs(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Scene'
+ 'Scene'
''
'Point of View: Jane'
''
@@ -655,7 +654,7 @@ def testFmtToOdt_ConvertParagraphs(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Scene'
+ 'Scene'
'Regular paragraph'
'withbreak'
'Left Align'
@@ -677,9 +676,9 @@ def testFmtToOdt_ConvertParagraphs(mockGUI):
assert odt.errData == []
assert xmlToText(odt._xText) == (
''
- 'Chapter One'
+ 'Chapter One'
'Text'
- 'Chapter Two'
+ 'Chapter Two'
'Text'
''
)