- return left_ == "(" && right_ == ")" && cell(0).size() == 1 &&
- cell(0).begin()->nucleus() && cell(0).begin()->nucleus()->asArrayInset();
+ return left_ == "(" && right_ == ")";
+}
+
+
+bool MathDelimInset::isBrackets() const
+{
+ return left_ == "[" && right_ == "]";
+}
+
+
+bool MathDelimInset::isAbs() const
+{
+ return left_ == "|" && right_ == "|";
+}
+
+
+void MathDelimInset::maple(MapleStream & os) const
+{
+ if (isAbs()) {
+ if (cell(0).size() == 1 && cell(0).front()->asMatrixInset())
+ os << "linalg[det](" << cell(0) << ')';
+ else
+ os << "abs(" << cell(0) << ')';
+ }
+ else
+ os << left_ << cell(0) << right_;
+}
+
+void MathDelimInset::maxima(MaximaStream & os) const
+{
+ if (isAbs()) {
+ if (cell(0).size() == 1 && cell(0).front()->asMatrixInset())
+ os << "determinant(" << cell(0) << ')';
+ else
+ os << "abs(" << cell(0) << ')';
+ }
+ else
+ os << left_ << cell(0) << right_;