]> git.lyx.org Git - lyx.git/blobdiff - lib/symbols
ANNOUNCE updates.
[lyx.git] / lib / symbols
index d4a9f655420d2fb9d6b5a71af69902a89a1cc93f..31ba7f0eb18dbcca076be334a35d6f5264e7ec60 100644 (file)
 # Note that the first argument of \def must not uses braces, and the second
 # must use braces.
 #
+# syntax: Either
+# \def\macroname{definition}
+# or
+# \def\macroname{definition} requires
+# or
+# \def\macroname{definition} extra xmlname
+# or
+# \def\macroname{definition} extra xmlname requires
+#
+# ("" for empty strings is not supported. One would have to use x for fields
+# that are not set.)
+#
 # If you put any symbol with a requirement inside an iffont clause, you
 # must put an alternative definition with the same requirement in the
 # corresponding else clause. Otherwise the LaTeX output would depend on the
@@ -49,7 +61,7 @@ underrightarrow     decoration none       amsmath
 #Do not load automatically, it redefines some other symbols, and we don't
 #have a possibility to turn automatic loading off like for ams
 #undertilde          decoration none       accents
-undertilde          decoration none
+undertilde          decoration none       hiddensymbol
 utilde              decoration none       undertilde
 vec                 decoration none
 widehat             decoration none
@@ -60,7 +72,7 @@ dots              dots        none
 #Do not load automatically, it redefines some other symbols, and we don't
 #have a possibility to turn automatic loading off like for ams
 #adots             dots        none        yhmath
-adots             dots        none
+adots             dots        none        hiddensymbol
 cdots             dots        none
 ddots             dots        none
 dotsb             dots        none        amsmath
@@ -93,12 +105,12 @@ Biggr             big         none
 # packages. No 'm' versions!
 # See lucidabr.dtx for a possible implementation if you want to use these
 # with other fonts.
-biggg             big         none
-bigggl            big         none
-bigggr            big         none
-Biggg             big         none
-Bigggl            big         none
-Bigggr            big         none
+biggg             big         none        hiddensymbol
+bigggl            big         none        hiddensymbol
+bigggr            big         none        hiddensymbol
+Biggg             big         none        hiddensymbol
+Bigggl            big         none        hiddensymbol
+Bigggr            big         none        hiddensymbol
 
 # font changes
 # name           "font"       math/text family  series  shape  color
@@ -133,11 +145,11 @@ ce                font        forcetext
 cf                font        forcetext
 
 # old-style font commands
-bf                oldfont     none
-cal               oldfont     none
-it                oldfont     none
-rm                oldfont     none
-tt                oldfont     none
+bf                oldfont     none    hiddensymbol
+cal               oldfont     none    hiddensymbol
+it                oldfont     none    hiddensymbol
+rm                oldfont     none    hiddensymbol
+tt                oldfont     none    hiddensymbol
 
 # matrix environments
 Bmatrix           matrix      none
@@ -188,10 +200,20 @@ hspace*           space       none
 hspace            space       none
 
 # styles
-displaystyle      style       0
-textstyle         style       1
-scriptstyle       style       2
-scriptscriptstyle style       3
+displaystyle      style       3
+textstyle         style       2
+scriptstyle       style       1
+scriptscriptstyle style       0
+
+# math classes
+mathord           class    none
+mathop            class    none
+mathbin           class    none
+mathrel           class    none
+mathopen          class    none
+mathclose         class    none
+mathpunct         class    none
+mathinner         class    none
 
 # misc
 # The commented lines in this block get misparsed as MathSymbolInset because
@@ -251,6 +273,7 @@ varpi              cmm          36 118 mathord  ϖ
 varrho             cmm          37   0 mathord  ϱ
 varsigma           cmm          38  86 mathord  ς
 varphi             cmm          39 106 mathord  ϕ
+slash              cmr          47  47 mathord  /
 Gamma              cmr         161  71 mathalpha  Γ
 Delta              cmr         162  68 mathalpha  Δ
 Theta              cmr         163  81 mathalpha  Θ
@@ -268,7 +291,7 @@ jmath              cmm         124   0 mathord  ȷ
 ell                cmm          96   0 mathord  ℓ
 wp                 cmm         125 195 mathord  ℘
 Re                 cmsy         60 194 mathord  ℜ
