]> git.lyx.org Git - lyx.git/blobdiff - src/output_docbook.cpp
The logic of the endParagraph() routine is wrong. We should first
[lyx.git] / src / output_docbook.cpp
index 4dc6048d5b92804d5faafe8a25a892c9e93e4c80..9dfa256eb81bbe2fbbe589ae750ae61ea50c4d81 100644 (file)
@@ -17,6 +17,7 @@
 #include "buffer_funcs.h"
 #include "BufferParams.h"
 #include "Counters.h"
+#include "Font.h"
 #include "Layout.h"
 #include "OutputParams.h"
 #include "Paragraph.h"
@@ -105,8 +106,10 @@ ParagraphList::const_iterator makeParagraph(Buffer const & buf,
        for (ParagraphList::const_iterator par = pbegin; par != pend; ++par) {
                if (par != pbegin)
                        os << '\n';
-               if (buf.params().documentClass().isDefaultLayout(par->layout()) 
-                   && par->emptyTag()) {
+               bool const default_or_plain = 
+                       (buf.params().documentClass().isDefaultLayout(par->layout()) 
+                               || buf.params().documentClass().isPlainLayout(par->layout()));
+               if (default_or_plain && par->emptyTag()) {
                        par->simpleDocBookOnePar(buf, os, runparams, 
                                        text.outerFont(distance(paragraphs.begin(), par)));
                } else {
@@ -260,7 +263,7 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf,
        if (!bstyle.labeltag().empty()) {
                sgml::openTag(os, bstyle.labeltag());
                // We don't care about appendix in DOCBOOK.
-               os << par->expandLabel(bstyle, buf.params(), false);
+               os << par->expandDocBookLabel(bstyle, buf.params());
                sgml::closeTag(os, bstyle.labeltag());
        }
 
@@ -333,18 +336,18 @@ void docbookParagraphs(Text const & text,
                switch (style.latextype) {
                case LATEX_COMMAND: {
                        send = searchCommand(par, pend);
-                       par = makeCommand(buf, os, runparams, text, par,send);
+                       par = makeCommand(buf, os, runparams, text, par, send);
                        break;
                }
                case LATEX_ENVIRONMENT:
                case LATEX_ITEM_ENVIRONMENT: {
                        send = searchEnvironment(par, pend);
-                       par = makeEnvironment(buf, os, runparams, text, par,send);
+                       par = makeEnvironment(buf, os, runparams, text, par, send);
                        break;
                }
                case LATEX_PARAGRAPH:
                        send = searchParagraph(par, pend);
-                       par = makeParagraph(buf, os, runparams, text, par,send);
+                       par = makeParagraph(buf, os, runparams, text, par, send);
                        break;
                default:
                        break;