[LyX/master] DocBook: implement other letter classes (frletter, standard letter, KOMA-Script).
Thibaut Cuvelier
tcuvelier at lyx.org
Sun Nov 1 03:12:37 UTC 2020
commit 4ea841fe24ec0f171577b3125425b74afdd0f28a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Nov 1 03:58:25 2020 +0100
DocBook: implement other letter classes (frletter, standard letter, KOMA-Script).
I gave up on G-Brief, it's too far from the other classes.
---
development/autotests/invertedTests | 6 ++
lib/layouts/frletter.layout | 5 ++
lib/layouts/scrlettr.layout | 59 +++++++++++++++++++++
lib/layouts/scrlttr2.layout | 99 +++++++++++++++++++++++++++++++++++
lib/layouts/stdletter.inc | 34 ++++++------
5 files changed, 185 insertions(+), 18 deletions(-)
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index ca86bc4..6e341e5 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -445,6 +445,12 @@ export/templates/Scripts/Hollywood_docbook5
export/export/docbook/Hollywood_docbook5
# - Lettre, formatting in elements DocBook does not allow to be formatted (like email).
export/templates/Letters/French_Letter_%28lettre%29_docbook5
+# - Letter, elements at the end of the document that should be in <info>.
+export/templates/Letters/Letter_%28Standard_Class%29_docbook5
+# - G-Brief: too far from the other classes.
+export/templates/Letters/G-Brief_%28V._2%29_docbook5
+# - KOMA-Script Letter: too hard to output phone and fax numbers at the right place (need two levels of wrapping).
+export/templates/Letters/KOMA-Script_Letter_%28V._2%29_docbook5
# - Branches may cause problems (especially when mixing with parts that must go in <info>).
export/export/latex/languages/supported-languages_docbook5
diff --git a/lib/layouts/frletter.layout b/lib/layouts/frletter.layout
index 1d46531..f0e2965 100644
--- a/lib/layouts/frletter.layout
+++ b/lib/layouts/frletter.layout
@@ -12,10 +12,12 @@ Input letter.layout
# change placement within LyX
Style My_Address
Margin Static
+ DocBookInInfo always
End
Style Send_To_Address
Margin Right_Address_Box
+ DocBookInInfo always
End
@@ -30,6 +32,9 @@ Style Date
ParSep 1
Align Left
LabelType No_Label
+ DocBookTag date
+ DocBookTagType paragraph
+ DocBookInInfo always
End
diff --git a/lib/layouts/scrlettr.layout b/lib/layouts/scrlettr.layout
index f49ce02..602d796 100644
--- a/lib/layouts/scrlettr.layout
+++ b/lib/layouts/scrlettr.layout
@@ -5,11 +5,13 @@
# Bernd Rellermeyer <100.41728 at germanynet.de>, 1999/2/17.
Format 85
+
Style Standard
Category MainText
LatexName dummy
ParSep 0.4
AlignPossible Block, Left, Right, Center
+ DocBookTag para
End
Input stdlists.inc
@@ -57,6 +59,7 @@ Style Letter
Size Small
Color Blue
EndFont
+ # TODO: not supported by DocBook, it's related to having several letters in one document.
End
@@ -67,6 +70,8 @@ Style Opening
Preamble
\newcommand{\lyxopening}[1]{\pagebreak\startbreaks\opening{#1}}
EndPreamble
+ DocBookTag para
+ DocBookAttr role='opening'
End
@@ -79,6 +84,8 @@ Style Closing
BottomSep 1.5
ParSep 1.5
Align Left
+ DocBookTag para
+ DocBookAttr role='closing'
End
@@ -89,6 +96,8 @@ Style PS
BottomSep 0.4
ParSep 0.4
Align Left
+ DocBookTag para
+ DocBookAttr role='post-scriptum'
End
@@ -103,6 +112,8 @@ Style CC
Align Left
LabelType Static
LabelString "cc:"
+ DocBookTag para
+ DocBookAttr role='carbon-copy'
End
@@ -110,6 +121,8 @@ Style Encl
CopyStyle CC
LatexName encl
LabelString "encl:"
+ DocBookTag para
+ DocBookAttr role='enclosed'
End
@@ -131,6 +144,11 @@ Style Name
Shape Italic
Color Blue
EndFont
+ DocBookTag personname
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType inline
+ DocBookInInfo always
End
@@ -138,6 +156,8 @@ Style Signature
CopyStyle Name
LatexName signature
LabelString "Signature:"
+ DocBookTag para
+ DocBookAttr role='signature'
End
@@ -145,6 +165,11 @@ Style Address
CopyStyle Name
LatexName address
LabelString "Address:"
+ DocBookTag NONE
+ DocBookWrapperTag address
+ DocBookWrapperAttr role='send-to-address'
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -152,6 +177,13 @@ Style Telephone
CopyStyle Name
LatexName telephone
LabelString "Telephone:"
+ # TODO: to be valid DocBook, this should be in the address.
+ DocBookTag phone
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -159,6 +191,12 @@ Style Place
CopyStyle Name
LatexName place
LabelString "Place:"
+ DocBookTag country
+ DocBookTagType paragraph
+ DocBookWrapperTag address
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -166,6 +204,10 @@ Style Date
CopyStyle Name
LatexName date
LabelString "Date:"
+ DocBookTag date
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo always
End
@@ -173,6 +215,11 @@ Style Backaddress
CopyStyle Name
LatexName backaddress
LabelString "Backaddress:"
+ DocBookTag NONE
+ DocBookWrapperTag address
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -180,6 +227,7 @@ Style Specialmail
CopyStyle Name
LatexName specialmail
LabelString "Specialmail:"
+ # TODO: not implemented for DocBook, what is the meaning of this?
End
@@ -187,6 +235,7 @@ Style Location
CopyStyle Name
LatexName location
LabelString "Location:"
+ # TODO: not implemented for DocBook, what is the meaning of this?
End
@@ -195,6 +244,11 @@ Style Title
LatexName title
LabelString "Title:"
HTMLTitle true
+ DocBookTag title
+ DocBookAttr role='title' # As opposed to subject.
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo maybe
End
@@ -202,6 +256,11 @@ Style Subject
CopyStyle Name
LatexName subject
LabelString "Subject:"
+ DocBookTag title
+ DocBookAttr role='title'
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo maybe
End
diff --git a/lib/layouts/scrlttr2.layout b/lib/layouts/scrlttr2.layout
index c84c1b4..fac016c 100644
--- a/lib/layouts/scrlttr2.layout
+++ b/lib/layouts/scrlttr2.layout
@@ -5,6 +5,14 @@
# Juergen Spitzmueller <spitz at lyx.org>, 2003/2/17.
# Uwe Stöhr <uwestoehr at web.de>, 2008/2/03.
+# TODO: DocBook doesn't support several letters in the same file.
+# DocBook design note: there are several ways to implement sender data, this class does it in
+# another way that the other letters. Usually, there is a large <address> tag with author
+# information in <info>, but there is no possibility to include a URL in this case.
+# Therefore, here, we use a <author> in <info>, having an <address>. <author> allows a URL
+# (<uri>) and an address. However, phone and fax numbers should be put in <address>, they
+# are not allowed directly in <author>... The generated DocBook will not be valid due to this!
+
Format 85
Provides subscript 1
@@ -14,6 +22,7 @@ Style Standard
ParSep 0.4
AlignPossible Block, Left, Right, Center
ParIndent MM
+ DocBookTag para
End
Input stdlists.inc
@@ -69,10 +78,15 @@ Style Address
Size Small
Color Blue
EndFont
+ DocBookTag NONE
+ DocBookWrapperTag address
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
# Start new letter
+# Not supported by DocBook.
Style NextAddress
LatexType Command
LatexName end{letter}\begin{letter}
@@ -112,6 +126,8 @@ Style Opening
Shape Italic
Color Magenta
EndFont
+ DocBookTag para
+ DocBookAttr role='opening'
End
@@ -120,6 +136,8 @@ Style Closing
LatexType Command
LatexName closing
LabelString "Closing:"
+ DocBookTag para
+ DocBookAttr role='closing'
End
@@ -128,6 +146,8 @@ Style PS
LatexType Command
LatexName ps
LabelString "Post Scriptum:"
+ DocBookTag para
+ DocBookAttr role='post-scriptum'
End
@@ -136,6 +156,8 @@ Style CC
LatexType Command
LatexName cc
LabelString "cc:"
+ DocBookTag para
+ DocBookAttr role='carbon-copy'
End
@@ -143,6 +165,8 @@ Style Encl
CopyStyle Opening
LatexName encl
LabelString "encl:"
+ DocBookTag para
+ DocBookAttr role='enclosed'
End
@@ -166,6 +190,12 @@ Style Name
Shape Italic
Color Blue
EndFont
+ DocBookTag personname
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -174,6 +204,9 @@ Style Signature
LatexName setkomavar
LatexParam {signature}
LabelString "Signature:"
+ DocBookTag para
+ DocBookWrapperTag abstract
+ DocBookWrapperAttr role='signature'
End
@@ -182,6 +215,12 @@ Style SenderAddress
LatexName setkomavar
LatexParam {fromaddress}
LabelString "Sender Address:"
+ DocBookTag address
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -190,6 +229,13 @@ Style Telephone
LatexName setkomavar
LatexParam {fromphone}
LabelString "Sender Phone:"
+ # TODO: to be valid DocBook, this should be in the address.
+ DocBookTag phone
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -198,6 +244,13 @@ Style Fax
LatexName setkomavar
LatexParam {fromfax}
LabelString "Sender Fax:"
+ # TODO: to be valid DocBook, this should be in the address.
+ DocBookTag fax
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -206,6 +259,12 @@ Style E-Mail
LatexName setkomavar
LatexParam {fromemail}
LabelString "Sender E-Mail:"
+ DocBookTag email
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -214,6 +273,12 @@ Style URL
LatexName setkomavar
LatexParam {fromurl}
LabelString "Sender URL:"
+ DocBookTag uri
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -222,6 +287,13 @@ Style Bank
LatexName setkomavar
LatexParam {frombank}
LabelString "Bank:"
+ DocBookTag personblurb
+ DocBookAttr role='bank'
+ DocBookTagType paragraph
+ DocBookWrapperTag author
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -238,6 +310,12 @@ Style Place
LatexName setkomavar
LatexParam {place}
LabelString "Place:"
+ DocBookTag country
+ DocBookTagType paragraph
+ DocBookWrapperTag address
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -246,6 +324,10 @@ Style Date
LatexName setkomavar
LatexParam {date}
LabelString "Date:"
+ DocBookTag date
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo always
End
@@ -254,6 +336,11 @@ Style Backaddress
LatexName setkomavar
LatexParam {backaddress}
LabelString "Backaddress:"
+ DocBookTag NONE
+ DocBookWrapperTag address
+ DocBookWrapperTagType paragraph
+ DocBookWrapperMergeWithPrevious true
+ DocBookInInfo always
End
@@ -262,6 +349,7 @@ Style Specialmail
LatexName setkomavar
LatexParam {specialmail}
LabelString "Specialmail:"
+ # TODO: not implemented for DocBook, what is the meaning of this?
End
@@ -270,6 +358,7 @@ Style Location
LatexName setkomavar
LatexParam {location}
LabelString "Location:"
+ # TODO: not implemented for DocBook, what is the meaning of this?
End
@@ -279,6 +368,11 @@ Style Title
LatexParam {title}
LabelString "Title:"
HTMLTitle true
+ DocBookTag title
+ DocBookAttr role='title' # As opposed to subject.
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo maybe
End
@@ -287,6 +381,11 @@ Style Subject
LatexName setkomavar
LatexParam {subject}
LabelString "Subject:"
+ DocBookTag title
+ DocBookAttr role='title'
+ DocBookTagType paragraph
+ DocBookWrapperTag NONE
+ DocBookInInfo maybe
End
diff --git a/lib/layouts/stdletter.inc b/lib/layouts/stdletter.inc
index 23ddbf5..7db3e5d 100644
--- a/lib/layouts/stdletter.inc
+++ b/lib/layouts/stdletter.inc
@@ -73,8 +73,8 @@ Style Opening
Shape Italic
Color red
EndFont
- DocBookTag para
- DocBookAttr role='opening'
+ DocBookTag para
+ DocBookAttr role='opening'
End
@@ -97,8 +97,8 @@ Style Signature
Shape Italic
Color red
EndFont
- DocBookTag para
- DocBookAttr role='signature'
+ DocBookTag para
+ DocBookAttr role='signature'
End
@@ -106,8 +106,8 @@ Style Closing
CopyStyle Signature
LatexName closing
LabelString "Closing:"
- DocBookTag para
- DocBookAttr role='opening'
+ DocBookTag para
+ DocBookAttr role='opening'
End
@@ -120,8 +120,8 @@ Style cc
Shape Italic
Color green
EndFont
- DocBookTag para
- DocBookAttr role='carbon-copy'
+ DocBookTag para
+ DocBookAttr role='carbon-copy'
End
@@ -130,8 +130,8 @@ Style encl
LatexName encl
LabelString "encl:"
Spacing Other 1.5
- DocBookTag para
- DocBookAttr role='enclosed'
+ DocBookTag para
+ DocBookAttr role='enclosed'
End
@@ -139,12 +139,9 @@ Style Location
CopyStyle cc
LatexName thispagestyle{firstpage}\location
LabelString "Location:"
- DocBookTag otheraddr
- DocBookTag otheraddr
- DocBookAttr role='place'
- DocBookAttr role='place'
- DocBookTagType paragraph
- DocBookTagType paragraph
+ DocBookTag otheraddr
+ DocBookAttr role='place'
+ DocBookTagType paragraph
End
@@ -152,6 +149,7 @@ Style Telephone
CopyStyle cc
LatexName thispagestyle{firstpage}\telephone
LabelString "Telephone:"
- DocBookTag phone
- DocBookTagType paragraph
+ DocBookTag phone
+ DocBookAttr ""
+ DocBookTagType paragraph
End
More information about the lyx-cvs
mailing list