commit 8f897682112026cf0f86cfcf5c24f5052111e02d
Author: Thibaut Cuvelier <[email protected]>
Date: Fri Jun 19 02:27:31 2020 +0200
Fix in symbols handling: parse the XML entity with \def.
---
lib/symbols | 20 ++++++++++----------
src/mathed/MathFactory.cpp | 11 +++++++----
2 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/lib/symbols b/lib/symbols
index d069141..277dd80 100644
--- a/lib/symbols
+++ b/lib/symbols
@@ -16,9 +16,9 @@
# or
# \def\macroname{definition} requires
# or
-# \def\macroname{definition} extra xmlname
+# \def\macroname{definition} extra htmlname xmlname
# or
-# \def\macroname{definition} extra xmlname requires
+# \def\macroname{definition} extra htmlname xmlname requires
#
# ("" for empty strings is not supported. One would have to use x for fields
# that are not set.)
@@ -999,12 +999,12 @@ bignplus stmry 112 0 mathop x x
stmaryrd # caution: named huge
\def\Arrownot{\lyxArrownot\mathrel{\kern0.5mu}} stmaryrd
\def\longarrownot{\mathrel{\kern5.5mu}\arrownot\mathrel{\kern-5.5mu}} stmaryrd
\def\Longarrownot{\mathrel{\kern5.5mu}\Arrownot\mathrel{\kern-5.5mu}} stmaryrd
-\def\Mapsto{\Mapstochar\mathrel\Rightarrow} mathrel ⤇
stmaryrd
-\def\mapsfrom{\leftarrow\kern-9mu\mapsfromchar} mathrel ↤
stmaryrd
-\def\Mapsfrom{\Leftarrow\kern-9mu\Mapsfromchar} mathrel ⤆
stmaryrd
-\def\Longmapsto{\Mapstochar\Longrightarrow} mathrel ⟾
stmaryrd
-\def\longmapsfrom{\longleftarrow\mapsfromchar} mathrel ⟻
stmaryrd
-\def\Longmapsfrom{\Longleftarrow\mathrel{\kern1mu}\Mapsfromchar} mathrel
⟽ stmaryrd
+\def\Mapsto{\Mapstochar\mathrel\Rightarrow} mathrel ⤇
⤇ stmaryrd
+\def\mapsfrom{\leftarrow\kern-9mu\mapsfromchar} mathrel ↤
↤ stmaryrd
+\def\Mapsfrom{\Leftarrow\kern-9mu\Mapsfromchar} mathrel ⤆
⤆ stmaryrd
+\def\Longmapsto{\Mapstochar\Longrightarrow} mathrel ⟾
⟾ stmaryrd
+\def\longmapsfrom{\longleftarrow\mapsfromchar} mathrel ⟻
⟻ stmaryrd
+\def\Longmapsfrom{\Longleftarrow\mathrel{\kern1mu}\Mapsfromchar} mathrel
⟽ ⟽ stmaryrd
# symbols from the mhchem package, all of them are equivalent to a math symbol
# mhchem is not loaded because these commands can only be used inside
@@ -1159,8 +1159,8 @@ ordinarycolon cmr 58 58 mathrel : :
mathtools
\def\lnot{\neg} mathord ¬
¬
\def\notin{\not\in} mathrel
∉ ∉
-\def\ddag{\ddagger} mathbin
‡
-\def\dag{\dagger} mathbin
†
+\def\ddag{\ddagger} mathbin
‡ ‡
+\def\dag{\dagger} mathbin
† †
\def\joinrel{\mathrel{\kern-3mu}}
\def\relbar{\lyxbar}
diff --git a/src/mathed/MathFactory.cpp b/src/mathed/MathFactory.cpp
index f50f7ef..33b674b 100644
--- a/src/mathed/MathFactory.cpp
+++ b/src/mathed/MathFactory.cpp
@@ -186,23 +186,24 @@ void initSymbols()
// or
// \def\macroname{definition} requires
// or
- // \def\macroname{definition} extra htmlname requires
+ // \def\macroname{definition} extra htmlname xmlname
requires
istringstream is(line);
string macro;
string required;
string extra;
string htmlname;
+ string xmlname;
bool hidden = false;
is >> setw(65536) >> macro >> required;
- if ((is >> htmlname)) {
+ if ((is >> htmlname >> xmlname)) {
extra = required;
if (!(is >> required))
required = "";
} else
- htmlname = "";
+ htmlname = xmlname = "";
MacroTable::iterator it =
MacroTable::globalMacros().insert(
0, from_utf8(macro));
- if (!extra.empty() || !htmlname.empty() ||
!required.empty()) {
+ if (!extra.empty() || !htmlname.empty() ||
!xmlname.empty() || !required.empty()) {
MathWordList::iterator wit =
theMathWordList.find(it->first);
if (wit != theMathWordList.end())
LYXERR(Debug::MATHED, "readSymbols:
inset "
@@ -213,6 +214,7 @@ void initSymbols()
tmp.name = it->first;
tmp.extra = from_utf8(extra);
tmp.htmlname = from_utf8(htmlname);
+ tmp.xmlname = from_utf8(xmlname);
if (required == "hiddensymbol") {
required = "";
tmp.hidden = hidden = true;
@@ -230,6 +232,7 @@ void initSymbols()
<< " draw: 0"
<< " extra: " << extra
<< " html: " << htmlname
+ << " xml: " << xmlname
<< " requires: " << required
<< " hidden: " << hidden << '\'');
continue;
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs