[LyX/master] Fix in symbols handling: parse the XML entity with \def.
Pavel Sanda
sanda at lyx.org
Fri Jun 19 06:01:31 UTC 2020
commit 8f897682112026cf0f86cfcf5c24f5052111e02d
Author: Thibaut Cuvelier <cuvelier.thibaut at gmail.com>
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;
More information about the lyx-cvs
mailing list