-Im                 cmsy         61 193 mathord  ℑ
+Im                 cmsy         61 193 mathord  &imaginary;
 partial            cmm          64 182 mathord  ∂
 infty              cmsy         49 165 mathord  ∞
 prime              cmsy         48 162 mathord  ′
@@ -280,7 +303,6 @@ triangle           cmsy         52   0 mathord  ▵
 forall             cmsy         56  34 mathord  ∀
 exists             cmsy         57  36 mathord  ∃
 neg                cmsy         58 216 mathord  ¬
-lnot               cmsy         58 216 mathord  ¬
 flat               cmm          91   0 mathord  ♭
 natural            cmm          92   0 mathord  ♮
 sharp              cmm          93  35 mathord  ♯
@@ -289,10 +311,10 @@ diamondsuit        cmsy        125 168 mathord  ♢
 heartsuit          cmsy        126 169 mathord  ♡
 spadesuit          cmsy        127 170 mathord  ♠
 # We define lyxnot as mathrel in order to have proper alignment
-lyxnot             cmsy         54  47 mathrel  /
+lyxnot             cmsy         54  47 mathrel  /           hiddensymbol
 iffont cmsy
-# 9mu = 0.5em which is the extra space added to relation operators
-\def\not{\lyxnot\kern-9mu}
+# kerning is slightly imperfect so that one can see when \not is selected
+\def\not{\lyxnot}
 else
 \def\not{\kern4mu\lyxnot\kern-19mu}
 endif
@@ -359,9 +381,7 @@ swarrow            cmsy         46   0 mathrel  ↙
 Leftrightarrow     cmsy         44 219 mathrel  ↔
 Leftarrow          cmsy         40 220 mathrel  ⇐
 Rightarrow         cmsy         41 222 mathrel  ⇒
-leq                cmsy        183 163 mathrel  ≤
 le                 cmsy        183 163 mathrel  ≤
-geq                cmsy        184 179 mathrel  ≥
 ge                 cmsy        184 179 mathrel  ≥
 succ               cmsy        194   0 mathrel  ≻
 prec               cmsy        193   0 mathrel  ≺
@@ -662,30 +682,35 @@ hslash             msb         125   0 mathord  ℏ
 hbar               msb         126   0 mathord  ℏ
 backepsilon        msb         127   0 mathrel  ϶
 
-lyxbar             cmsy        161   0 mathord  —
-lyxeq              cmr          61   0 mathord  =
-lyxdabar           msa          57   0 mathord  –
-lyxright           msa          75   0 mathord  →
-lyxleft            msa          76   0 mathord  ←
+lyxbar             cmsy        161   0 mathrel   —  hiddensymbol
+lyxminus           cmsy        161   0 mathbin   —  hiddensymbol
+lyxplus            cmr          43  43 mathbin   +        hiddensymbol
+lyxeq              cmr          61  61 mathord   =        hiddensymbol
+lyxeqrel           cmr          61  61 mathrel   =        hiddensymbol
+lyxlt              cmm          60  60 mathrel   <     hiddensymbol
+lyxgt              cmm          62  62 mathrel   >     hiddensymbol
+lyxdabar           msa          57   0 mathord   –  hiddensymbol
+lyxright           msa          75   0 mathord   →   hiddensymbol
+lyxleft            msa          76   0 mathord   ←   hiddensymbol
 
 male               wasy          26  0 x        ♂
 female             wasy          25  0 x        ♀
-currency           wasy          27  0 textmode ¤ wasysym # works in text mode only (produces \oe in math mode)
-phone              wasy          7   0 textmode ☎  wasysym # works in text mode only (produces \Upsilon in math mode)
-recorder           wasy          6   0 textmode ⌕ wasysym # works in text mode only (produces \Sigma in math mode)
-clock              wasy          28  0 textmode &clock;  wasysym # works in text mode only (produces \o in math mode)
-lightning          wasy          18  0 x        ☇
+currency           wasy          27  0 textmode ¤ wasysym,amstext,lyxmathsym # works in text mode only (produces \oe in math mode)
+phone              wasy          7   0 textmode ☎  wasysym,amstext,lyxmathsym # works in text mode only (produces \Upsilon in math mode)
+recorder           wasy          6   0 textmode ⌕ wasysym,amstext,lyxmathsym # works in text mode only (produces \Sigma in math mode)
+clock              wasy          28  0 textmode &clock;  wasysym,amstext,lyxmathsym # works in text mode only (produces \o in math mode)
+lightning          wasy          18  0 textmode ☇ wasysym,amstext,lyxmathsym # works in text mode only (produces ` in math mode)
 # FIXME Display is wrong (bug 8493): qt does not display characters at the \t position (0x09)
