[LyX/master] DocBook: implement Elsevier.

Thibaut Cuvelier tcuvelier at lyx.org
Mon Nov 16 04:39:51 UTC 2020


commit d64b3f5397fd50d23bc04d7130f5f5b55d79d7b0
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Nov 16 06:09:03 2020 +0100

    DocBook: implement Elsevier.
---
 development/autotests/invertedTests |    6 +++
 lib/layouts/aa.layout               |    1 +
 lib/layouts/elsart.layout           |   70 +++++++++++++++++++++++++++++++++++
 lib/layouts/elsarticle.layout       |   52 ++++++++++++++++++++++++-
 lib/layouts/theorems.inc            |    2 +-
 5 files changed, 127 insertions(+), 4 deletions(-)

diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 6ada298..dbed9eb 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -476,6 +476,8 @@ export/examples/.*/American_Mathematical_Society_%28AMS%29_docbook5
 export/examples/Articles/American_Chemical_Society_%28ACS%29_docbook5
 #   - A&A: formula with two references (only one xml:id allowed per <equation> tag).
 export/examples/Articles/Astronomy_%26_Astrophysics_docbook5
+#   - Elsevier: footnotes in the metadata (author footnotes are definitely not supported, though).
+export/templates/Articles/Elsevier_docbook5
 # - Branches may cause problems (especially when mixing with parts that must go in <info>).
 export/export/latex/languages/supported-languages_(|babel|babel_auto-legacy)_?docbook5
 # - EmbeddedObjects: this document is too complex, with captions within tables, many LaTeX parameters when including
@@ -508,6 +510,10 @@ export/examples/Graphics_and_Insets/Minted_Listings_docbook5
 export/examples/Modules/Sweave_docbook5
 # - Figures without image, only an equation.
 export/examples/Modules/Variable-width_Minipages_docbook5
+# - Listing in LyX-Code, i.e. double <programlisting>.
+export/examples/(es|fr)/Modules/Linguistics_docbook5
+# - Inlines in inlines (<code> within <personname>), double sidebar.
+export/examples/ko/cjk-ko-doc_docbook5
 
 Sublabel: docbook poster
 # Posters cannot be properly exported, the LyX documents are too far from
diff --git a/lib/layouts/aa.layout b/lib/layouts/aa.layout
index af274bd..5e82e7e 100644
--- a/lib/layouts/aa.layout
+++ b/lib/layouts/aa.layout
@@ -376,6 +376,7 @@ Style Keywords
 	DocBookTag         keyword
 	DocBookTagType     paragraph
 	DocBookWrapperTag  keywordset
+	DocBookInInfo      always
 End
 
 
diff --git a/lib/layouts/elsart.layout b/lib/layouts/elsart.layout
index 1541fbe..4882009 100644
--- a/lib/layouts/elsart.layout
+++ b/lib/layouts/elsart.layout
@@ -60,6 +60,7 @@ Style Standard
 	Align                 Block
 	AlignPossible         Block, Left, Right, Center
 	LabelType             No_Label
+	DocBookTag            para
 End
 
 
@@ -79,6 +80,10 @@ Style Keywords
 	Font
 	  Color               blue
 	EndFont
+	DocBookTag         keyword
+	DocBookTagType     paragraph
+	DocBookWrapperTag  keywordset
+	DocBookInInfo      always
 End
 
 
@@ -111,6 +116,9 @@ Style Title
 	  Size                Largest
 	EndFont
 	HTMLTitle             true
+	DocBookTag            title
+	DocBookTagType        paragraph
+	DocBookInInfo         maybe
 End
 
 
@@ -134,6 +142,11 @@ Style Author
 	Font
 	  Series              Bold
 	EndFont
+	DocBookTag            personname
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookInInfo         always
 End
 
 
@@ -153,6 +166,11 @@ Style Author_Address
 	LabelFont
 	  Shape               Italic
 	EndFont
+	DocBookTag            address
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookInInfo         always
 End
 
 
@@ -174,6 +192,11 @@ Style Author_Email
 	  Shape               Italic
 	  Family              Roman
 	EndFont
+	DocBookTag            email
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookInInfo         always
 End
 
 
@@ -196,6 +219,11 @@ Style Author_URL
 	  Shape               Italic
 	  Family              Roman
 	EndFont
