void InsetMathArray::metrics(MetricsInfo & mi, Dimension & dim) const
{
- ArrayChanger dummy(mi.base);
+ Changer dummy2 = mi.base.changeEnsureMath();
+ Changer dummy = mi.base.changeArray();
InsetMathGrid::metrics(mi, dim);
- dim.wid += 6;
-}
-
-
-Dimension const InsetMathArray::dimension(BufferView const & bv) const
-{
- Dimension dim = InsetMathGrid::dimension(bv);
- dim.wid += 6;
- return dim;
}
void InsetMathArray::draw(PainterInfo & pi, int x, int y) const
{
- setPosCache(pi, x, y);
- ArrayChanger dummy(pi.base);
- InsetMathGrid::drawWithMargin(pi, x, y, 4, 2);
+ Changer dummy2 = pi.base.changeEnsureMath();
+ Changer dummy = pi.base.changeArray();
+ InsetMathGrid::draw(pi, x, y);
}
-void InsetMathArray::write(WriteStream & os) const
+void InsetMathArray::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile())
os << "\\protect";
os << "\\begin{" << name_ << '}';
+ bool open = os.startOuterRow();
char const v = verticalAlignment();
if (v == 't' || v == 'b')
if (os.fragile())
os << "\\protect";
os << "\\end{" << name_ << '}';
+ if (open)
+ os.startOuterRow();
// adding a \n here is bad if the array is the last item
// in an \eqnarray...
}