commit 14887dda1c94dfd81e4521ec340b014ed78c415c
Author: Thibaut Cuvelier <[email protected]>
Date:   Thu Nov 12 03:18:03 2020 +0100

    DocBook: implement achemso.
---
 development/autotests/invertedTests |    3 ++
 lib/layouts/achemso.layout          |   54 +++++++++++++++++++++++++++++++++++
 lib/layouts/stdtitle.inc            |    2 +-
 src/Floating.cpp                    |    8 ++++-
 4 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/development/autotests/invertedTests 
b/development/autotests/invertedTests
index fa7a3c0..e568b8e 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -455,6 +455,9 @@ export/templates/Letters/DIN-Brief_docbook5
 #   - AMS: order of elements is not compatible with DocBook (some parts must 
be in <info>, others cannot, while
 #     still being in the book's header).
 export/examples/.*/American_Mathematical_Society_%28AMS%29_docbook5
+#   - ACS: comments in the middle of the author info can wreak havoc (fixable).
+      Some bibliography entries do not exist within the document. Floats are 
empty.
+export/examples/Articles/American_Chemical_Society_%28ACS%29_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
diff --git a/lib/layouts/achemso.layout b/lib/layouts/achemso.layout
index e86c56f..4ed6621 100644
--- a/lib/layouts/achemso.layout
+++ b/lib/layouts/achemso.layout
@@ -38,6 +38,7 @@ Style Standard
        Align                   Block
        AlignPossible   Block, Left, Right, Center
        LabelType               No_Label
+       DocBookTag      para
 End
 
 Input stdcounters.inc
@@ -75,6 +76,9 @@ Style Title
          Tooltip               "Short title which will appear in the running 
header"
          InsertCotext  1
        EndArgument
+       DocBookTag            title
+       DocBookTagType        paragraph
+       DocBookInInfo         maybe
 End
 
 Style Author
@@ -88,6 +92,12 @@ Style Author
          Family                Sans
          Size                  Large
        EndFont
+       DocBookTag            personname
+       DocBookTagType        paragraph
+       DocBookWrapperTag     author
+       DocBookWrapperTagType block
+       # Don't merge with the previous, as the author name indicates a new 
author.
+       DocBookInInfo         always
 End
 
 Style Email
@@ -110,18 +120,38 @@ Style Affiliation
          Tooltip               "Short name which appears in the footer of the 
title page"
          InsertCotext  1
        EndArgument
+       DocBookTag                        affiliation
+       DocBookWrapperTag                 author
+       DocBookWrapperMergeWithPrevious   true
+       DocBookItemTag                    orgname
+       DocBookItemTagType                paragraph
+       DocBookInInfo                     always
 End
 
 Style Alt_Affiliation
        CopyStyle               Affiliation
        LatexName               altaffiliation
        TopSep                  0.7
+       DocBookTag                        affiliation
+       DocBookAttr                       role='alternate'
+       DocBookWrapperTag                 author
+       DocBookWrapperMergeWithPrevious   true
+       DocBookItemTag                    orgname
+       DocBookItemTagType                paragraph
+       DocBookInInfo                     always
 End
 
 Style Also_Affiliation
        CopyStyle               Affiliation
        LatexName               alsoaffiliation
        TopSep                  0.5
+       DocBookTag                        affiliation
+       DocBookAttr                       role='also'
+       DocBookWrapperTag                 author
+       DocBookWrapperMergeWithPrevious   true
+       DocBookItemTag                    orgname
+       DocBookItemTagType                paragraph
+       DocBookInInfo                     always
 End
 
 Style Fax
@@ -131,6 +161,13 @@ Style Fax
        LabelSep                xx
        LabelType               Static
        LabelString             "Fax:"
+       DocBookTag                        address
+       DocBookTagType                    paragraph
+       DocBookWrapperTag                 author
+       DocBookWrapperMergeWithPrevious   true
+       DocBookItemTag                    phone
+       DocBookItemTagType                paragraph
+       DocBookInInfo                     always
 End
 
 Style Phone
@@ -138,6 +175,13 @@ Style Phone
        LatexName               phone
        LabelString             "Phone:"
        TopSep                  0.5
+       DocBookTag                        address
+       DocBookTagType                    paragraph
+       DocBookWrapperTag                 author
+       DocBookWrapperMergeWithPrevious   true
+       DocBookItemTag                    fax
+       DocBookItemTagType                paragraph
+       DocBookInInfo                     always
 End
 
 Style Abbreviations
@@ -251,12 +295,17 @@ Style Acknowledgement
          Series                Bold
          Size                  Large
        EndFont
+       DocBookTag            para
+       DocBookWrapperTag     acknowledgements
 End
 
 Style SupplementalInfo
        CopyStyle               Acknowledgement
        LatexName               suppinfo
        LabelString             "Supporting Information Available"
+       DocBookTag            para
+       DocBookWrapperTag     sidebar
+       DocBookWrapperMergeWithPrevious true
 End
 
 Style TOC_entry
@@ -264,6 +313,9 @@ Style TOC_entry
        LatexName               tocentry
        ParSep                  0.3
        LabelString             "Graphical TOC Entry"
+       DocBookTag            para
+       DocBookWrapperTag     sidebar
+       DocBookWrapperMergeWithPrevious true
 End
 
 InsetLayout Flex:Bibnote
@@ -300,6 +352,8 @@ InsetLayout Flex:Chemistry
          Color                 blue
        EndFont
        MultiPar                false
+       DocBookTag      phrase
+       DocBookAttr     role='chemistry'
 End
 
 InsetLayout Flex:Latin
diff --git a/lib/layouts/stdtitle.inc b/lib/layouts/stdtitle.inc
index 9fbc3b7..fe9592d 100644
--- a/lib/layouts/stdtitle.inc
+++ b/lib/layouts/stdtitle.inc
@@ -53,7 +53,7 @@ Style Author
        DocBookTag            personname
        DocBookTagType        paragraph
        DocBookWrapperTag     author
-       DocBookWrapperTagType inline
+       DocBookWrapperTagType block
        DocBookInInfo         always
 End
 
diff --git a/src/Floating.cpp b/src/Floating.cpp
index ff1667f..a226d51 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -11,6 +11,7 @@
  */
 
 #include <config.h>
+#include <set>
 
 #include "Floating.h"
 
@@ -47,7 +48,8 @@ Floating::Floating(string const & type, string const & 
placement,
 std::string Floating::docbookFloatType() const
 {
        // TODO: configure this in the layouts?
-       if (floattype_ == "figure") {
+       if (floattype_ == "figure" || floattype_ == "graph" ||
+                       floattype_ == "chart" || floattype_ == "scheme")  {
                return "figure";
        } else if (floattype_ == "table" || floattype_ == "tableau") {
                return "table";
@@ -101,9 +103,13 @@ string Floating::defaultCSSClass() const
 
 string Floating::docbookAttr() const
 {
+       std::set<std::string> achemso = { "chart", "graph", "scheme" };
        // For algorithms, a type attribute must be mentioned, if not already 
present in docbook_attr_.
        if (docbookFloatType() == "algorithm" && docbook_attr_.find("type=") != 
std::string::npos)
                return docbook_attr_ + " type='algorithm'";
+       // Specific floats for achemso.
+       else if (docbookFloatType() == "figure" && achemso.find(floattype_) != 
achemso.end())
+               return docbook_attr_ + " type='" + floattype_ + "'";
        else
                return docbook_attr_;
 }
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to