lyx_mirror/src/mathed/InsetMathMatrix.h

65 lines
1.4 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file InsetMathMatrix.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
#ifndef MATH_MATRIXINSET_H
#define MATH_MATRIXINSET_H
#include "InsetMathGrid.h"
#include "support/strfwd.h"
namespace lyx {
// "shortcut" for DelimInset("(",ArrayInset,")") used by MathExtern
class InsetMathMatrix : public InsetMathGrid {
public:
///
2017-07-03 17:45:58 +00:00
explicit InsetMathMatrix(InsetMathGrid const &,
docstring const & left, docstring const & right);
/// identifies MatrixInsets
InsetMathMatrix const * asMatrixInset() const override { return this; }
///
void write(WriteStream & os) const override;
///
void normalize(NormalStream &) const override;
///
void maple(MapleStream &) const override;
///
void maxima(MaximaStream &) const override;
///
void mathematica(MathematicaStream &) const override;
Improve Computer Algebra System, from Enrico Forestieri <forenr@tlc.unipr.it> * src/mathed/math_symbolinset.C (void MathSymbolInset::maxima): - newer maxima versions use inf instead of INF - add support for greek pi (void MathSymbolInset::mathematica): - add support for \cdot * src/mathed/math_stringinset.h - account for the const version of asStringInset() * src/mathed/math_extern.C (bool extractScript): - added bool superscript to formal parameters in order to only extract superscripts (MathArray::iterator extractArgument): - leave out delimiters and a possible superscript for function arguments (bool isKnownFunction): (bool extractFunctionName): - recognize standard and user defined function names (void splitScripts): - correctly split scripts as expected by other functions (MathAtom replaceDelims): - ranamed as replaceParenDelims (bool testOpenBracket): (bool testCloseBracket): - test for "[" and "]", respectively (MathAtom replaceBracketDelims): - replace something delimited by "[" and "]" with a proper DelimInset (void extractDelims): - create a DelimInset for "[" and "]" delimiters, too (void extractFunctions): - improved recognition of function names (bool testTermDelimiter): - test for '+' or '-' as term delimiters (MathArray::iterator extractTerm): - extract a "term", i.e., something delimited by '+' or '-' (bool testDiffItem): - improved recognition of a "differential fraction" (void extractDiff): - call splitScripts() on numerator and denominator of a differential fraction before analyzing them (void extractLims): - improved recognition of a limit function (void extractStructure): - reorganized order of searches (MathArray pipeThroughMaxima): - newer versions of maxima use simpsum instead of SIMPSUM (string fromMathematicaName): - translates from mathematica names (MathArray pipeThroughMathematica): - calls mathematica and collects its output (MathArray pipeThroughExtern): - add support for mathematica * src/mathed/math_numberinset.C * src/mathed/math_numberinset.h (void MathNumberInset::mathematica): - add support for mathematica * src/mathed/math_matrixinset.C * src/mathed/math_matrixinset.h (void MathMatrixInset::mathematica): - add support for mathematica * src/mathed/math_diffinset.C * src/mathed/math_diffinset.h (void MathDiffInset::maxima): - add support for maxima (void MathDiffInset::mathematica): - mathematica uses "D" and not "Dt" for normal derivatives * src/mathed/math_liminset.C * src/mathed/math_liminset.h (void MathLimInset::maxima): - add support for maxima (void MathLimInset::mathematica): - mathematica uses "Limit" and not "Lim" for limits * src/mathed/math_exfuncinset.C (string asMathematicaName): - added some more function names git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14865 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-02 01:57:36 +00:00
///
2020-12-26 19:02:46 +00:00
void mathmlize(MathMLStream &) const override;
///
void htmlize(HtmlStream &) const override;
///
void octave(OctaveStream &) const override;
///
InsetCode lyxCode() const override { return MATH_MATRIX_CODE; }
///
bool handlesMulticolumn() const override { return true; }
private:
Inset * clone() const override;
///
docstring left_;
///
docstring right_;
};
} // namespace lyx
#endif