mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
HTML for scripts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33944 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
f60dad8aaf
commit
f5bcb24da2
@ -17,6 +17,7 @@
|
||||
#include "InsetMathFont.h"
|
||||
#include "InsetMathScript.h"
|
||||
#include "InsetMathSymbol.h"
|
||||
#include "LaTeXFeatures.h"
|
||||
#include "MathData.h"
|
||||
#include "MathStream.h"
|
||||
#include "MathSupport.h"
|
||||
@ -644,6 +645,26 @@ void InsetMathScript::mathmlize(MathStream & os) const
|
||||
}
|
||||
|
||||
|
||||
void InsetMathScript::htmlize(HtmlStream & os) const
|
||||
{
|
||||
bool d = hasDown() && down().size();
|
||||
bool u = hasUp() && up().size();
|
||||
|
||||
if (nuc().size())
|
||||
os << nuc();
|
||||
|
||||
if (u && d)
|
||||
os << MTag("span", "class='scripts'")
|
||||
<< MTag("span", "class='sup'") << up() << ETag("span")
|
||||
<< MTag("span", "class='sub'") << down() << ETag("span")
|
||||
<< ETag("span");
|
||||
else if (u)
|
||||
os << MTag("sup", "class='math'") << up() << ETag("sup");
|
||||
else if (d)
|
||||
os << MTag("sub", "class='math'") << down() << ETag("sub");
|
||||
}
|
||||
|
||||
|
||||
void InsetMathScript::octave(OctaveStream & os) const
|
||||
{
|
||||
if (nuc().size())
|
||||
@ -751,4 +772,17 @@ void InsetMathScript::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||
}
|
||||
|
||||
|
||||
// the idea for dual scripts came from the eLyXer code
|
||||
void InsetMathScript::validate(LaTeXFeatures & features) const
|
||||
{
|
||||
if (features.runparams().flavor == OutputParams::HTML)
|
||||
features.addPreambleSnippet("<style type=\"text/css\">\n"
|
||||
"span.scripts{display: inline-block; vertical-align: middle; text-align:center; font-size: 75%;}\n"
|
||||
"span.sup{display: block;}\n"
|
||||
"span.sub{display: block;}\n"
|
||||
"sub.math{font-size: 75%;}\n"
|
||||
"sup.math{font-size: 75%;}\n"
|
||||
"</style>");
|
||||
}
|
||||
|
||||
} // namespace lyx
|
||||
|
@ -60,8 +60,10 @@ public:
|
||||
void maple(MapleStream &) const;
|
||||
/// write content as something readable by Mathematica
|
||||
void mathematica(MathematicaStream &) const;
|
||||
/// write content as something resembling MathML
|
||||
/// write content as MathML
|
||||
void mathmlize(MathStream &) const;
|
||||
/// write content as HTML
|
||||
void htmlize(HtmlStream &) const;
|
||||
/// write content as something readable by Octave
|
||||
void octave(OctaveStream &) const;
|
||||
|
||||
@ -104,7 +106,8 @@ public:
|
||||
void infoize2(odocstream & os) const;
|
||||
///
|
||||
InsetCode lyxCode() const { return MATH_SCRIPT_CODE; }
|
||||
|
||||
///
|
||||
void validate(LaTeXFeatures &features) const;
|
||||
protected:
|
||||
virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user