]> git.lyx.org Git - lyx.git/blobdiff - src/output_latex.cpp
Support the new Indian Rupee currency symbol.
[lyx.git] / src / output_latex.cpp
index bbaa12901980dc266a8c7550cfaa8c1bd4249d33..ea4d035367b173ddb0498b291e3e3dba099a5f35 100644 (file)
@@ -15,6 +15,7 @@
 #include "Buffer.h"
 #include "BufferParams.h"
 #include "Encoding.h"
+#include "Font.h"
 #include "InsetList.h"
 #include "Language.h"
 #include "Layout.h"
@@ -373,18 +374,44 @@ ParagraphList::const_iterator TeXOnePar(Buffer const & buf,
                open_encoding_ = none;
        }
 
-       if (runparams.pass_thru) {
+       if (text.inset().getLayout().isPassThru()) {
                int const dist = distance(paragraphs.begin(), pit);
                Font const outerfont = text.outerFont(dist);
 
-               // No newline if only one paragraph in this lyxtext
+               // No newline before first paragraph in this lyxtext
                if (dist > 0) {
                        os << '\n';
                        texrow.newline();
+                       if (!text.inset().getLayout().parbreakIsNewline()) {
+                               os << '\n';
+                               texrow.newline();
+                       }
                }
 
                pit->latex(bparams, outerfont, os, texrow,
-                                                        runparams, start_pos, end_pos);
+                          runparams, start_pos, end_pos);
+               return nextpit;
+       }
+
+       if (style.pass_thru) {
+               int const dist = distance(paragraphs.begin(), pit);
+               Font const outerfont = text.outerFont(dist);
+               pit->latex(bparams, outerfont, os, texrow,
+                          runparams, start_pos, end_pos);
+               os << '\n';
+               texrow.newline();
+               if (!style.parbreak_is_newline) {
+                       os << '\n';
+                       texrow.newline();
+               } else if (nextpit != paragraphs.end()) {
+                       Layout const nextstyle = text.inset().forcePlainLayout() ?
+                               bparams.documentClass().plainLayout() : nextpit->layout();
+                       if (nextstyle.name() != style.name()) {
+                               os << '\n';
+                               texrow.newline();
+                       }
+               }
+
                return nextpit;
        }