]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_macro.C
make \newcommand{\bb}[1]{\mathbf{#1}} work for read/write/display.
[lyx.git] / src / mathed / math_macro.C
index 2d511683bf11a5c895df279e802cb7065fd281f9..7ab5dc3490189beb68aff90bf7652f68cbaf2341 100644 (file)
@@ -162,14 +162,16 @@ void MathMacro::dump() const
 }
 
 
-bool MathMacro::idxUp(idx_type & idx, pos_type & pos) const
+bool MathMacro::idxUp(idx_type & idx) const
 {
+       pos_type pos;
        return MathNestInset::idxLeft(idx, pos);
 }
 
 
-bool MathMacro::idxDown(idx_type & idx, pos_type & pos) const
+bool MathMacro::idxDown(idx_type & idx) const
 {
+       pos_type pos;
        return MathNestInset::idxRight(idx, pos);
 }
 
@@ -189,19 +191,32 @@ bool MathMacro::idxRight(idx_type &, pos_type &) const
 void MathMacro::validate(LaTeXFeatures & features) const
 {
        if (name() == "binom")
-               features.binom = true;
+               features.require("binom");
        //MathInset::validate(features);
 }
 
 
 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
+{
+       updateExpansion();
+       ::mathmlize(expanded_.data_, os);
+}
+
+
+void MathMacro::octavize(OctaveStream & os) const
+{
+       updateExpansion();
+       ::octavize(expanded_.data_, os);
+}
+
+
 void MathMacro::normalize(NormalStream & os) const
 {
        os << "[macro " << name() << " ";
@@ -219,3 +234,10 @@ void MathMacro::write(WriteStream & os) const
        if (nargs() == 0) 
                os << ' ';
 }
+
+
+void MathMacro::updateExpansion() const
+{
+       expanded_ = tmplate_->xcell(0);
+       expanded_.data_.substitute(*this);
+}