mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 05:25:26 +00:00
Geof Piroux's patch for Mathematica support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4506 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
643ec3cf04
commit
cd19a0b33b
@ -1,3 +1,7 @@
|
|||||||
|
2002-07-01 Geof Piroux
|
||||||
|
|
||||||
|
* math_ex*.[Ch] et al: support for Mathematica as CAS backend
|
||||||
|
|
||||||
2002-06-28 Angus Leeming <leeming@lyx.org>
|
2002-06-28 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* preview.h (preview): don't pass grfx::GraphicPtr & anymore.
|
* preview.h (preview): don't pass grfx::GraphicPtr & anymore.
|
||||||
|
@ -144,6 +144,22 @@ void MathDelimInset::maplize(MapleStream & os) const
|
|||||||
os << left_ << cell(0) << right_;
|
os << left_ << cell(0) << right_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathDelimInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
if (isAbs()) {
|
||||||
|
bool mat =
|
||||||
|
cell(0).size() == 1 && cell(0).begin()->nucleus()
|
||||||
|
&& cell(0).begin()->nucleus()->asMatrixInset();
|
||||||
|
if (mat)
|
||||||
|
os << "Det" << cell(0) << ']';
|
||||||
|
else
|
||||||
|
os << "Abs[" << cell(0) << ']';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
os << left_ << cell(0) << right_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void MathDelimInset::mathmlize(MathMLStream & os) const
|
void MathDelimInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -43,6 +43,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
|
@ -55,6 +55,17 @@ void MathDiffInset::maplize(MapleStream & os) const
|
|||||||
os << ')';
|
os << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathDiffInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << "Dt[";
|
||||||
|
for (idx_type idx = 0; idx < nargs(); ++idx) {
|
||||||
|
if (idx != 0)
|
||||||
|
os << ',';
|
||||||
|
os << cell(idx);
|
||||||
|
}
|
||||||
|
os << ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathDiffInset::mathmlize(MathMLStream & os) const
|
void MathDiffInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -25,6 +25,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void write(WriteStream & os) const;
|
void write(WriteStream & os) const;
|
||||||
|
@ -51,6 +51,34 @@ void MathExFuncInset::maplize(MapleStream & os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
string asMathematicaName(string const & name)
|
||||||
|
{
|
||||||
|
if (name == "sin") return "Sin";
|
||||||
|
if (name == "sinh") return "Sinh";
|
||||||
|
if (name == "arcsin") return "ArcSin";
|
||||||
|
if (name == "cos") return "Cos";
|
||||||
|
if (name == "cosh") return "Cosh";
|
||||||
|
if (name == "arcos") return "ArcCos";
|
||||||
|
if (name == "tan") return "Tan";
|
||||||
|
if (name == "tanh") return "Tanh";
|
||||||
|
if (name == "arctan") return "ArcTan";
|
||||||
|
if (name == "cot") return "Cot";
|
||||||
|
if (name == "coth") return "Coth";
|
||||||
|
if (name == "csc") return "Csc";
|
||||||
|
if (name == "sec") return "Sec";
|
||||||
|
if (name == "exp") return "Exp";
|
||||||
|
if (name == "log") return "Log";
|
||||||
|
if (name == "ln" ) return "Log";
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MathExFuncInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << asMathematicaName(name_) << '[' << cell(0) << ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathExFuncInset::mathmlize(MathMLStream & os) const
|
void MathExFuncInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
os << MTag(name_.c_str()) << cell(0) << ETag(name_.c_str());
|
os << MTag(name_.c_str()) << cell(0) << ETag(name_.c_str());
|
||||||
|
@ -25,6 +25,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
|
@ -74,6 +74,26 @@ void MathExIntInset::maplize(MapleStream & os) const
|
|||||||
os << ')';
|
os << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathExIntInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
if ( symbol_ == "int" )
|
||||||
|
os << "Integrate[";
|
||||||
|
else
|
||||||
|
if (symbol_ == "sum")
|
||||||
|
os << "Sum[";
|
||||||
|
else
|
||||||
|
os << symbol_ << '[';
|
||||||
|
|
||||||
|
if (cell(0).size())
|
||||||
|
os << cell(0) << ',';
|
||||||
|
else
|
||||||
|
os << '1' << ',';
|
||||||
|
if (hasScripts())
|
||||||
|
os << '{' << cell(1) << ',' << cell(2) << ',' << cell(3) << "}]";
|
||||||
|
else
|
||||||
|
os << cell(1) << ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathExIntInset::mathmlize(MathMLStream & os) const
|
void MathExIntInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -26,6 +26,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void write(WriteStream & os) const;
|
void write(WriteStream & os) const;
|
||||||
|
@ -844,6 +844,24 @@ void maplize(MathArray const & dat, MapleStream & os)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void mathematicize(MathArray const & dat, MathematicaStream & os)
|
||||||
|
{
|
||||||
|
MathArray ar = dat;
|
||||||
|
extractStructure(ar);
|
||||||
|
for (MathArray::const_iterator it = ar.begin(); it != ar.end(); ++it) {
|
||||||
|
MathInset const * p = it->nucleus();
|
||||||
|
if (it + 1 != ar.end()) {
|
||||||
|
if (MathScriptInset const * q = asScript(it)) {
|
||||||
|
q->mathematicize2(p, os);
|
||||||
|
++it;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p->mathematicize(os);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void mathmlize(MathArray const & dat, MathMLStream & os)
|
void mathmlize(MathArray const & dat, MathMLStream & os)
|
||||||
{
|
{
|
||||||
MathArray ar = dat;
|
MathArray ar = dat;
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
class NormalStream;
|
class NormalStream;
|
||||||
class MapleStream;
|
class MapleStream;
|
||||||
|
class MathematicaStream;
|
||||||
class MathMLStream;
|
class MathMLStream;
|
||||||
class OctaveStream;
|
class OctaveStream;
|
||||||
class WriteStream;
|
class WriteStream;
|
||||||
@ -13,6 +14,7 @@ class MathArray;
|
|||||||
void write(MathArray const &, WriteStream &);
|
void write(MathArray const &, WriteStream &);
|
||||||
void normalize(MathArray const &, NormalStream &);
|
void normalize(MathArray const &, NormalStream &);
|
||||||
void maplize(MathArray const &, MapleStream &);
|
void maplize(MathArray const &, MapleStream &);
|
||||||
|
void mathematicize(MathArray const &, MathematicaStream &);
|
||||||
void mathmlize(MathArray const &, MathMLStream &);
|
void mathmlize(MathArray const &, MathMLStream &);
|
||||||
void octavize(MathArray const &, OctaveStream &);
|
void octavize(MathArray const &, OctaveStream &);
|
||||||
|
|
||||||
|
@ -89,12 +89,15 @@ void MathFracInset::normalize(NormalStream & os) const
|
|||||||
os << cell(0) << ' ' << cell(1) << ']';
|
os << cell(0) << ' ' << cell(1) << ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathFracInset::maplize(MapleStream & os) const
|
void MathFracInset::maplize(MapleStream & os) const
|
||||||
{
|
{
|
||||||
os << '(' << cell(0) << ")/(" << cell(1) << ')';
|
os << '(' << cell(0) << ")/(" << cell(1) << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathFracInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << '(' << cell(0) << ")/(" << cell(1) << ')';
|
||||||
|
}
|
||||||
|
|
||||||
void MathFracInset::octavize(OctaveStream & os) const
|
void MathFracInset::octavize(OctaveStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -35,6 +35,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
///
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
|
@ -240,6 +240,13 @@ void MathInset::maplize(MapleStream & os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MathInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
NormalStream ns(os.os());
|
||||||
|
normalize(ns);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathInset::mathmlize(MathMLStream & os) const
|
void MathInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
NormalStream ns(os.os());
|
NormalStream ns(os.os());
|
||||||
|
@ -71,6 +71,7 @@ class MathXYMatrixInset;
|
|||||||
class NormalStream;
|
class NormalStream;
|
||||||
class OctaveStream;
|
class OctaveStream;
|
||||||
class MapleStream;
|
class MapleStream;
|
||||||
|
class MathematicaStream;
|
||||||
class MathMLStream;
|
class MathMLStream;
|
||||||
class WriteStream;
|
class WriteStream;
|
||||||
class InfoStream;
|
class InfoStream;
|
||||||
@ -251,6 +252,8 @@ public:
|
|||||||
virtual void normalize(NormalStream &) const;
|
virtual void normalize(NormalStream &) const;
|
||||||
/// write content as something readable by Maple
|
/// write content as something readable by Maple
|
||||||
virtual void maplize(MapleStream &) const;
|
virtual void maplize(MapleStream &) const;
|
||||||
|
/// write content as something readable by Mathematica
|
||||||
|
virtual void mathematicize(MathematicaStream &) const;
|
||||||
/// write content as something resembling MathML
|
/// write content as something resembling MathML
|
||||||
virtual void mathmlize(MathMLStream &) const;
|
virtual void mathmlize(MathMLStream &) const;
|
||||||
/// write content as something readable by Octave
|
/// write content as something readable by Octave
|
||||||
|
@ -116,6 +116,48 @@ MapleStream & operator<<(MapleStream & ms, int i)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, MathInset const * p)
|
||||||
|
{
|
||||||
|
if (p)
|
||||||
|
p->mathematicize(ms);
|
||||||
|
else
|
||||||
|
lyxerr << "operator<<(MathematicaStream, NULL) called\n";
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, MathArray const & ar)
|
||||||
|
{
|
||||||
|
mathematicize(ar, ms);
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, char const * s)
|
||||||
|
{
|
||||||
|
ms.os() << s;
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, char c)
|
||||||
|
{
|
||||||
|
ms.os() << c;
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, int i)
|
||||||
|
{
|
||||||
|
ms.os() << i;
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,6 +126,35 @@ MapleStream & operator<<(MapleStream &, char);
|
|||||||
MapleStream & operator<<(MapleStream &, int);
|
MapleStream & operator<<(MapleStream &, int);
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Mathematica
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
class MathematicaStream {
|
||||||
|
public:
|
||||||
|
///
|
||||||
|
explicit MathematicaStream(std::ostream & os) : os_(os) {}
|
||||||
|
///
|
||||||
|
std::ostream & os() { return os_; }
|
||||||
|
private:
|
||||||
|
///
|
||||||
|
std::ostream & os_;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
MathematicaStream & operator<<(MathematicaStream &, MathInset const *);
|
||||||
|
///
|
||||||
|
MathematicaStream & operator<<(MathematicaStream &, MathArray const &);
|
||||||
|
///
|
||||||
|
MathematicaStream & operator<<(MathematicaStream &, char const *);
|
||||||
|
///
|
||||||
|
MathematicaStream & operator<<(MathematicaStream &, char);
|
||||||
|
///
|
||||||
|
MathematicaStream & operator<<(MathematicaStream &, int);
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Octave
|
// Octave
|
||||||
//
|
//
|
||||||
|
@ -409,6 +409,25 @@ void MathScriptInset::maplize2(MathInset const * nuc, MapleStream & os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MathScriptInset::mathematicize2(MathInset const * nuc, MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
bool d = hasDown() && down().data_.size();
|
||||||
|
bool u = hasUp() && up().data_.size();
|
||||||
|
|
||||||
|
if (nuc)
|
||||||
|
if (d) //subscript only if nuc !
|
||||||
|
os << "Subscript[" << nuc;
|
||||||
|
else
|
||||||
|
os << nuc;
|
||||||
|
if (u)
|
||||||
|
os << "^(" << up().data_ << ")";
|
||||||
|
|
||||||
|
if (nuc)
|
||||||
|
if (d)
|
||||||
|
os << "," << down().data_ << "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathScriptInset::mathmlize2(MathInset const * nuc, MathMLStream & os) const
|
void MathScriptInset::mathmlize2(MathInset const * nuc, MathMLStream & os) const
|
||||||
{
|
{
|
||||||
bool d = hasDown() && down().data_.size();
|
bool d = hasDown() && down().data_.size();
|
||||||
|
@ -93,6 +93,7 @@ public:
|
|||||||
virtual void normalize2(MathInset const * nuc, NormalStream & os) const;
|
virtual void normalize2(MathInset const * nuc, NormalStream & os) const;
|
||||||
virtual void octavize2(MathInset const * nuc, OctaveStream & os) const;
|
virtual void octavize2(MathInset const * nuc, OctaveStream & os) const;
|
||||||
virtual void maplize2(MathInset const * nuc, MapleStream & os) const;
|
virtual void maplize2(MathInset const * nuc, MapleStream & os) const;
|
||||||
|
virtual void mathematicize2(MathInset const * nuc, MathematicaStream & os) const;
|
||||||
virtual void mathmlize2(MathInset const * nuc, MathMLStream & os) const;
|
virtual void mathmlize2(MathInset const * nuc, MathMLStream & os) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -87,6 +87,11 @@ void MathSpaceInset::maplize(MapleStream & os) const
|
|||||||
os << ' ';
|
os << ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathSpaceInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << ' ';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathSpaceInset::octavize(OctaveStream & os) const
|
void MathSpaceInset::octavize(OctaveStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -33,6 +33,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
///
|
///
|
||||||
void write(WriteStream & os) const;
|
void write(WriteStream & os) const;
|
||||||
|
@ -73,12 +73,16 @@ void MathSqrtInset::normalize(NormalStream & os) const
|
|||||||
os << "[sqrt " << cell(0) << ']';
|
os << "[sqrt " << cell(0) << ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathSqrtInset::maplize(MapleStream & os) const
|
void MathSqrtInset::maplize(MapleStream & os) const
|
||||||
{
|
{
|
||||||
os << "sqrt(" << cell(0) << ')';
|
os << "sqrt(" << cell(0) << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathSqrtInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << "Sqrt[" << cell(0) << ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathSqrtInset::octavize(OctaveStream & os) const
|
void MathSqrtInset::octavize(OctaveStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -33,6 +33,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
///
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
|
@ -28,6 +28,13 @@ MapleStream & operator<<(MapleStream & ms, string const & s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, string const & s)
|
||||||
|
{
|
||||||
|
ms.os() << s;
|
||||||
|
return ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MathMLStream & operator<<(MathMLStream & ms, string const & s)
|
MathMLStream & operator<<(MathMLStream & ms, string const & s)
|
||||||
{
|
{
|
||||||
ms.os() << s;
|
ms.os() << s;
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
class WriteStream;
|
class WriteStream;
|
||||||
class NormalStream;
|
class NormalStream;
|
||||||
class MapleStream;
|
class MapleStream;
|
||||||
|
class MathematicaStream;
|
||||||
class MathMLStream;
|
class MathMLStream;
|
||||||
class OctaveStream;
|
class OctaveStream;
|
||||||
|
|
||||||
@ -17,6 +18,7 @@ class OctaveStream;
|
|||||||
WriteStream & operator<<(WriteStream & ws, string const & s);
|
WriteStream & operator<<(WriteStream & ws, string const & s);
|
||||||
NormalStream & operator<<(NormalStream & ns, string const & s);
|
NormalStream & operator<<(NormalStream & ns, string const & s);
|
||||||
MapleStream & operator<<(MapleStream & ms, string const & s);
|
MapleStream & operator<<(MapleStream & ms, string const & s);
|
||||||
|
MathematicaStream & operator<<(MathematicaStream & ms, string const & s);
|
||||||
MathMLStream & operator<<(MathMLStream & ms, string const & s);
|
MathMLStream & operator<<(MathMLStream & ms, string const & s);
|
||||||
OctaveStream & operator<<(OctaveStream & os, string const & s);
|
OctaveStream & operator<<(OctaveStream & os, string const & s);
|
||||||
#endif
|
#endif
|
||||||
|
@ -46,7 +46,7 @@ void MathStringInset::normalize(NormalStream & os) const
|
|||||||
|
|
||||||
void MathStringInset::maplize(MapleStream & os) const
|
void MathStringInset::maplize(MapleStream & os) const
|
||||||
{
|
{
|
||||||
if (/*code_ != LM_TC_VAR || */ str_.size() <= 1) {
|
if (/*code_ != LM_TC_VAR ||*/ str_.size() <= 1) {
|
||||||
os << ' ' << str_ << ' ';
|
os << ' ' << str_ << ' ';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -58,6 +58,12 @@ void MathStringInset::maplize(MapleStream & os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MathStringInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << ' ' << str_ << ' ';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathStringInset::octavize(OctaveStream & os) const
|
void MathStringInset::octavize(OctaveStream & os) const
|
||||||
{
|
{
|
||||||
if (/*code_ != LM_TC_VAR ||*/ str_.size() <= 1) {
|
if (/*code_ != LM_TC_VAR ||*/ str_.size() <= 1) {
|
||||||
|
@ -35,6 +35,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void write(WriteStream & os) const;
|
void write(WriteStream & os) const;
|
||||||
|
@ -539,19 +539,20 @@ LyXFont::FONT_SERIES const inh_series = LyXFont::INHERIT_SERIES;
|
|||||||
LyXFont::FONT_SHAPE const inh_shape = LyXFont::INHERIT_SHAPE;
|
LyXFont::FONT_SHAPE const inh_shape = LyXFont::INHERIT_SHAPE;
|
||||||
|
|
||||||
|
|
||||||
|
// mathnormal should be the first, otherwise the fallback fuerther down
|
||||||
|
// does not work
|
||||||
fontinfo fontinfos[] = {
|
fontinfo fontinfos[] = {
|
||||||
|
{"mathnormal", inh_family,inh_series, LyXFont::UP_SHAPE, LColor::math},
|
||||||
|
{"mathbf", inh_family, LyXFont::BOLD_SERIES, inh_shape, LColor::math},
|
||||||
|
{"mathcal",LyXFont::CMSY_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
|
{"mathfrak", LyXFont::EUFRAK_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
|
{"mathrm", LyXFont::ROMAN_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
|
{"mathsf", LyXFont::SANS_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"cmex", LyXFont::CMEX_FAMILY, inh_series, inh_shape, LColor::math},
|
{"cmex", LyXFont::CMEX_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"cmm", LyXFont::CMM_FAMILY, inh_series, inh_shape, LColor::math},
|
{"cmm", LyXFont::CMM_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"cmr", LyXFont::CMR_FAMILY, inh_series, inh_shape, LColor::math},
|
{"cmr", LyXFont::CMR_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"cmsy", LyXFont::CMSY_FAMILY, inh_series, inh_shape, LColor::math},
|
{"cmsy", LyXFont::CMSY_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"eufrak", LyXFont::EUFRAK_FAMILY, inh_series, inh_shape, LColor::math},
|
{"eufrak", LyXFont::EUFRAK_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"mathbf", inh_family, LyXFont::BOLD_SERIES, inh_shape, LColor::math},
|
|
||||||
{"mathcal",LyXFont::CMSY_FAMILY, inh_series, inh_shape, LColor::math},
|
|
||||||
{"mathfrak", LyXFont::EUFRAK_FAMILY, inh_series, inh_shape, LColor::math},
|
|
||||||
{"mathnormal", inh_family,inh_series, LyXFont::UP_SHAPE, LColor::math},
|
|
||||||
{"mathrm", LyXFont::ROMAN_FAMILY, inh_series, inh_shape, LColor::math},
|
|
||||||
{"mathsf", LyXFont::SANS_FAMILY, inh_series, inh_shape, LColor::math},
|
|
||||||
{"msa", LyXFont::MSA_FAMILY, inh_series, inh_shape, LColor::math},
|
{"msa", LyXFont::MSA_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"msb", LyXFont::MSB_FAMILY, inh_series, inh_shape, LColor::math},
|
{"msb", LyXFont::MSB_FAMILY, inh_series, inh_shape, LColor::math},
|
||||||
{"textbf", inh_family, LyXFont::BOLD_SERIES, inh_shape, LColor::black},
|
{"textbf", inh_family, LyXFont::BOLD_SERIES, inh_shape, LColor::black},
|
||||||
@ -593,7 +594,9 @@ fontinfo * searchFont(string const & name)
|
|||||||
//lyxerr << "found '" << i << "'\n";
|
//lyxerr << "found '" << i << "'\n";
|
||||||
return fontinfos + i;
|
return fontinfos + i;
|
||||||
}
|
}
|
||||||
return searchFont("mathnormal");
|
// this should be mathnormal
|
||||||
|
return fontinfos;
|
||||||
|
//return searchFont("mathnormal");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -619,6 +622,7 @@ void fakeFont(string const & orig, string const & fake)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void augmentFont(LyXFont & font, string const & name)
|
void augmentFont(LyXFont & font, string const & name)
|
||||||
{
|
{
|
||||||
static bool initialized = false;
|
static bool initialized = false;
|
||||||
|
@ -121,6 +121,13 @@ void MathSymbolInset::maplize(MapleStream & os) const
|
|||||||
os << name();
|
os << name();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathSymbolInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
if ( name() == "pi") { os << "Pi"; return;}
|
||||||
|
if ( name() == "infty") { os << "Infinity"; return;}
|
||||||
|
os << name();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
char const * MathMLtype(string const & s)
|
char const * MathMLtype(string const & s)
|
||||||
{
|
{
|
||||||
|
@ -43,6 +43,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
|
@ -84,6 +84,11 @@ void MathUnknownInset::maplize(MapleStream & os) const
|
|||||||
os << name_;
|
os << name_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MathUnknownInset::mathematicize(MathematicaStream & os) const
|
||||||
|
{
|
||||||
|
os << name_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MathUnknownInset::mathmlize(MathMLStream & os) const
|
void MathUnknownInset::mathmlize(MathMLStream & os) const
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,8 @@ public:
|
|||||||
///
|
///
|
||||||
void maplize(MapleStream &) const;
|
void maplize(MapleStream &) const;
|
||||||
///
|
///
|
||||||
|
void mathematicize(MathematicaStream &) const;
|
||||||
|
///
|
||||||
void mathmlize(MathMLStream &) const;
|
void mathmlize(MathMLStream &) const;
|
||||||
///
|
///
|
||||||
void octavize(OctaveStream &) const;
|
void octavize(OctaveStream &) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user