From 56ece75ad9becba27ff1eaa12a0b8e3c68bb317b Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Fri, 28 Dec 2012 19:51:28 +0100 Subject: [PATCH] Fix bug #8464: stackrel with subscript. The fix is basically mechanical, the additional code for fraction like insets with three arguments was stolen from \unitfrac. As any math package, stackrel.sty needs a buffer parameter to switch it off. I also added the two stackrel flavours to the toolbar. --- development/FORMAT | 5 + lib/Makefile.am | 2 + lib/chkconfig.ltx | 1 + lib/doc/LaTeXConfig.lyx | 30 ++++++ lib/images/math/stackrel.png | Bin 0 -> 195 bytes lib/images/math/stackrelthree.png | Bin 0 -> 209 bytes lib/lyx2lyx/lyx_2_1.py | 47 ++++++++- lib/ui/stdtoolbars.inc | 2 + src/BufferParams.cpp | 1 + src/BufferParams.h | 2 +- src/LaTeXFeatures.cpp | 4 + src/frontends/qt4/GuiDocument.cpp | 4 + src/mathed/InsetMathNest.cpp | 1 + src/mathed/InsetMathStackrel.cpp | 98 ++++++++++++++---- src/mathed/InsetMathStackrel.h | 4 +- src/mathed/MathFactory.cpp | 5 +- src/mathed/MathParser.cpp | 12 +++ src/tex2lyx/Preamble.cpp | 5 +- src/tex2lyx/TODO.txt | 1 + src/tex2lyx/test/CJK.lyx.lyx | 3 +- src/tex2lyx/test/DummyDocument.lyx | 3 +- src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx | 3 +- .../test/box-color-size-space-align.lyx.lyx | 3 +- src/tex2lyx/test/test-insets.lyx.lyx | 3 +- src/tex2lyx/test/test-modules.lyx.lyx | 3 +- src/tex2lyx/test/test-structure.lyx.lyx | 3 +- src/tex2lyx/test/test.lyx.lyx | 3 +- src/version.h | 4 +- 28 files changed, 218 insertions(+), 34 deletions(-) create mode 100644 lib/images/math/stackrel.png create mode 100644 lib/images/math/stackrelthree.png diff --git a/development/FORMAT b/development/FORMAT index 033e9be83b..0a8bdbfa37 100644 --- a/development/FORMAT +++ b/development/FORMAT @@ -11,6 +11,11 @@ adjustments are made to tex2lyx and bugs are fixed in lyx2lyx. ----------------------- +2012-12-28 Georg Baum + * Format incremented to 457 + support for the LaTeX-package stackrel (fix bug 8464) + New buffer param \use_package stackrel + 2012-12-28 Jürgen Spitzmüller * Format incremented to 456: Proper support for memoir \epigraph \epigraph{text}{source} > begin_layout Epigraph, as diff --git a/lib/Makefile.am b/lib/Makefile.am index 7fe8e42679..96ed545453 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -978,6 +978,8 @@ dist_imagesmath_DATA = \ images/math/ssearrow.png \ images/math/sslash.png \ images/math/sswarrow.png \ + images/math/stackrel.png \ + images/math/stackrelthree.png \ images/math/star.png \ images/math/style.png \ images/math/sub.png \ diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index 22297e5e8e..b9926b5415 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -343,6 +343,7 @@ \TestPackage{slashed} \TestPackage{soul} \TestPackage{splitidx} +\TestPackage{stackrel} \TestPackage{stmaryrd} \TestPackage{subfig} \TestPackage{Sweave} diff --git a/lib/doc/LaTeXConfig.lyx b/lib/doc/LaTeXConfig.lyx index 01de5ab3ae..e961727cae 100644 --- a/lib/doc/LaTeXConfig.lyx +++ b/lib/doc/LaTeXConfig.lyx @@ -6580,6 +6580,36 @@ splitindex converter programs. \end_layout +\begin_layout Subsection +stackrel +\end_layout + +\begin_layout Description +Found: +\begin_inset Info +type "package" +arg "stackrel" +\end_inset + + +\end_layout + +\begin_layout Description +CTAN: +\family typewriter +macros/latex/contrib/oberdiek +\end_layout + +\begin_layout Description +Notes: The package +\family sans +stackrel +\family default + is needed by LyX to be able to output formulas using the +\backslash +stackrel command with subscript. +\end_layout + \begin_layout Subsection stmaryrd \end_layout diff --git a/lib/images/math/stackrel.png b/lib/images/math/stackrel.png new file mode 100644 index 0000000000000000000000000000000000000000..05bee5f70aaf1f5af0d3ac630f410ca78e4c7ab3 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1(2s1Lwnj--eO!jnf46!)7S92{3xewi@_ciM&(H= z46g6ar8Jh8q|Bf6V$XZ!o*Mo{*U*dm+$%!uAG)vKb7kV~TfA?CZvUHdfv@tkoO(>3 lQYM4mN^!H_-iOxt&y8JEtTwAL{W8!x22WQ%mvv4FO#sa8L~;NC literal 0 HcmV?d00001 diff --git a/lib/images/math/stackrelthree.png b/lib/images/math/stackrelthree.png new file mode 100644 index 0000000000000000000000000000000000000000..0c53985eeadfd47dd85ccd8af6a333ecd8839254 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1(2s1Lwnj--eEcA4746!) const & BufferParams::auto_packages() packages.push_back("mathdots"); packages.push_back("mathtools"); packages.push_back("mhchem"); + packages.push_back("stackrel"); packages.push_back("stmaryrd"); packages.push_back("undertilde"); } diff --git a/src/BufferParams.h b/src/BufferParams.h index 80025abff1..1bff132187 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -519,7 +519,7 @@ private: typedef std::map PackageMap; /** Whether and how to load packages like amsmath, esint, mhchem, - * mathdots and undertilde. + * mathdots, stackrel, stmaryrd and undertilde. */ PackageMap use_packages; diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 9a73c8e21e..6b23fc537b 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -851,6 +851,10 @@ string const LaTeXFeatures::getPackages() const params_.use_package("stmaryrd") != BufferParams::package_off) packages << "\\usepackage{stmaryrd}\n"; + if (mustProvide("stackrel") && + params_.use_package("stackrel") != BufferParams::package_off) + packages << "\\usepackage{stackrel}\n"; + if (mustProvide("undertilde") && params_.use_package("undertilde") != BufferParams::package_off) packages << "\\usepackage{undertilde}\n"; diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 180a83aeee..2ce8393da6 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -156,6 +156,10 @@ char const * packages_gui[][4] = N_("Use mhchem &package automatically"), N_("Use mh&chem package"), N_("The LaTeX package mhchem is only used if either the command \\ce or \\cf is inserted into formulas")}, + {"stackrel", + N_("Use stackrel package automatically"), + N_("Use stackrel package"), + N_("The LaTeX package stackrel is only used if the command \\stackrel with subscript is inserted into formulas")}, {"stmaryrd", N_("Use stmaryrd package automatically"), N_("Use stmaryrd package"), diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp index 0e4352546c..e3ed60a22c 100644 --- a/src/mathed/InsetMathNest.cpp +++ b/src/mathed/InsetMathNest.cpp @@ -2099,6 +2099,7 @@ MathCompletionList::MathCompletionList(Cursor const & cur) globals.push_back(from_ascii("\\root")); globals.push_back(from_ascii("\\tabular")); globals.push_back(from_ascii("\\stackrel")); + globals.push_back(from_ascii("\\stackrelthree")); globals.push_back(from_ascii("\\binom")); globals.push_back(from_ascii("\\choose")); globals.push_back(from_ascii("\\brace")); diff --git a/src/mathed/InsetMathStackrel.cpp b/src/mathed/InsetMathStackrel.cpp index 200fde5a35..d8b9e97d25 100644 --- a/src/mathed/InsetMathStackrel.cpp +++ b/src/mathed/InsetMathStackrel.cpp @@ -12,6 +12,7 @@ #include "InsetMathStackrel.h" +#include "Cursor.h" #include "LaTeXFeatures.h" #include "MathData.h" #include "MathStream.h" @@ -20,7 +21,8 @@ using namespace std; namespace lyx { -InsetMathStackrel::InsetMathStackrel(Buffer * buf) : InsetMathFracBase(buf) +InsetMathStackrel::InsetMathStackrel(Buffer * buf, bool sub) + : InsetMathFracBase(buf, sub ? 3 : 2) {} @@ -30,6 +32,24 @@ Inset * InsetMathStackrel::clone() const } +bool InsetMathStackrel::idxUpDown(Cursor & cur, bool up) const +{ + if (up) { + if (cur.idx() == 0) + return false; + } else { + if (cur.idx() + 1 == nargs()) + return false; + } + InsetMath::idx_type target = up ? cur.idx() - 1 : cur.idx() + 1; + if (cur.idx() == target) + return false; + cur.idx() = target; + cur.pos() = cell(target).x2pos(&cur.bv(), cur.x_target()); + return true; +} + + void InsetMathStackrel::metrics(MetricsInfo & mi, Dimension & dim) const { Dimension dim1; @@ -37,9 +57,17 @@ void InsetMathStackrel::metrics(MetricsInfo & mi, Dimension & dim) const FracChanger dummy(mi.base); Dimension dim0; cell(0).metrics(mi, dim0); - dim.wid = max(dim0.width(), dim1.width()) + 4; - dim.asc = dim1.ascent() + dim0.height() + 4; - dim.des = dim1.descent(); + if (nargs() > 2) { + Dimension dim2; + cell(2).metrics(mi, dim2); + dim.wid = max(max(dim0.width(), dim1.width()), dim2.width()) + 4; + dim.asc = dim1.ascent() + dim0.height() + 4; + dim.des = dim1.descent() + dim2.height() + dim2.descent() + 1; + } else { + dim.wid = max(dim0.width(), dim1.width()) + 4; + dim.asc = dim1.ascent() + dim0.height() + 4; + dim.des = dim1.descent(); + } metricsMarkers(dim); } @@ -54,6 +82,11 @@ void InsetMathStackrel::draw(PainterInfo & pi, int x, int y) const cell(1).draw(pi, m - dim1.width() / 2, y); FracChanger dummy(pi.base); cell(0).draw(pi, m - dim0.width() / 2, yo); + if (nargs() > 2) { + Dimension const & dim2 = cell(2).dimension(*pi.base.bv); + int y2 = y + dim1.descent() + dim2.ascent() + 1; + cell(2).draw(pi, m - dim2.width() / 2, y2); + } drawMarkers(pi, x, y); } @@ -61,40 +94,69 @@ void InsetMathStackrel::draw(PainterInfo & pi, int x, int y) const void InsetMathStackrel::write(WriteStream & os) const { MathEnsurer ensurer(os); - os << "\\stackrel{" << cell(0) << "}{" << cell(1) << '}'; + os << "\\stackrel"; + if (nargs() > 2) + os << '[' << cell(2) << ']'; + os << '{' << cell(0) << "}{" << cell(1) << '}'; } void InsetMathStackrel::normalize(NormalStream & os) const { - os << "[stackrel " << cell(0) << ' ' << cell(1) << ']'; + os << "[stackrel " << cell(0) << ' ' << cell(1); + if (nargs() > 2) + os << ' ' << cell(2); + os << ']'; } void InsetMathStackrel::mathmlize(MathStream & ms) const { - ms << "" << cell(1) << cell(0) << ""; + if (nargs() > 2) + ms << "" << cell(1) << cell(2) << cell(0) << ""; + else + ms << "" << cell(1) << cell(0) << ""; } void InsetMathStackrel::htmlize(HtmlStream & os) const { - // at the moment, this is exactly the same as overset - os << MTag("span", "class='overset'") - << MTag("span", "class='top'") << cell(0) << ETag("span") - << MTag("span") << cell(1) << ETag("span") - << ETag("span"); + if (nargs() > 2) { + os << MTag("span", "class='underoverset'") + << MTag("span", "class='top'") << cell(0) << ETag("span") + << MTag("span") << cell(1) << ETag("span") + << MTag("span", "class='bottom'") << cell(2) << ETag("span"); + } else { + // at the moment, this is exactly the same as overset + os << MTag("span", "class='overset'") + << MTag("span", "class='top'") << cell(0) << ETag("span") + << MTag("span") << cell(1) << ETag("span"); + } + os << ETag("span"); } void InsetMathStackrel::validate(LaTeXFeatures & features) const { - // from overset - if (features.runparams().math_flavor == OutputParams::MathAsHTML) - features.addCSSSnippet( - "span.overset{display: inline-block; vertical-align: bottom; text-align:center;}\n" - "span.overset span {display: block;}\n" - "span.top{font-size: 66%;}"); + if (features.runparams().math_flavor == OutputParams::MathAsHTML) { + if (nargs() > 2) { + // FIXME: "vertical-align: middle" works only if the + // height of sub and super script is approximately equal. + features.addCSSSnippet( + "span.underoverset{display: inline-block; vertical-align: middle; text-align:center;}\n" + "span.underoverset span {display: block;}\n" + "span.bottom{font-size: 66%;}\n" + "span.top{font-size: 66%;}"); + } else { + // from overset + features.addCSSSnippet( + "span.overset{display: inline-block; vertical-align: bottom; text-align:center;}\n" + "span.overset span {display: block;}\n" + "span.top{font-size: 66%;}"); + } + } + if (nargs() > 2) + features.require("stackrel"); InsetMathNest::validate(features); } diff --git a/src/mathed/InsetMathStackrel.h b/src/mathed/InsetMathStackrel.h index 11160c37ef..91862a7792 100644 --- a/src/mathed/InsetMathStackrel.h +++ b/src/mathed/InsetMathStackrel.h @@ -20,7 +20,9 @@ namespace lyx { class InsetMathStackrel : public InsetMathFracBase { public: /// - InsetMathStackrel(Buffer * buf); + InsetMathStackrel(Buffer * buf, bool sub); + /// + bool idxUpDown(Cursor &, bool up) const; /// void metrics(MetricsInfo & mi, Dimension & dim) const; /// diff --git a/src/mathed/MathFactory.cpp b/src/mathed/MathFactory.cpp index 29d9a5f9a4..5266edae67 100644 --- a/src/mathed/MathFactory.cpp +++ b/src/mathed/MathFactory.cpp @@ -453,7 +453,10 @@ MathAtom createInsetMath(docstring const & s, Buffer * buf) if (s == "tabular") return MathAtom(new InsetMathTabular(buf, s, 1, 1)); if (s == "stackrel") - return MathAtom(new InsetMathStackrel(buf)); + return MathAtom(new InsetMathStackrel(buf, false)); + // This string value is only for math toolbar use, no LaTeX name + if (s == "stackrelthree") + return MathAtom(new InsetMathStackrel(buf, true)); if (s == "binom") return MathAtom(new InsetMathBinom(buf, InsetMathBinom::BINOM)); if (s == "dbinom") diff --git a/src/mathed/MathParser.cpp b/src/mathed/MathParser.cpp index 1982af3c86..3f20df5eb7 100644 --- a/src/mathed/MathParser.cpp +++ b/src/mathed/MathParser.cpp @@ -59,6 +59,7 @@ following hack as starting point to write some macros: #include "InsetMathSpace.h" #include "InsetMathSplit.h" #include "InsetMathSqrt.h" +#include "InsetMathStackrel.h" #include "InsetMathString.h" #include "InsetMathTabular.h" #include "MathMacroTemplate.h" @@ -1441,6 +1442,17 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags, parse(cell->back().nucleus()->cell(1), FLAG_ITEM, mode); } + else if (t.cs() == "stackrel") { + // Here allowed formats are \stackrel[subscript]{superscript}{operator} + MathData ar; + parse(ar, FLAG_OPTION, mode); + cell->push_back(MathAtom(new InsetMathStackrel(buf, !ar.empty()))); + if (!ar.empty()) + cell->back().nucleus()->cell(2) = ar; + parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode); + parse(cell->back().nucleus()->cell(1), FLAG_ITEM, mode); + } + else if (t.cs() == "xrightarrow" || t.cs() == "xleftarrow") { cell->push_back(createInsetMath(t.cs(), buf)); parse(cell->back().nucleus()->cell(1), FLAG_OPTION, mode); diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index fe6de6995f..31ac0916e2 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -517,6 +517,7 @@ Preamble::Preamble() : one_language(true), title_layout_found(false) h_use_packages["mhchem"] = "0"; h_use_packages["mathdots"] = "0"; h_use_packages["mathtools"] = "0"; + h_use_packages["stackrel"] = "0"; h_use_packages["stmaryrd"] = "0"; h_use_packages["undertilde"] = "0"; } @@ -703,8 +704,8 @@ void Preamble::handle_package(Parser &p, string const & name, else if (name == "amsmath" || name == "amssymb" || name == "esint" || name == "mhchem" || name == "mathdots" || - name == "mathtools" || name == "stmaryrd" || - name == "undertilde") + name == "mathtools" || name == "stackrel" || + name == "stmaryrd" || name == "undertilde") h_use_packages[name] = "2"; else if (name == "babel") { diff --git a/src/tex2lyx/TODO.txt b/src/tex2lyx/TODO.txt index f2ae0efd7e..162d07fd47 100644 --- a/src/tex2lyx/TODO.txt +++ b/src/tex2lyx/TODO.txt @@ -97,6 +97,7 @@ Format LaTeX feature LyX feature 455 beamer frametitle command \begin_layout FrameTitle \frametitle[short}{long} 456 memoir: \epigraph{text}{source} layout Epigraph, InsetArgument +457 automatic stackrel loading \use_package stackrel General diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx index 6ebad1a19a..a6c5cdaaec 100644 --- a/src/tex2lyx/test/CJK.lyx.lyx +++ b/src/tex2lyx/test/CJK.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -46,6 +46,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/tex2lyx/test/DummyDocument.lyx b/src/tex2lyx/test/DummyDocument.lyx index fefacc0a82..38d6bc323f 100644 --- a/src/tex2lyx/test/DummyDocument.lyx +++ b/src/tex2lyx/test/DummyDocument.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -44,6 +44,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine natbib diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx index 23bf90d946..b9079495e5 100644 --- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx +++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -46,6 +46,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx index 0ddc59d9f4..1315f5ef13 100644 --- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx +++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -70,6 +70,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/tex2lyx/test/test-insets.lyx.lyx b/src/tex2lyx/test/test-insets.lyx.lyx index 7b1b4c9501..df5c9cc894 100644 --- a/src/tex2lyx/test/test-insets.lyx.lyx +++ b/src/tex2lyx/test/test-insets.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -50,6 +50,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine natbib diff --git a/src/tex2lyx/test/test-modules.lyx.lyx b/src/tex2lyx/test/test-modules.lyx.lyx index 226102c730..f1bc385836 100644 --- a/src/tex2lyx/test/test-modules.lyx.lyx +++ b/src/tex2lyx/test/test-modules.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass amsart @@ -42,6 +42,7 @@ theorems-ams \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx index ea9ddab8d0..65ee7a35bf 100644 --- a/src/tex2lyx/test/test-structure.lyx.lyx +++ b/src/tex2lyx/test/test-structure.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -75,6 +75,7 @@ logicalmkup \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx index ba14fabec6..4eaaba7893 100644 --- a/src/tex2lyx/test/test.lyx.lyx +++ b/src/tex2lyx/test/test.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.1.0dev -\lyxformat 456 +\lyxformat 457 \begin_document \begin_header \textclass article @@ -46,6 +46,7 @@ \use_package mathdots 0 \use_package mathtools 0 \use_package mhchem 0 +\use_package stackrel 0 \use_package stmaryrd 0 \use_package undertilde 0 \cite_engine basic diff --git a/src/version.h b/src/version.h index 5cab79e8d5..aad31feaac 100644 --- a/src/version.h +++ b/src/version.h @@ -30,8 +30,8 @@ extern char const * const lyx_version_info; // Do not remove the comment below, so we get merge conflict in // independent branches. Instead add your own. -#define LYX_FORMAT_LYX 456 // spitz: proper support for memoir epigraph -#define LYX_FORMAT_TEX2LYX 456 // spitz: proper support for memoir epigraph +#define LYX_FORMAT_LYX 457 // gb: automatic stackrel package loading +#define LYX_FORMAT_TEX2LYX 457 // gb: automatic stackrel package loading #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX #ifndef _MSC_VER -- 2.39.2