]> git.lyx.org Git - features.git/blobdiff - src/Floating.cpp
Typo
[features.git] / src / Floating.cpp
index ecd325f3d3793061316bd734c5107b17d7cc2732..9a20d7ccc930d76202dd124f59a1b6e4b630663e 100644 (file)
@@ -42,8 +42,8 @@ Floating::Floating(string const & type, string const & placement,
          usesfloatpkg_(usesfloat), ispredefined_(ispredefined),
          allowswide_(allowswide), allowssideways_(allowssideways),
          html_tag_(htmlTag), html_attrib_(htmlAttrib), html_style_(htmlStyle),
-         docbook_tag_(docbookTag), docbook_tag_type_(docbookTagType),
-         docbook_caption_(docbookCaption)
+         docbook_caption_(docbookCaption), docbook_tag_(docbookTag),
+         docbook_tag_type_(docbookTagType)
 {
        // Implement some edge cases for DocBook. Both docbook_float_type_ and docbook_attr_ must be computed
        // based on the given value of docbookFloatType; docbook_tag_ can still be guessed without correlation.
@@ -57,11 +57,11 @@ Floating::Floating(string const & type, string const & placement,
                // If some type is predetermined in the layout, use it.
                if (!docbookFloatType.empty() && allowedFloatTypes.find(docbookFloatType) != allowedFloatTypes.end())
                        docbook_float_type_ = docbookFloatType;
-               // Otherwise, try to guess the type.
-               else if (floattype_ == "figure" || floattype_ == "graph" ||
-                   floattype_ == "chart" || floattype_ == "scheme") {
+               // Otherwise, try to guess the DocBook type based on the float type.
+               else if (floattype_ == "figure" || floattype_ == "graph" || floattype_ == "chart" || floattype_ == "scheme" ||
+                               floattype_ == "marginfigure") {
                        docbook_float_type_ = "figure";
-               } else if (floattype_ == "table" || floattype_ == "tableau") {
+               } else if (floattype_ == "table" || floattype_ == "tableau" || floattype_ == "margintable") {
                        docbook_float_type_ = "table";
                } else if (floattype_ == "algorithm") {
                        docbook_float_type_ = "algorithm";
@@ -85,6 +85,10 @@ Floating::Floating(string const & type, string const & placement,
                // Specific floats for achemso.
                else if (docbook_float_type_ == "figure" && achemso.find(floattype_) != achemso.end())
                        docbook_attr_ += " type='" + floattype_ + "'";
+
+               // Finally, merge in the attributes given in argument.
+               if (!docbookAttr.empty())
+                       docbook_attr_ += " " + docbookAttr;
        }
 }