-pointer            wasy          9   0 textmode x        wasysym # works in text mode only (produces \Psi in math mode)
-RIGHTarrow         wasy          17  0 textmode ▶ wasysym # works in text mode only (produces \jmath in math mode)
-LEFTarrow          wasy          16  0 textmode ◀ wasysym # works in text mode only (produces \imath in math mode)
-UParrow            wasy          75  0 textmode ▲ wasysym # works in text mode only (produces K in math mode)
-DOWNarrow          wasy          76  0 textmode ▼ wasysym # works in text mode only (produces L in math mode)
-AC                 wasy          58  0 textmode x        wasysym # works in text mode only
+pointer            wasy          9   0 textmode x        wasysym,amstext,lyxmathsym # works in text mode only (produces \Psi in math mode)
+RIGHTarrow         wasy          17  0 textmode ▶ wasysym,amstext,lyxmathsym # works in text mode only (produces \jmath in math mode)
+LEFTarrow          wasy          16  0 textmode ◀ wasysym,amstext,lyxmathsym # works in text mode only (produces \imath in math mode)
+UParrow            wasy          75  0 textmode ▲ wasysym,amstext,lyxmathsym # works in text mode only (produces K in math mode)
+DOWNarrow          wasy          76  0 textmode ▼ wasysym,amstext,lyxmathsym # works in text mode only (produces L in math mode)
+AC                 wasy          58  0 textmode ∿ wasysym,amstext,lyxmathsym # works in text mode only
 \def\HF{\approx}                                         wasysym
-VHF                wasy          64  0 x        x
+VHF                wasy          64  0 x        ≋ # triple tilde
 Square             wasy          50  0 x        □
-\def\CheckedBox{\Square\kern-0.8em\checked}              wasysym
+\def\CheckedBox{\Square\kern-13.4mu\checked}              wasysym
 XBox               wasy          52  0 x        ⊠
 hexagon            wasy          55  0 x        ⬡
 pentagon           wasy          68  0 x        ⬠
@@ -695,8 +720,7 @@ hexstar            wasy          65  0 x        ✶
 varhexstar         wasy          66  0 x        ✶
 davidsstar         wasy          67  0 x        ✡
 diameter           wasy          31  0 x        ⌀
-# Unicode is wrong, but a true alternate doesn't seem available.
-invdiameter        wasy          21  0 x        ⌀
+invdiameter        wasy          21  0 x        x       # 2205 EMPTY SET and 2300 DIAMETER SIGN are similar but not quite right
 varangle           wasy          30  0 x        ∢
 wasylozenge        wasy          53  0 x        ⌑
 kreuz              wasy          54  0 x        ✠
@@ -720,8 +744,8 @@ Leftcircle         wasy          73  0 x        x
 LEFTCIRCLE         wasy          71  0 x        ◖
 Rightcircle        wasy          74  0 x        x
 RIGHTCIRCLE        wasy          72  0 x        ◗
-\def\LEFTcircle{\LEFTCIRCLE\kern-1em\Circle}             wasysym
-\def\RIGHTcircle{\RIGHTCIRCLE\kern-1em\Circle}           wasysym
+\def\LEFTcircle{\LEFTCIRCLE\kern-13.4mu\Circle}             wasysym
+\def\RIGHTcircle{\RIGHTCIRCLE\kern-13.4mu\Circle}           wasysym
 
 # Defined by amsmath.sty
 
@@ -774,8 +798,8 @@ sagittarius        wasy          99  0 x        ♐
 capricornus        wasy          100 0 x        ♑
 aquarius           wasy          101 0 x        ♒
 pisces             wasy          102 0 x        ♓
