[LyX/master] DocBook: implement SciPoster.
Thibaut Cuvelier
tcuvelier at lyx.org
Sun Nov 29 21:24:16 UTC 2020
commit 877806f208b196236bdbbf48a793799330bcbfbb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Nov 29 01:15:37 2020 +0100
DocBook: implement SciPoster.
---
development/autotests/invertedTests | 8 +++++-
lib/layouts/multicol.module | 11 +++++++++-
lib/layouts/sciposter.layout | 8 +++++++
lib/layouts/sectionbox.module | 36 ++++++++++++++++++++--------------
src/insets/InsetText.cpp | 1 +
5 files changed, 46 insertions(+), 18 deletions(-)
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 54f2f84..b31ecf8 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -427,8 +427,9 @@ export/mathmacros/testcases_speed_docbook5
export/mathmacros/testcases_environments_docbook5
export/mathmacros/masterOfSpace_docbook5
export/doc/sl/Tutorial_docbook5
-# - Sidebars can be nested in LyX (mostly with shapepar), but not in DocBook.
-export/doc(|/de|/es|/fr|/ja)/Additional_docbook5
+# - Sidebars can be nested in LyX (mostly with shapepar), but not in DocBook. Also, multicol issues (like columns in
+# columns).
+export/doc(|/de|/es|/fr|/ja|/ru)/Additional_docbook5
# - Many templates are too complex for automatic conversion to work reliably.
# The resulting documents should still be easy to fully convert into DocBook.
# - AASTeX.
@@ -529,6 +530,9 @@ export/templates/Articles/American_Psychological_Association_%28APA%29,_v._7_doc
# - Empty figure. Dedications: IEEE wants them in the preamble, DocBook outside. How to implement biographies?
# They should have their own section...
export/templates/Articles/IEEE_Transactions(.*)_docbook5
+# - Bibliography in the middle of the document (potentially fixable, but complicated, because some documents have
+# several bibliographies, like books with one bibliography per chapter), subsections.
+export/export/docbook/SciPoster_docbook5
Sublabel: docbook poster
# Posters cannot be properly exported, the LyX documents are too far from
diff --git a/lib/layouts/multicol.module b/lib/layouts/multicol.module
index 3756208..c932714 100644
--- a/lib/layouts/multicol.module
+++ b/lib/layouts/multicol.module
@@ -22,16 +22,25 @@ InsetLayout Flex:Multiple_Columns
Mandatory 1
DefaultArg 2
PassThru 1
+ DocBookTag IGNORE
EndArgument
Argument 2
LabelString "Preface"
Tooltip "An optional preface"
+ DocBookTag para
+ DocBookAttr role='preface'
+ DocBookArgumentBeforeMainTag true
EndArgument
Argument 3
LabelString "Space Before Page Break"
Tooltip "Free space that needs to be on the page to start the multiple columns on this page"
Requires 2
+ DocBookTag IGNORE
EndArgument
- ResetsFont true
+ ResetsFont true
+ DocBookWrapperTag NONE
+ DocBookTag NONE
+ DocBookNotInPara true
+ DocBookItemTag para
End
diff --git a/lib/layouts/sciposter.layout b/lib/layouts/sciposter.layout
index d4bdebd..1cce39f 100644
--- a/lib/layouts/sciposter.layout
+++ b/lib/layouts/sciposter.layout
@@ -181,3 +181,11 @@ InsetLayout Flex:Most_Giant_Snippet
LabelString "Most Giant"
LeftDelim {\VERYHuge{}
End
+
+# InsetLayout Flex:Multiple_Columns
+# DocBookWrapperTag NONE
+# DocBookTag NONE
+# DocBookItemWrapperTag NONE
+# DocBookItemTag NONE
+# DocBookNotInPara true
+# End
diff --git a/lib/layouts/sectionbox.module b/lib/layouts/sectionbox.module
index 75e81e0..bcf61ef 100644
--- a/lib/layouts/sectionbox.module
+++ b/lib/layouts/sectionbox.module
@@ -10,18 +10,19 @@
Format 85
InsetLayout Flex:SectionBox
- LyXType custom
- LabelString "Section Box"
- LatexType environment
- LatexName sectionbox
- Decoration classic
- MultiPar true
- CustomPars true
- Requires sectionbox
+ LyXType custom
+ LabelString "Section Box"
+ LatexType environment
+ LatexName sectionbox
+ Decoration classic
+ MultiPar true
+ CustomPars true
+ Requires sectionbox
Argument 1
LabelString "Width"
MenuString "Section Box Width|S"
Tooltip "Width of the section Box"
+ DocBookTag IGNORE
EndArgument
Argument 2
LabelString "Heading"
@@ -34,19 +35,24 @@ InsetLayout Flex:SectionBox
Size Large
Series Bold
EndFont
+ DocBookTag title
+ DocBookTagType paragraph
+ DocBookArgumentBeforeMainTag true
EndArgument
- ResetsFont true
+ ResetsFont true
+ DocBookTag section
+ DocBookItemTag para
End
InsetLayout Flex:SubsectionBox
- CopyStyle Flex:SectionBox
- LabelString "Subsection Box"
- LatexName subsectionbox
+ CopyStyle Flex:SectionBox
+ LabelString "Subsection Box"
+ LatexName subsectionbox
End
InsetLayout Flex:SubsubsectionBox
- CopyStyle Flex:SectionBox
- LabelString "Subsubsection Box"
- LatexName subsubsectionbox
+ CopyStyle Flex:SectionBox
+ LabelString "Subsubsection Box"
+ LatexName subsubsectionbox
End
diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index bf1fe62..78e389c 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -673,6 +673,7 @@ void InsetText::docbook(XMLStream & xs, OutputParams const & rp, XHTMLOptions op
runparams.docbook_prepended_arguments = std::move(prependedArguments);
// - Deal with the first item.
+ // TODO: in things like SciPoster, this should also check if the item tag is allowed. Hard to formalise for now...
if (writeOuterTag) {
if (!il.docbookitemwrappertag().empty() && il.docbookitemwrappertag() != "NONE" && il.docbookitemwrappertag() != "IGNORE")
xml::openTag(xs, il.docbookitemwrappertag(), il.docbookitemwrapperattr(), il.docbookitemwrappertagtype());
More information about the lyx-cvs
mailing list