commit 1f060e5b7ac291ad3f470dd2f5ac3cb45f14fbbd
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed Jan 29 11:25:01 2020 +0100

    Ignore geometry-related settings if the class provides geometry
    
    Fixes #11724
    
    (cherry picked from commit dce9e44a1421350f275c9a3131f7e0532477c3a6)
    (cherry picked from commit b0a286893868bfcbf6ba51e88571e73bc8e110e9)
---
 src/BufferParams.cpp |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 1b740dc..8b40867 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -1803,7 +1803,8 @@ bool BufferParams::writeLaTeX(otexstream & os, 
LaTeXFeatures & features,
                os << "}\n";
        }
 
-       if (use_geometry || nonstandard_papersize) {
+       if (!features.isProvided("geometry")
+            && (use_geometry || nonstandard_papersize)) {
                odocstringstream ods;
                if (!getGraphicsDriver("geometry").empty())
                        ods << getGraphicsDriver("geometry");
@@ -1915,20 +1916,17 @@ bool BufferParams::writeLaTeX(otexstream & os, 
LaTeXFeatures & features,
                        break;
                }
                docstring g_options = trim(ods.str(), ",");
+               os << "\\usepackage";
                // geometry-light means that the class works with geometry, but 
overwrites
                // the package options and paper sizes (memoir does this).
                // In this case, all options need to go to \geometry
                // and the standard paper sizes need to go to the class options.
-               if (!features.isProvided("geometry")) {
-                       os << "\\usepackage";
-                       if (!g_options.empty() && 
!features.isProvided("geometry-light")) {
-                               os << '[' << g_options << ']';
-                               g_options.clear();
-                       }
-                       os << "{geometry}\n";
+               if (!g_options.empty() && 
!features.isProvided("geometry-light")) {
+                       os << '[' << g_options << ']';
+                       g_options.clear();
                }
-               if (use_geometry || features.isProvided("geometry")
-                   || features.isProvided("geometry-light")) {
+               os << "{geometry}\n";
+               if (use_geometry || features.isProvided("geometry-light")) {
                        os << "\\geometry{verbose";
                        if (!g_options.empty())
                                // Output general options here with "geometry 
light".
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to