-conjunction        wasy          86  0 textmode ☌ wasysym # works in text mode only (produces V in math mode)
-opposition         wasy          87  0 textmode ☍ wasysym # works in text mode only (produces W in math mode)
+conjunction        wasy          86  0 textmode ☌ wasysym,amstext,lyxmathsym # works in text mode only (produces V in math mode)
+opposition         wasy          87  0 textmode ☍ wasysym,amstext,lyxmathsym # works in text mode only (produces W in math mode)
 # APL characters
 APLstar            wasy          69  0 x        ⍟
 APLlog             wasy          22  0 x        x
@@ -784,7 +808,7 @@ APLup              wasy          0   0 x        x
 APLdown            wasy          70  0 x        x
 APLinput           wasy          125 0 x        x
 APLcomment         wasy          127 0 x        x
-\def\APLinv{\div\kern-17mu\APLbox}                       wasysym
+\def\APLinv{\mathord{\div\kern-13.9mu\APLbox}}  wasysym
 APLuparrowbox      wasy         110  0 x        ⍐
 APLdownarrowbox    wasy         111  0 x        ⍗
 APLleftarrowbox    wasy         112  0 x        ⍇
@@ -795,19 +819,19 @@ Bowtie             wasy          49  0 x        ⋈
 leftturn           wasy          34  0 x        ⟲
 rightturn          wasy          33  0 x        ⟳
 # diagrams
-\def\photon{\AC\kern-3mu\AC\kern-3mu\AC\kern-3mu\AC}     wasysym
-lyxgluonelement    wasy          80  0 x        x        notexisting
-lyxgluonbelement   wasy          81  0 x        x        notexisting
-lyxgluoneelement   wasy          82  0 x        x        notexisting
-\def\gluon{\lyxgluonbelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluonelement\kern-3mu\lyxgluoneelement} wasysym
+\def\photon{\AC\AC\AC\AC}     wasysym
+lyxgluonelement    wasy          80  0 x        x        hiddensymbol
+lyxgluonbelement   wasy          81  0 x        x        hiddensymbol
+lyxgluoneelement   wasy          82  0 x        x        hiddensymbol
+\def\gluon{\lyxgluonbelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluoneelement} wasysym
 # special characters
 cent               wasy         103   0 x        &#00A2;
 permil             wasy         104   0 x        ‰
-agemO              wasy          48   0 textmode ℧    wasysym # works in text mode only (produces 0 in math mode)
-thorn              wasy         105   0 textmode þ wasysym # works in text mode only (produces i in math mode)
-Thorn              wasy         106   0 textmode Þ wasysym # works in text mode only (produces j in math mode)
-openo              wasy         108   0 textmode ɔ wasysym # works in text mode only (produces l in math mode)
-inve               wasy          85   0 textmode ə wasysym # works in text mode only (produces U in math mode)
+agemO              wasy          48   0 textmode ℧    wasysym,amstext,lyxmathsym # works in text mode only (produces 0 in math mode)
+thorn              wasy         105   0 textmode þ wasysym,amstext,lyxmathsym # works in text mode only (produces i in math mode)
+Thorn              wasy         106   0 textmode Þ wasysym,amstext,lyxmathsym # works in text mode only (produces j in math mode)
+openo              wasy         108   0 textmode ɔ wasysym,amstext,lyxmathsym # works in text mode only (produces l in math mode)
+inve               wasy          85   0 textmode ə wasysym,amstext,lyxmathsym # works in text mode only (produces U in math mode)
 
 #mho               wasy          48    0  mathord ℧    wasysym # already in amsfonts
 #Join              wasy          49    0  mathrel x        wasysym # already in amsfonts
@@ -924,8 +948,8 @@ llfloor            stmry  84   0 mathopen   x  stmaryrd
 rrfloor            stmry  85   0 mathclose  x  stmaryrd
 llceil             stmry  86   0 mathopen   x  stmaryrd
 rrceil             stmry  87   0 mathclose  x  stmaryrd
