From: André Pönitz Date: Tue, 11 Dec 2001 11:33:43 +0000 (+0000) Subject: input support for \mathcal, \mathbb etc. X-Git-Tag: 1.6.10~20192 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=49710a766f6d95525873bc6f220fa1e1bc6a6e7a;p=features.git input support for \mathcal, \mathbb etc. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3186 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/mathed/math_cursor.C b/src/mathed/math_cursor.C index 2d7747052c..80cc2f918a 100644 --- a/src/mathed/math_cursor.C +++ b/src/mathed/math_cursor.C @@ -1266,6 +1266,12 @@ bool MathCursor::interpret(string const & s) return true; } + latexkeys const * l = in_word_set(s.substr(1)); + if (l && (l->token == LM_TK_FONT || l->token == LM_TK_OLDFONT)) { + lastcode_ = static_cast(l->id); + return true; + } + niceInsert(createMathInset(s.substr(1))); return true; } @@ -1403,7 +1409,8 @@ bool MathCursor::interpret(char c) } // no special circumstances, so insert the character without any fuss - insert(c, LM_TC_MIN); + insert(c, lastcode_); + lastcode_ = LM_TC_MIN; return true; } diff --git a/src/mathed/math_macro.C b/src/mathed/math_macro.C index 8f413d47bd..7ac130d265 100644 --- a/src/mathed/math_macro.C +++ b/src/mathed/math_macro.C @@ -196,24 +196,21 @@ void MathMacro::validate(LaTeXFeatures & features) const void MathMacro::maplize(MapleStream & os) const { - expanded_ = tmplate_->xcell(0); - expanded_.data_.substitute(*this); + updateExpansion(); ::maplize(expanded_.data_, os); } void MathMacro::mathmlize(MathMLStream & os) const { - expanded_ = tmplate_->xcell(0); - expanded_.data_.substitute(*this); + updateExpansion(); ::mathmlize(expanded_.data_, os); } void MathMacro::octavize(OctaveStream & os) const { - expanded_ = tmplate_->xcell(0); - expanded_.data_.substitute(*this); + updateExpansion(); ::octavize(expanded_.data_, os); } @@ -235,3 +232,10 @@ void MathMacro::write(WriteStream & os) const if (nargs() == 0) os << ' '; } + + +void MathMacro::updateExpansion() const +{ + expanded_ = tmplate_->xcell(0); + expanded_.data_.substitute(*this); +} diff --git a/src/mathed/math_macro.h b/src/mathed/math_macro.h index 5c5f4bc60e..4847d358a6 100644 --- a/src/mathed/math_macro.h +++ b/src/mathed/math_macro.h @@ -86,6 +86,8 @@ private: bool editing() const; /// bool defining() const; + /// + void updateExpansion() const; /// MathAtom & tmplate_; diff --git a/src/mathed/math_macrotable.C b/src/mathed/math_macrotable.C index 2b70aaa9e6..a07cdb623e 100644 --- a/src/mathed/math_macrotable.C +++ b/src/mathed/math_macrotable.C @@ -55,6 +55,7 @@ void MathMacroTable::create(string const & name, int na, string const & text) } + void MathMacroTable::create(string const & name, int na, MathArray const & ar) { MathAtom t(new MathMacroTemplate(name, na)); diff --git a/src/mathed/math_macrotemplate.C b/src/mathed/math_macrotemplate.C index a12714b488..3fe31bc7b7 100644 --- a/src/mathed/math_macrotemplate.C +++ b/src/mathed/math_macrotemplate.C @@ -16,10 +16,9 @@ MathMacroTemplate::MathMacroTemplate() MathMacroTemplate::MathMacroTemplate(string const & nm, int numargs) : MathNestInset(1), numargs_(numargs), name_(nm) { - if (numargs_ > 9) { + if (numargs_ > 9) lyxerr << "MathMacroTemplate::MathMacroTemplate: wrong # of arguments: " << numargs_ << std::endl; - } } diff --git a/src/mathed/math_mathmlstream.h b/src/mathed/math_mathmlstream.h index 7078efd82a..4efd2c95e8 100644 --- a/src/mathed/math_mathmlstream.h +++ b/src/mathed/math_mathmlstream.h @@ -193,5 +193,4 @@ WriteStream & operator<<(WriteStream &, int); /// WriteStream & operator<<(WriteStream &, unsigned int); - #endif