X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.cpp;h=8340940ef9be365760302e0eb7ca4ebd3048dcb8;hb=1acedf11da79f509da706bc8d6d2f491c9676087;hp=e60fd461d9a9c279c766da0efd4af2d68a8ed05f;hpb=34bce8b33eaac07100615e2611e4f88d01640b8c;p=lyx.git diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index e60fd461d9..8340940ef9 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -510,6 +510,7 @@ char const * simplefeatures[] = { the `float' package. See the caption package documentation for explanation.*/ "float", + "rotfloat", "wrapfig", "booktabs", "dvipost", @@ -518,10 +519,8 @@ char const * simplefeatures[] = { "units", "tipa", "framed", - "pdfcolmk", "soul", "textcomp", - "xcolor", "pmboxdraw", "bbding", "ifsym", @@ -589,14 +588,21 @@ string const LaTeXFeatures::getPackages() const (params_.use_esint != BufferParams::package_off || !isRequired("esint"))) packages << "\\usepackage{wasysym}\n"; - // color.sty - if (mustProvide("color")) { + // [x]color.sty + if (mustProvide("color") || mustProvide("xcolor")) { + string const package = + (mustProvide("xcolor") ? "xcolor" : "color"); if (params_.graphicsDriver == "default") - packages << "\\usepackage{color}\n"; + packages << "\\usepackage{" << package << "}\n"; else packages << "\\usepackage[" << params_.graphicsDriver - << "]{color}\n"; + << "]{" << package << "}\n"; + } + + // pdfcolmk must be loaded after color + if (mustProvide("pdfcolmk")) { + packages << "\\usepackage{pdfcolmk}\n"; } // makeidx.sty @@ -636,11 +642,13 @@ string const LaTeXFeatures::getPackages() const } // setspace.sty - if ((params_.spacing().getSpace() != Spacing::Single - && !params_.spacing().isDefault()) - || isRequired("setspace")) { - packages << "\\usepackage{setspace}\n"; + if ((isRequired("setspace") + || ((params_.spacing().getSpace() != Spacing::Single + && !params_.spacing().isDefault()))) + && !tclass.provides("SetSpace")) { + packages << "\\usepackage{setspace}\n"; } + bool const upcase = tclass.provides("SetSpace"); switch (params_.spacing().getSpace()) { case Spacing::Default: case Spacing::Single: @@ -648,13 +656,13 @@ string const LaTeXFeatures::getPackages() const //packages += "\\singlespacing\n"; break; case Spacing::Onehalf: - packages << "\\onehalfspacing\n"; + packages << (upcase ? "\\OnehalfSpacing\n" : "\\onehalfspacing\n"); break; case Spacing::Double: - packages << "\\doublespacing\n"; + packages << (upcase ? "\\DoubleSpacing\n" : "\\doublespacing\n"); break; case Spacing::Other: - packages << "\\setstretch{" + packages << (upcase ? "\\setSingleSpace{" : "\\setstretch{") << params_.spacing().getValue() << "}\n"; break; }