-arrownot           stmry  88   0 mathrel    x  stmaryrd
-Arrownot           stmry  89   0 mathrel    x  stmaryrd
+lyxarrownot        stmry  88   0 mathrel    x  hiddensymbol #see arrownot defined below
+lyxArrownot        stmry  89   0 mathrel    x  hiddensymbol #see Arrownot defined below
 Mapstochar         stmry  90   0 mathrel    x  stmaryrd
 mapsfromchar       stmry  91   0 mathrel    x  stmaryrd
 Mapsfromchar       stmry  92   0 mathrel    x  stmaryrd
@@ -965,15 +989,18 @@ bignplus           stmry 112   0 mathop     x  stmaryrd # caution: named hugenpl
 #Largerrbracketbot  stmry 126   0 mathclose  x  stmaryrd # only in the font, not the .sty caution: named Hugerrbracketbot in the font
 #rrbracketex        stmry 127   0 mathclose  x  stmaryrd # only in the font, not the .sty caution: named Hugerrbracketex in the font
 
-\def\varcopyright{c\kern-14mu\varbigcirc}                   stmaryrd
-\def\longarrownot{\kern5.5mu\arrownot\kern-5.5mu}           stmaryrd
-\def\Longarrownot{\kern5.5mu\Arrownot\kern-5.5mu}           stmaryrd
-\def\Mapsto{\Mapstochar\kern-9mu\Rightarrow}                stmaryrd
-\def\mapsfrom{\leftarrow\kern-9mu\mapsfromchar}             stmaryrd
-\def\Mapsfrom{\Leftarrow\kern-9mu\Mapsfromchar}             stmaryrd
-\def\Longmapsto{\Mapstochar\kern-7mu\Longrightarrow}        stmaryrd
-\def\longmapsfrom{\longleftarrow\kern-7mu\mapsfromchar}     stmaryrd
-\def\Longmapsfrom{\Longleftarrow\kern-7mu\Mapsfromchar}     stmaryrd
+\def\varcopyright{\mathord{c\kern-11mu\varbigcirc}}         stmaryrd
+# kerning is slightly imperfect so that one sees when \[Aa]rrownot is selected
+\def\arrownot{\lyxarrownot}                                 stmaryrd
+\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
 
 # 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
@@ -995,7 +1022,7 @@ tbond              cmsy        180 186 mathord  x
 # If the wasysym integrals are really wanted then one has to load the package
 # manually and disable automatic loading of amsmath and esint.
 iffont esint
-int                esint        001    0  mathop  ∫         esint
+int                esint        001    0  mathop  ∫         esint|amsmath
 intop              esint        001    0  mathop  ∫         esint
 iint               esint        003    0  mathop  ∬         esint|amsmath
 iintop             esint        003    0  mathop  ∬         esint
@@ -1021,7 +1048,7 @@ ointctrclockwiseop esint        023    0  mathop  ∳    esint
 ointclockwise      esint        025    0  mathop  ∲    esint
 ointclockwiseop    esint        025    0  mathop  ∲    esint
 else
-int                cmex          82  242  mathop  ∫         esint
+int                cmex          82  242  mathop  ∫         esint|amsmath
 intop              cmex          82  242  mathop  ∫         esint
 iint               wasy         115    0  mathop  ∬         esint|amsmath
 iintop             wasy         115    0  mathop  &Int          esint
@@ -1104,84 +1131,89 @@ pod                lyxblacktext  0   0 func     x     amsmath
 
 
 # mathtools.sty