+	DocBookTag            uri
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookInInfo         always
 End
 
 
@@ -214,6 +242,8 @@ Style Thanks
 	  Family              Typewriter
 	  Shape               Italic
 	EndFont
+	DocBookTag            footnote
+	DocBookItemTag        para
 End
 
 
@@ -241,6 +271,11 @@ Style Abstract
 	  Series              Bold
 	  Size                Large
 	EndFont
+	DocBookAbstract       true
+	DocBookInInfo         always
+	DocBookWrapperTag     abstract
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
@@ -298,6 +333,8 @@ Style Theorem
 	  Shape               Up
 	  Series              Bold
 	EndFont
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -327,6 +364,8 @@ Style Proof
 	LabelFont
 	  Series              Bold
 	EndFont
+	DocBookTag            para
+	DocBookAttr           role='proof'
 End
 
 
@@ -334,6 +373,8 @@ Style Lemma
 	CopyStyle             Theorem
 	LatexName             lem
 	LabelString           "Lemma \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -341,6 +382,8 @@ Style Corollary
 	CopyStyle             Theorem
 	LatexName             cor
 	LabelString           "Corollary \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -348,6 +391,8 @@ Style Proposition
 	CopyStyle             Theorem
 	LatexName             prop
 	LabelString           "Proposition \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -355,6 +400,8 @@ Style Criterion
 	CopyStyle             Theorem
 	LatexName             crit
 	LabelString           "Criterion \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='criterion'
 End
 
 
@@ -362,6 +409,8 @@ Style Algorithm
 	CopyStyle             Theorem
 	LatexName             alg
 	LabelString           "Algorithm \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
 End
 
 
@@ -376,6 +425,8 @@ Style Definition
 	  Shape               Up
 	  Series              Bold
 	EndFont
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -383,6 +434,8 @@ Style Conjecture
 	CopyStyle             Theorem
 	LatexName             conj
 	LabelString           "Conjecture \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -390,6 +443,9 @@ Style Example
 	CopyStyle             Theorem
 	LatexName             exmp
 	LabelString           "Example \arabic{theorem}"
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr           ""
 End
 
 
@@ -397,6 +453,8 @@ Style Problem
 	CopyStyle             Theorem
 	LatexName             prob
 	LabelString           "Problem \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -404,6 +462,8 @@ Style Remark
 	CopyStyle             Theorem
 	LatexName             rem
 	LabelString           "Remark \arabic{theorem}"
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -411,6 +471,8 @@ Style Note
 	CopyStyle             Theorem
 	LatexName             note
 	LabelString           "Note \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='note'
 End
 
 
@@ -418,6 +480,8 @@ Style Claim
 	CopyStyle             Theorem
 	LatexName             claim
 	LabelString           "Claim \arabic{theorem}"
+	DocBookTag            para
+	DocBookAttr           role='claim'
 End
 
 
@@ -426,6 +490,8 @@ Style Summary
 	LatexName             summ
 	LabelCounter          summ
 	LabelString           "Summary \arabic{summ}"
+	DocBookTag            para
+	DocBookAttr           role='summary'
 End
 
 
@@ -434,6 +500,8 @@ Style Case
 	LatexName             case
 	LabelCounter          case
 	LabelString           "Case \arabic{case}"
+	DocBookTag            para
+	DocBookAttr           role='case'
 End
 
 
@@ -451,6 +519,8 @@ Style Acknowledgement
 	  Size                large
 	  Series              Bold
 	EndFont
+	DocBookTag            para
+	DocBookWrapperTag     acknowledgements
 End
 
 Input theorems-refprefix.inc
diff --git a/lib/layouts/elsarticle.layout b/lib/layouts/elsarticle.layout
index f451a18..1ed71b3 100644
--- a/lib/layouts/elsarticle.layout
+++ b/lib/layouts/elsarticle.layout
@@ -42,6 +42,7 @@ Style Standard
 	Align			Block
 	AlignPossible	Block, Left, Right, Center
 	LabelType		No_Label
+	DocBookTag      para
 End
 
 Input stdcounters.inc
@@ -73,6 +74,9 @@ Style Title
 	  Size			Largest
 	EndFont
 	HTMLTitle		true
