lyx_mirror/src/mathed/InsetMathNumber.h

64 lines
1.3 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file InsetMathNumber.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_NUMBERINSET_H
#define MATH_NUMBERINSET_H
#include "InsetMath.h"
#include "support/docstring.h"
namespace lyx {
/** Some inset that "is" a number mainly for math-extern
*/
class InsetMathNumber : public InsetMath {
public:
///
explicit InsetMathNumber(docstring const & s);
///
void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
2020-10-03 12:42:14 +00:00
void draw(PainterInfo &, int x, int y) const override;
///
docstring str() const { return str_; }
///
InsetMathNumber * asNumberInset() { return this; }
///
void normalize(NormalStream &) const override;
///
void octave(OctaveStream &) const override;
///
void maple(MapleStream &) 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;
///
2020-12-26 19:04:36 +00:00
void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_NUMBER_CODE; }
private:
Inset * clone() const override;
/// the number as string
docstring str_;
};
} // namespace lyx
#endif