-\def\vcentcolon{\kern4mu:\kern3mu}             mathtools
-\def\dblcolon{\vcentcolon\kern-8mu\vcentcolon} mathtools
-\def\coloneqq{\vcentcolon\kern-7mu=}           mathtools
-\def\Coloneqq{\dblcolon\kern-7mu=}             mathtools
-\def\coloneq{\vcentcolon\kern-7mu-}            mathtools
-\def\Coloneq{\dblcolon\kern-7mu-}              mathtools
-\def\eqqcolon{=\kern-8mu\vcentcolon}           mathtools
-\def\Eqqcolon{=\kern-8mu\dblcolon}             mathtools
-\def\eqcolon{-\kern-8mu\vcentcolon}            mathtools
-\def\Eqcolon{-\kern-8mu\dblcolon}              mathtools
-\def\colonapprox{\vcentcolon\kern-7mu\approx}  mathtools
-\def\Colonapprox{\dblcolon\kern-7mu\approx}    mathtools
-\def\colonsim{\vcentcolon\kern-7mu\sim}        mathtools
-\def\Colonsim{\dblcolon\kern-7mu\sim}          mathtools
+vcentcolon         cmr          58  58    mathrel :             mathtools
+ordinarycolon      cmr          58  58    mathrel :             mathtools
+\def\dblcolon{\vcentcolon\mathrel{\kern-0.9mu}\vcentcolon}      mathrel ::       mathtools
+\def\coloneqq{\vcentcolon\mathrel{\kern-1.2mu}=}                mathrel ≔ mathtools
+\def\Coloneqq{\dblcolon\mathrel{\kern-1.2mu}=}                  mathrel ::=      mathtools
+\def\coloneq{\vcentcolon\mathrel{\kern-1.2mu}\mathrel{-}}       mathrel :-       mathtools
+\def\Coloneq{\dblcolon\mathrel{\kern-1.2mu}\mathrel{-}}         mathrel ::-      mathtools
+\def\eqqcolon{=\mathrel{\kern-1.2mu}\vcentcolon}                mathrel ≕ mathtools
+\def\Eqqcolon{=\mathrel{\kern-1.2mu}\dblcolon}                  mathrel =::      mathtools
+\def\eqcolon{\mathrel{-}\mathrel{\kern-1.2mu}\vcentcolon}                 mathrel -:       mathtools
+\def\Eqcolon{\mathrel{-}\mathrel{\kern-1.2mu}\dblcolon}                   mathrel -::      mathtools
+\def\colonapprox{\vcentcolon\mathrel{\kern-1.2mu}\approx}       mathrel :≈    mathtools
+\def\Colonapprox{\dblcolon\mathrel{\kern-1.2mu}\approx}         mathrel ::≈   mathtools
+\def\colonsim{\vcentcolon\mathrel{\kern-1.2mu}\sim}             mathrel :∼   mathtools
+\def\Colonsim{\dblcolon\mathrel{\kern-1.2mu}\sim}               mathrel ::∼  mathtools
 
 
 #
 # pre-defined macros
 #
 
+\def\leq{\le}                                                   mathrel ≤
+\def\geq{\ge}                                                   mathrel ≥
 \def\neq{\not=}                                                 mathrel ≠
 \def\ne{\not=}                                                  mathrel ≠
-\def\notin{\not\in}
-\def\slash{/}
+\def\lnot{\neg}                                                 mathord ¬
+\def\notin{\not\in}                                             mathrel ∉
 
-\def\longleftrightarrow{\leftarrow\kern-12.5mu\rightarrow}
-\def\Longleftrightarrow{\Leftarrow\kern-12.5mu\Rightarrow}
-\def\iff{\Leftarrow\kern-12.5mu\Rightarrow}
-\def\doteq{\stackrel{\cdot}{=}}
+\def\joinrel{\mathrel{\kern-3mu}}
+\def\relbar{\lyxbar}
+\def\Relbar{\mathrel{=}}
+\def\longleftrightarrow{\leftarrow\joinrel\rightarrow}          mathrel ⟷
+\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow}          mathrel ⟺
+\def\iff{\Leftarrow\joinrel\Rightarrow}                         mathrel ⟺
+\def\doteq{\stackrel{\cdot}{=}}                                 mathrel ≐
 
 iffont cmsy
-\def\longrightarrow{\lyxbar\kern-11mu\rightarrow}
-\def\longleftarrow{\leftarrow\kern-11mu\lyxbar}
-\def\Longrightarrow{\lyxeq\kern-9.5mu\Rightarrow}
-\def\Longleftarrow{\Leftarrow\kern-9.5mu\lyxeq}
-\def\implies{\Longrightarrow}                                   amsmath
-\def\impliedby{\Longleftarrow}                                  amsmath
-\def\mapsto{\mapstochar\kern-9mu\rightarrow}
-\def\longmapsto{\mapstochar\kern-6mu\lyxbar\kern-11mu\rightarrow}
-\def\models{\vert\kern-7mu\lyxeq}
+\def\longrightarrow{\relbar\joinrel\rightarrow}                 mathrel ⟶
+\def\longleftarrow{\leftarrow\joinrel\relbar}                   mathrel ⟵
+\def\Longrightarrow{\Relbar\joinrel\Rightarrow}                 mathrel ⟹
+\def\Longleftarrow{\Leftarrow\joinrel\Relbar}                   mathrel ⟸
+\def\implies{\Longrightarrow}                                   mathrel ⟹ amsmath
+\def\impliedby{\Longleftarrow}                                  mathrel ⟸ amsmath
+\def\mapsto{\mapstochar\rightarrow}                             mathrel ↤
+\def\longmapsto{\mapstochar\joinrel\relbar\joinrel\rightarrow}  mathrel ⟻
+\def\models{\mathrel{\vert}\joinrel\Relbar}                     mathrel ⊨
 else
