[LyX/2.3.4-2] Ignore geometry-related settings if the class provides geometry
Richard Kimberly Heck
rikiheck at lyx.org
Fri Feb 7 15:36:19 UTC 2020
commit 1f060e5b7ac291ad3f470dd2f5ac3cb45f14fbbd
Author: Juergen Spitzmueller <spitz at lyx.org>
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".
More information about the lyx-cvs
mailing list