+	DocBookTag            title
+	DocBookTagType        paragraph
+	DocBookInInfo         maybe
 End
 
 InsetLayout "Flex:Titlenotemark"
@@ -95,6 +99,8 @@ InsetLayout "Flex:Titlenotemark"
 	  Color			green
 	  Size			Small
 	EndFont
+	DocBookTag      footnoteref
+	# TODO: the content will be output within the tag, while it should be the linkend attribute, i.e. the output should be <footnoteref linked="[content]"/>. If the content has several footnotes, it should be split on the comma: "t1,t2" should generate <footnoteref linked="t1"/><footnoteref linked="t2"/>.
 End
 
 
@@ -105,8 +111,10 @@ Style "Title footnote"
 	Category		FrontMatter
 	InTitle			1
 	Argument 1
-	  LabelString		"Footnote Label"
-	  Tooltip		"Label you refer to in the title"
+	  LabelString   "Footnote Label"
+	  Tooltip       "Label you refer to in the title"
+	  DocBookTag    anchor
+	  DocBookTagType  inline
 	EndArgument
 	ParSkip			0.4
 	BottomSep		0.5
@@ -118,6 +126,13 @@ Style "Title footnote"
 	  Color			Green
 	  Series		Bold
 	EndFont
+	DocBookTag      footnote
+	DocBookItemTag  para
+	DocBookWrapperTag      title
+	DocBookWrapperTagType  paragraph
+	DocBookWrapperMergeWithPrevious  true
+	DocBookInInfo   maybe
+	# TODO: the argument will be output within the tag, while it should be the xml:id attribute, i.e. the output should be <footnote xml:id="[Argument 1]"/>. And it should also be within the title, and not as a second title.
 End
 
 
@@ -129,6 +144,8 @@ Style Author
 	Argument 1
 	  LabelString	"Author Label"
 	  Tooltip		"Label you will reference in the address"
+	  DocBookTag    phrase
+	  DocBookAttr   role='address-label'
 	EndArgument
 	LatexName		author
 	LabelSep		xxx
@@ -141,6 +158,11 @@ Style Author
 	Font
 	  Size			Large
 	EndFont
+	DocBookTag            personname
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookInInfo         always
 End
 
 
@@ -206,6 +228,8 @@ Style Address
 	Argument 1
 	  LabelString	"Address Label"
 	  Tooltip		"Label of the author you refer to"
+	  DocBookTag    phrase
+	  DocBookAttr   role='label'
 	EndArgument
 	ParSkip			0.4
 	Align			Center
@@ -214,6 +238,12 @@ Style Address
 	Font
 	  Shape			Italic
 	EndFont
+	DocBookTag            address
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookWrapperMergeWithPrevious  true
+	DocBookInInfo         always
 End
 
 
@@ -229,6 +259,12 @@ Style Email
 	Font
 	  Shape			Up
 	EndFont
+	DocBookTag            email
+	DocBookTagType        paragraph
+	DocBookWrapperTag     author
+	DocBookWrapperTagType block
+	DocBookWrapperMergeWithPrevious  true
+	DocBookInInfo         always
 End
 
 
@@ -258,6 +294,11 @@ Style Abstract
 	  Series		Bold
 	  Size			Large
 	EndFont
+	DocBookAbstract       true
+	DocBookInInfo         always
+	DocBookWrapperTag     abstract
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
@@ -277,7 +318,11 @@ Style Keywords
 	LabelFont
 	  Color			Green
 	  Series		Bold
-	EndFont		
+	EndFont
+	DocBookTag         keyword
+	DocBookTagType     paragraph
+	DocBookWrapperTag  keywordset
+	DocBookInInfo      always
 End
 
 
@@ -315,5 +360,6 @@ Style Bibliography
 	    Color		latex
 	  EndFont
 	EndArgument
+	DocBookTag      bibliography
 End
 
diff --git a/lib/layouts/theorems.inc b/lib/layouts/theorems.inc
index 4b94053..516694b 100644
--- a/lib/layouts/theorems.inc
+++ b/lib/layouts/theorems.inc
@@ -217,7 +217,7 @@ Style Example
 	EndBabelPreamble
 	DocBookWrapperTag     informalexample
 	DocBookTag            para
-	DocBookAttr        ""
+	DocBookAttr           ""
 End
 
 


More information about the lyx-cvs mailing list