-\def\implies{=>}                                                amsmath
-\def\impliedby{<=}                                              amsmath
+\def\implies{=>}                                                mathrel &#x27F9; amsmath
+\def\impliedby{<=}                                              mathrel &#x27F8; amsmath
 endif
 iffont cmm
-\def\hookrightarrow{\lhook\kern-12mu\rightarrow}
-\def\hookleftarrow{\leftarrow\kern-12mu\rhook}
-\def\bowtie{\triangleright\kern-6mu\triangleleft}
+\def\hookrightarrow{\lhook\joinrel\rightarrow}                  mathrel &#x21AA;
+\def\hookleftarrow{\leftarrow\joinrel\rhook}                    mathrel &#x21A9;
+\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} mathrel &#x22C8;
 endif
 iffont msa
-\def\dashrightarrow{\lyxdabar\lyxdabar\lyxright}                amssymb
-\def\dashleftarrow{\lyxleft\lyxdabar\lyxdabar}                  amssymb
+\def\dashrightarrow{\mathrel{\lyxdabar\lyxdabar\lyxright}}      mathrel &#x290F; amssymb
+\def\dashleftarrow{\mathrel{\lyxleft\lyxdabar\lyxdabar}}        mathrel &#x290E; amssymb
 else
-\def\dashrightarrow{- - \rightarrow}                            amssymb
-\def\dashleftarrow{\leftarrow{} - -}                            amssymb
+\def\dashrightarrow{- - \rightarrow}                            mathrel &#x290F; amssymb
+\def\dashleftarrow{\leftarrow{} - -}                            mathrel &#x290E; amssymb
 endif
-\def\dasharrow{\dashrightarrow}                                 amssymb
+\def\dasharrow{\dashrightarrow}                                 mathrel &#x290F; amssymb
 iffont msb
-\def\Join{\ltimes\kern-18.5mu\rtimes}                           amssymb
+\def\Join{\mathrel{\ltimes\kern-13.5mu\rtimes}}                 mathrel &#x2a1d; amssymb
 else
-\def\Join{|x|}                                                  amssymb
+\def\Join{|x|}                                                  mathrel &#x2a1d; amssymb
 endif
-# Fixme: latin-1 chars in text file
-\def\AA{\AA}{Å}
-\def\O{\O}{Ø}
+\def\AA{\AA}{\text{Å}} textmode &Aring;  amstext,lyxmathsym
+\def\O{\O}{\text{Ø}}   textmode &Oslash; amstext,lyxmathsym
 
 iffont cmsy
 # The \sim is placed too high...
-\def\cong{\stackrel{_\sim}{=}}
+\def\cong{\stackrel{\sim}{=}}                                   mathrel &cong;
 lyxsurd               cmsy        112 0 mathord  &radic;
-\def\surd{^\lyxsurd}
-\def\textdegree{\kern-1mu^{\circ}\kern-4mu}
+\def\surd{^\lyxsurd}                                            mathord &radic;
+\def\textdegree{\text{°}} textmode &deg; textcomp,amstext,lyxmathsym
 else
 # FIXME: These don't work on OS X, since the Symbol font uses a different
 #        encoding and is therefore disabled in FontLoader::available().
 cong               lyxsymbol             64  0 mathrel  &cong;
 surd               lyxsymbol             214 0 mathord  &radic;
-textdegree         lyxsymbol             176 0 mathord  &deg;
+textdegree         lyxsymbol             176 0 mathord  &deg; textcomp,amstext,lyxmathsym
 endif
 
 #"{\hat{}}