From 718eede94bd57b51f6f60cda4c05a68da3dd0d66 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier Date: Mon, 8 Jun 2020 04:07:47 +0200 Subject: [PATCH] MathML: Convert HTML entities to XML entities. --- lib/symbols | 1664 +++++++++++++-------------- src/mathed/InsetMathBig.cpp | 4 +- src/mathed/InsetMathChar.cpp | 5 +- src/mathed/InsetMathDecoration.cpp | 64 +- src/mathed/InsetMathDelim.cpp | 10 +- src/mathed/InsetMathDots.cpp | 37 +- src/mathed/InsetMathHull.cpp | 15 +- src/mathed/InsetMathMacro.cpp | 4 +- src/mathed/InsetMathMacroTemplate.h | 1 - src/mathed/InsetMathMatrix.cpp | 4 +- src/mathed/InsetMathSymbol.cpp | 12 +- src/mathed/MacroTable.cpp | 8 + src/mathed/MacroTable.h | 2 + src/mathed/MathFactory.cpp | 23 +- src/mathed/MathParser.h | 2 + src/mathed/MathStream.cpp | 10 +- src/mathed/MathStream.h | 8 +- 17 files changed, 958 insertions(+), 915 deletions(-) diff --git a/lib/symbols b/lib/symbols index 691353432d..d069141855 100644 --- a/lib/symbols +++ b/lib/symbols @@ -244,73 +244,73 @@ tag* mbox forcetext # symbols generated from fontmath.ltx # -#symbol font charid charid-in-fallback-Xsymbol-font -alpha cmm 174 97 mathord α -beta cmm 175 98 mathord β -gamma cmm 176 103 mathord γ -delta cmm 177 100 mathord δ -epsilon cmm 178 0 mathord ε -zeta cmm 179 122 mathord ζ -eta cmm 180 104 mathord η -theta cmm 181 113 mathord θ -iota cmm 182 105 mathord ι -kappa cmm 183 107 mathord κ -lambda cmm 184 108 mathord λ -mu cmm 185 109 mathord μ -nu cmm 186 110 mathord ν -xi cmm 187 120 mathord ξ -pi cmm 188 112 mathord π -rho cmm 189 114 mathord ρ -sigma cmm 190 115 mathord σ -tau cmm 191 116 mathord τ -upsilon cmm 192 117 mathord υ -phi cmm 193 102 mathord φ -chi cmm 194 99 mathord χ -psi cmm 195 121 mathord ψ -omega cmm 33 119 mathord ω -varepsilon cmm 34 101 mathord ϵ -vartheta cmm 35 74 mathord ϑ -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 Θ -Lambda cmr 164 76 mathalpha Λ -Xi cmr 165 88 mathalpha Ξ -Pi cmr 166 80 mathalpha Π -Sigma cmr 167 83 mathalpha Σ -Upsilon cmr 168 161 mathalpha ϒ -Phi cmr 169 70 mathalpha Φ -Psi cmr 170 89 mathalpha Ψ -Omega cmr 172 87 mathalpha Ω -aleph cmsy 64 192 mathord ℵ -imath cmm 123 0 mathord ı -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 &imaginary; -partial cmm 64 182 mathord ∂ -infty cmsy 49 165 mathord ∞ -prime cmsy 48 162 mathord ′ -emptyset cmsy 59 0 mathord ∅ -nabla cmsy 114 209 mathord ∇ -top cmsy 62 0 mathord ⊤ -bot cmsy 63 94 mathord ⊥ -triangle cmsy 52 0 mathord ▵ -forall cmsy 56 34 mathord ∀ -exists cmsy 57 36 mathord ∃ -neg cmsy 58 216 mathord ¬ -flat cmm 91 0 mathord ♭ -natural cmm 92 0 mathord ♮ -sharp cmm 93 35 mathord ♯ -clubsuit cmsy 124 167 mathord ♣ -diamondsuit cmsy 125 168 mathord ♢ -heartsuit cmsy 126 169 mathord ♡ -spadesuit cmsy 127 170 mathord ♠ +#symbol font charid charid-in-fallback-Xsymbol-font math-class HTML-entity XML-entity +alpha cmm 174 97 mathord α α +beta cmm 175 98 mathord β β +gamma cmm 176 103 mathord γ γ +delta cmm 177 100 mathord δ δ +epsilon cmm 178 0 mathord ε ε +zeta cmm 179 122 mathord ζ ζ +eta cmm 180 104 mathord η η +theta cmm 181 113 mathord θ θ +iota cmm 182 105 mathord ι ι +kappa cmm 183 107 mathord κ κ +lambda cmm 184 108 mathord λ λ +mu cmm 185 109 mathord μ μ +nu cmm 186 110 mathord ν ν +xi cmm 187 120 mathord ξ ξ +pi cmm 188 112 mathord π π +rho cmm 189 114 mathord ρ ρ +sigma cmm 190 115 mathord σ σ +tau cmm 191 116 mathord τ τ +upsilon cmm 192 117 mathord υ υ +phi cmm 193 102 mathord φ φ +chi cmm 194 99 mathord χ χ +psi cmm 195 121 mathord ψ ψ +omega cmm 33 119 mathord ω ω +varepsilon cmm 34 101 mathord ϵ ϵ +vartheta cmm 35 74 mathord ϑ ϑ +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 Θ Θ +Lambda cmr 164 76 mathalpha Λ Λ +Xi cmr 165 88 mathalpha Ξ Ξ +Pi cmr 166 80 mathalpha Π Π +Sigma cmr 167 83 mathalpha Σ Σ +Upsilon cmr 168 161 mathalpha ϒ Υ +Phi cmr 169 70 mathalpha Φ Φ +Psi cmr 170 89 mathalpha Ψ Ψ +Omega cmr 172 87 mathalpha Ω Ω +aleph cmsy 64 192 mathord ℵ ℵ +imath cmm 123 0 mathord ı ı +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 &imaginary; ℑ +partial cmm 64 182 mathord ∂ ∂ +infty cmsy 49 165 mathord ∞ ∞ +prime cmsy 48 162 mathord ′ ′ +emptyset cmsy 59 0 mathord ∅ ∅ +nabla cmsy 114 209 mathord ∇ ∇ +top cmsy 62 0 mathord ⊤ ⊤ +bot cmsy 63 94 mathord ⊥ ⊥ +triangle cmsy 52 0 mathord ▵ ▵ +forall cmsy 56 34 mathord ∀ ∀ +exists cmsy 57 36 mathord ∃ ∃ +neg cmsy 58 216 mathord ¬ ¬ +flat cmm 91 0 mathord ♭ ♭ +natural cmm 92 0 mathord ♮ ♮ +sharp cmm 93 35 mathord ♯ ♯ +clubsuit cmsy 124 167 mathord ♣ ♣ +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 / hiddensymbol iffont cmsy @@ -319,678 +319,679 @@ iffont cmsy else \def\not{\kern4mu\lyxnot\kern-19mu} endif -coprod cmex 96 0 mathop ⨿ -bigvee cmex 87 0 mathop ⋁ -bigwedge cmex 86 0 mathop ⋀ -biguplus cmex 85 0 mathop ⨄ -bigcap cmex 84 0 mathop ⋂ -bigcup cmex 83 0 mathop ⋃ -prod cmex 81 213 mathop ∏ -sum cmex 80 229 mathop ∑ -bigotimes cmex 78 0 mathop ⨂ -bigoplus cmex 76 0 mathop ⨁ -bigodot cmex 74 0 mathop ⨀ -bigsqcup cmex 70 0 mathop ⨆ -smallint cmsy 115 0 mathop ∫ -triangleleft cmm 47 0 mathbin ◃ -triangleright cmm 46 0 mathbin ▹ -bigtriangleup cmsy 52 0 mathbin △ -bigtriangledown cmsy 53 0 mathbin ▽ -wedge cmsy 94 217 mathbin ∧ -land cmsy 94 217 mathbin ⋀ -vee cmsy 95 218 mathbin ∨ -lor cmsy 95 218 mathbin ⋁ -cap cmsy 92 199 mathbin ∩ -cup cmsy 91 200 mathbin ∪ -ddagger cmsy 122 0 mathbin ‡ -dagger cmsy 121 0 mathbin † -sqcap cmsy 117 0 mathbin ⊓ -sqcup cmsy 116 0 mathbin ⊔ -uplus cmsy 93 0 mathbin ⊎ -amalg cmsy 113 0 mathbin ⨿ -diamond cmsy 166 224 mathbin ◊ -bullet cmsy 178 183 mathbin • -wr cmsy 111 0 mathbin ≀ -div cmsy 165 184 mathbin ÷ -odot cmsy 175 0 mathbin ⊙ -oslash cmsy 174 198 mathbin ø -otimes cmsy 172 196 mathbin ⊗ -ominus cmsy 170 0 mathbin ⊖ -oplus cmsy 169 197 mathbin ⊕ -mp cmsy 168 0 mathbin ∓ -pm cmsy 167 177 mathbin ± -circ cmsy 177 0 mathbin ○ -bigcirc cmsy 176 0 mathbin ◯ -setminus cmsy 110 0 mathbin ∖ -cdot cmsy 162 215 mathbin ⋅ -ast cmsy 164 0 mathbin ∗ -times cmsy 163 180 mathbin × -star cmm 63 0 mathbin ★ -propto cmsy 47 181 mathrel ∝ -sqsubseteq cmsy 118 0 mathrel ⊑ -sqsupseteq cmsy 119 0 mathrel ⊒ -parallel cmsy 107 0 mathrel ∥ -mid cmsy 106 124 mathrel ∣ -lvert cmsy 106 124 mathrel &lvert; amsmath -rvert cmsy 106 124 mathrel &rvert; amsmath -dashv cmsy 97 0 mathrel ⊣ -vdash cmsy 96 0 mathrel ⊢ -nearrow cmsy 37 0 mathrel ↗ -searrow cmsy 38 0 mathrel ↘ -nwarrow cmsy 45 0 mathrel ↖ -swarrow cmsy 46 0 mathrel ↙ -Leftrightarrow cmsy 44 219 mathrel ↔ -Leftarrow cmsy 40 220 mathrel ⇐ -Rightarrow cmsy 41 222 mathrel ⇒ -le cmsy 183 163 mathrel ≤ -ge cmsy 184 179 mathrel ≥ -succ cmsy 194 0 mathrel ≻ -prec cmsy 193 0 mathrel ≺ -approx cmsy 188 187 mathrel ≈ -succeq cmsy 186 0 mathrel ⪰ -preceq cmsy 185 0 mathrel ⪯ -supset cmsy 190 201 mathrel ⊃ -subset cmsy 189 204 mathrel ⊂ -supseteq cmsy 182 202 mathrel ⊇ -subseteq cmsy 181 205 mathrel ⊆ -in cmsy 50 206 mathrel ∈ -ni cmsy 51 39 mathrel ∋ -owns cmsy 51 39 mathrel ∋ -gg cmsy 192 0 mathrel ≫ -ll cmsy 191 0 mathrel ≪ -leftrightarrow cmsy 36 171 mathrel ↔ -leftarrow cmsy 195 172 mathrel ← -gets cmsy 195 172 mathrel ← -rightarrow cmsy 33 174 mathrel → -to cmsy 33 174 mathrel → -mapstochar cmsy 55 0 mathrel x -sim cmsy 187 126 mathrel ∼ -simeq cmsy 39 0 mathrel ≃ -perp cmsy 63 0 mathrel ⊥ -equiv cmsy 180 186 mathrel ≡ -asymp cmsy 179 0 mathrel ≈ -smile cmm 94 0 mathrel ⌣ -frown cmm 95 0 mathrel ⌢ -leftharpoonup cmm 40 0 mathrel ↼ -leftharpoondown cmm 41 0 mathrel ↽ -rightharpoonup cmm 42 0 mathrel ⇀ -rightharpoondown cmm 43 0 mathrel ⇁ -lhook cmm 44 0 mathrel x -rhook cmm 45 0 mathrel x -ldotp cmm 58 0 mathpunct . -cdotp cmsy 162 0 mathpunct ⋅ -colon cmr 58 58 mathpunct : -arrowvert cmsy 106 0 mathord | -Arrowvert cmsy 107 0 mathord ∥ -Vert cmsy 107 0 mathord ∥ -lVert cmsy 107 0 mathord ∥ amsmath -rVert cmsy 107 0 mathord ∥ amsmath -| cmsy 107 0 mathord | -vert cmsy 106 0 mathord | -uparrow cmsy 34 173 mathrel ↑ -downarrow cmsy 35 175 mathrel ↓ -updownarrow cmsy 108 0 mathrel ↕ -Uparrow cmsy 42 221 mathrel ⇑ -Downarrow cmsy 43 223 mathrel ⇓ -Updownarrow cmsy 109 0 mathrel ⇕ -backslash cmsy 110 0 mathord \ -rangle cmsy 105 241 mathclose ⟩ -langle cmsy 104 225 mathopen ⟨ -rbrace cmsy 103 0 mathclose } -lbrace cmsy 102 0 mathopen { -rceil cmsy 101 249 mathclose ⌉ -lceil cmsy 100 233 mathopen ⌈ -rfloor cmsy 99 251 mathclose ⌋ -lfloor cmsy 98 235 mathopen ⌊ -mathparagraph cmsy 123 0 mathord ¶ -mathsection cmsy 120 0 mathord § -mathdollar cmr 36 0 mathord $ +coprod cmex 96 0 mathop ⨿ ⨿ +bigvee cmex 87 0 mathop ⋁ ⋁ +bigwedge cmex 86 0 mathop ⋀ ⋀ +biguplus cmex 85 0 mathop ⨄ ⨄ +bigcap cmex 84 0 mathop ⋂ ⋂ +bigcup cmex 83 0 mathop ⋃ ⋃ +prod cmex 81 213 mathop ∏ ∏ +sum cmex 80 229 mathop ∑ ∑ +bigotimes cmex 78 0 mathop ⨂ ⨂ +bigoplus cmex 76 0 mathop ⨁ ⨁ +bigodot cmex 74 0 mathop ⨀ ⨀ +bigsqcup cmex 70 0 mathop ⨆ ⨆ +smallint cmsy 115 0 mathop ∫ ∫ +triangleleft cmm 47 0 mathbin ◃ ◃ +triangleright cmm 46 0 mathbin ▹ ▹ +bigtriangleup cmsy 52 0 mathbin △ △ +bigtriangledown cmsy 53 0 mathbin ▽ ▽ +wedge cmsy 94 217 mathbin ∧ ∧ +land cmsy 94 217 mathbin ⋀ ⋀ +vee cmsy 95 218 mathbin ∨ ∨ +lor cmsy 95 218 mathbin ⋁ ⋁ +cap cmsy 92 199 mathbin ∩ ∩ +cup cmsy 91 200 mathbin ∪ ∪ +ddagger cmsy 122 0 mathbin ‡ ‡ +dagger cmsy 121 0 mathbin † † +sqcap cmsy 117 0 mathbin ⊓ ⊓ +sqcup cmsy 116 0 mathbin ⊔ ⊔ +uplus cmsy 93 0 mathbin ⊎ ⊎ +amalg cmsy 113 0 mathbin ⨿ ⨿ +diamond cmsy 166 224 mathbin ◊ ◊ +bullet cmsy 178 183 mathbin • • +wr cmsy 111 0 mathbin ≀ ≀ +div cmsy 165 184 mathbin ÷ ÷ +odot cmsy 175 0 mathbin ⊙ ⊙ +oslash cmsy 174 198 mathbin ø ø +otimes cmsy 172 196 mathbin ⊗ ⊗ +ominus cmsy 170 0 mathbin ⊖ ⊖ +oplus cmsy 169 197 mathbin ⊕ ⊕ +mp cmsy 168 0 mathbin ∓ ∓ +pm cmsy 167 177 mathbin ± ± +circ cmsy 177 0 mathbin ○ ○ +bigcirc cmsy 176 0 mathbin ◯ ◯ +setminus cmsy 110 0 mathbin ∖ ∖ +cdot cmsy 162 215 mathbin ⋅ ⋅ +ast cmsy 164 0 mathbin ∗ ∗ +times cmsy 163 180 mathbin × × +star cmm 63 0 mathbin ★ ★ +propto cmsy 47 181 mathrel ∝ ∝ +sqsubseteq cmsy 118 0 mathrel ⊑ ⊑ +sqsupseteq cmsy 119 0 mathrel ⊒ ⊒ +parallel cmsy 107 0 mathrel ∥ ∥ +mid cmsy 106 124 mathrel ∣ ∣ +lvert cmsy 106 124 mathrel &lvert; | amsmath +rvert cmsy 106 124 mathrel &rvert; | amsmath +dashv cmsy 97 0 mathrel ⊣ ⊣ +vdash cmsy 96 0 mathrel ⊢ ⊢ +nearrow cmsy 37 0 mathrel ↗ ↗ +searrow cmsy 38 0 mathrel ↘ ↘ +nwarrow cmsy 45 0 mathrel ↖ ↖ +swarrow cmsy 46 0 mathrel ↙ ↙ +Leftrightarrow cmsy 44 219 mathrel ↔ ↔ +Leftarrow cmsy 40 220 mathrel ⇐ ⇐ +Rightarrow cmsy 41 222 mathrel ⇒ ȝ +le cmsy 183 163 mathrel ≤ ≤ +ge cmsy 184 179 mathrel ≥ ≥ +succ cmsy 194 0 mathrel ≻ ≻ +prec cmsy 193 0 mathrel ≺ ≺ +approx cmsy 188 187 mathrel ≈ ≈ +succeq cmsy 186 0 mathrel ⪰ ⪰ +preceq cmsy 185 0 mathrel ⪯ ⪯ +supset cmsy 190 201 mathrel ⊃ ⊃ +subset cmsy 189 204 mathrel ⊂ ⊂ +supseteq cmsy 182 202 mathrel ⊇ ⊇ +subseteq cmsy 181 205 mathrel ⊆ ⊆ +in cmsy 50 206 mathrel ∈ ∈ +ni cmsy 51 39 mathrel ∋ ∋ +owns cmsy 51 39 mathrel ∋ ∋ +gg cmsy 192 0 mathrel ≫ ≫ +ll cmsy 191 0 mathrel ≪ ≪ +leftrightarrow cmsy 36 171 mathrel ↔ ↔ +leftarrow cmsy 195 172 mathrel ← ← +gets cmsy 195 172 mathrel ← ← +rightarrow cmsy 33 174 mathrel → → +to cmsy 33 174 mathrel → → +mapstochar cmsy 55 0 mathrel ⤇ ⤇ +sim cmsy 187 126 mathrel ∼ ∼ +simeq cmsy 39 0 mathrel ≃ ≃ +perp cmsy 63 0 mathrel ⊥ ⊥ +equiv cmsy 180 186 mathrel ≡ ≡ +asymp cmsy 179 0 mathrel ≈ ≈ +smile cmm 94 0 mathrel ⌣ ⌣ +frown cmm 95 0 mathrel ⌢ ⌢ +leftharpoonup cmm 40 0 mathrel ↼ ↼ +leftharpoondown cmm 41 0 mathrel ↽ ↽ +rightharpoonup cmm 42 0 mathrel ⇀ ⇀ +rightharpoondown cmm 43 0 mathrel ⇁ ⇁ +lhook cmm 44 0 mathrel ↩ ↩ +rhook cmm 45 0 mathrel ↪ ↪ +ldotp cmm 58 0 mathpunct . . +# TODO: how to make this namespaced? +cdotp cmsy 162 0 mathpunct ⋅ ⋅ +colon cmr 58 58 mathpunct : : +arrowvert cmsy 106 0 mathord | | +Arrowvert cmsy 107 0 mathord ∥ ∥ +Vert cmsy 107 0 mathord ∥ ∥ +lVert cmsy 107 0 mathord ∥ ∥ amsmath +rVert cmsy 107 0 mathord ∥ ∥ amsmath +| cmsy 107 0 mathord | | +vert cmsy 106 0 mathord | | +uparrow cmsy 34 173 mathrel ↑ ↑ +downarrow cmsy 35 175 mathrel ↓ ↓ +updownarrow cmsy 108 0 mathrel ↕ ↕ +Uparrow cmsy 42 221 mathrel ⇑ ⇑ +Downarrow cmsy 43 223 mathrel ⇓ ⇓ +Updownarrow cmsy 109 0 mathrel ⇕ ⇕ +backslash cmsy 110 0 mathord \ \ +rangle cmsy 105 241 mathclose ⟩ 〉 +langle cmsy 104 225 mathopen ⟨ 〈 +rbrace cmsy 103 0 mathclose } } +lbrace cmsy 102 0 mathopen { { +rceil cmsy 101 249 mathclose ⌉ ⌉ +lceil cmsy 100 233 mathopen ⌈ ⌈ +rfloor cmsy 99 251 mathclose ⌋ ⌋ +lfloor cmsy 98 235 mathopen ⌊ ⌊ +mathparagraph cmsy 123 0 mathord ¶ ¶ +mathsection cmsy 120 0 mathord § § +mathdollar cmr 36 0 mathord $ $ # Generated from amsfonts.sty -yen msa 85 0 mathord ¥ -checkmark msa 88 0 mathord ✓ -circledR msa 114 0 mathord ® -maltese msa 122 0 mathord ✠ -ulcorner msa 112 0 mathopen ⌜ -urcorner msa 113 0 mathclose ⌝ -llcorner msa 120 0 mathopen ⌞ -lrcorner msa 121 0 mathclose ⌟ -rightleftharpoons msa 172 0 mathrel ⇋ -angle msa 92 208 mathord ∠ -sqsubset msa 64 0 mathrel ⊏ -sqsupset msa 65 0 mathrel ⊐ -mho msb 102 0 mathord ℧ -square msa 164 0 mathord □ -Box msa 164 0 mathord □ -lozenge msa 167 0 mathord ◊ -Diamond msa 167 0 mathord ⋄ -vartriangleright msa 66 0 mathrel ▹ -vartriangleleft msa 67 0 mathrel ◃ -trianglerighteq msa 68 0 mathrel ⊵ -trianglelefteq msa 69 0 mathrel ⊴ -rightsquigarrow msa 195 0 mathrel ↝ -lhd msa 67 0 mathbin ◃ -unlhd msa 69 0 mathbin ⊴ -rhd msa 66 0 mathbin ▹ -unrhd msa 68 0 mathbin ⊵ +yen msa 85 0 mathord ¥ ¥ +checkmark msa 88 0 mathord ✓ ✓ +circledR msa 114 0 mathord ® ® +maltese msa 122 0 mathord ✠ ✠ +ulcorner msa 112 0 mathopen ⌜ ⌜ +urcorner msa 113 0 mathclose ⌝ ⌝ +llcorner msa 120 0 mathopen ⌞ ⌞ +lrcorner msa 121 0 mathclose ⌟ ⌟ +rightleftharpoons msa 172 0 mathrel ⇋ ⇋ +angle msa 92 208 mathord ∠ ∠ +sqsubset msa 64 0 mathrel ⊏ ⊏ +sqsupset msa 65 0 mathrel ⊐ ⊐ +mho msb 102 0 mathord ℧ ℧ +square msa 164 0 mathord □ □ +Box msa 164 0 mathord □ □ +lozenge msa 167 0 mathord ◊ ◊ +Diamond msa 167 0 mathord ⋄ ⋄ +vartriangleright msa 66 0 mathrel ▹ ▹ +vartriangleleft msa 67 0 mathrel ◃ ◃ +trianglerighteq msa 68 0 mathrel ⊵ ⊵ +trianglelefteq msa 69 0 mathrel ⊴ ⊴ +rightsquigarrow msa 195 0 mathrel ↝ ↝ +lhd msa 67 0 mathbin ◃ ◃ +unlhd msa 69 0 mathbin ⊴ ⊴ +rhd msa 66 0 mathbin ▹ ▹ +unrhd msa 68 0 mathbin ⊵ ⊵ # Generated from amssymb.sty -boxdot msa 161 0 mathbin ⊡ -boxplus msa 162 0 mathbin ⊞ -boxtimes msa 163 0 mathbin ⊠ -blacksquare msa 165 0 mathord █ -centerdot msa 166 0 mathbin ▪ -blacklozenge msa 168 0 mathord ♦ -circlearrowright msa 169 0 mathrel ↻ -circlearrowleft msa 170 0 mathrel ↺ -leftrightharpoons msa 174 0 mathrel ⇋ -boxminus msa 175 0 mathbin ⊟ -Vdash msa 176 0 mathrel ⊩ -Vvdash msa 177 0 mathrel ⊪ -vDash msa 178 0 mathrel ⊨ -twoheadrightarrow msa 179 0 mathrel ↠ -twoheadleftarrow msa 180 0 mathrel ↞ -leftleftarrows msa 181 0 mathrel ⇇ -rightrightarrows msa 182 0 mathrel ⇉ -upuparrows msa 183 0 mathrel ⇈ -downdownarrows msa 184 0 mathrel ⇊ -upharpoonright msa 185 0 mathrel ↾ -restriction msa 185 0 mathrel ↾ -downharpoonright msa 186 0 mathrel ⇂ -upharpoonleft msa 187 0 mathrel ↿ -downharpoonleft msa 188 0 mathrel ⇃ -rightarrowtail msa 189 0 mathrel ↣ -leftarrowtail msa 190 0 mathrel ↢ -leftrightarrows msa 191 0 mathrel ⇆ -rightleftarrows msa 192 0 mathrel ⇄ -Lsh msa 193 0 mathrel ↰ -Rsh msa 194 0 mathrel ↱ -leftrightsquigarrow msa 33 0 mathrel ↭ -looparrowleft msa 34 0 mathrel ↫ -looparrowright msa 35 0 mathrel ↬ -circeq msa 36 0 mathrel ≗ -succsim msa 37 0 mathrel ≿ -gtrsim msa 38 0 mathrel ≳ -gtrapprox msa 39 0 mathrel ⪆ -multimap msa 40 0 mathrel ⊸ -therefore msa 41 92 mathrel ∴ -because msa 42 0 mathrel ∵ -doteqdot msa 43 0 mathrel ≑ -Doteq msa 43 0 mathrel ≑ -triangleq msa 44 0 mathrel ≜ -precsim msa 45 0 mathrel ≾ -lesssim msa 46 0 mathrel ≲ -lessapprox msa 47 0 mathrel ⪅ -eqslantless msa 48 0 mathrel ⪕ -eqslantgtr msa 49 0 mathrel ⪖ -curlyeqprec msa 50 0 mathrel ⋞ -curlyeqsucc msa 51 0 mathrel ⋟ -preccurlyeq msa 52 0 mathrel ≼ -leqq msa 53 0 mathrel ≦ -leqslant msa 54 0 mathrel ⩽ -lessgtr msa 55 0 mathrel ≶ -backprime msa 56 0 mathord ‵ -risingdotseq msa 58 0 mathrel ≓ -fallingdotseq msa 59 0 mathrel ≒ -succcurlyeq msa 60 0 mathrel ≽ -geqq msa 61 0 mathrel ≧ -geqslant msa 62 0 mathrel ⩾ -gtrless msa 63 0 mathrel ≷ -bigstar msa 70 0 mathord ★ -between msa 71 0 mathrel ≬ -blacktriangledown msa 72 0 mathord ▾ -blacktriangleright msa 73 0 mathrel ▸ -blacktriangleleft msa 74 0 mathrel ◂ -vartriangle msa 77 0 mathrel ▵ -blacktriangle msa 78 0 mathord ▴ -triangledown msa 79 0 mathord ▿ -eqcirc msa 80 0 mathrel ≖ -lesseqgtr msa 81 0 mathrel ⋚ -gtreqless msa 82 0 mathrel ⋛ -lesseqqgtr msa 83 0 mathrel ⪋ -gtreqqless msa 84 0 mathrel ⪌ -Rrightarrow msa 86 0 mathrel ⇛ -Lleftarrow msa 87 0 mathrel ⇚ -veebar msa 89 0 mathbin ⊻ -barwedge msa 90 0 mathbin ⌅ -doublebarwedge msa 91 0 mathbin ⌆ -measuredangle msa 93 0 mathord ∡ -sphericalangle msa 94 0 mathord ∢ -varpropto msa 95 0 mathrel ∝ -smallsmile msa 96 0 mathrel ⌣ -smallfrown msa 97 0 mathrel ⌢ -Subset msa 98 0 mathrel ⋐ -Supset msa 99 0 mathrel ⋑ -Cup msa 100 0 mathbin ⋓ -doublecup msa 100 0 mathbin ⋓ -Cap msa 101 0 mathbin ⋒ -doublecap msa 101 0 mathbin ⋒ -curlywedge msa 102 0 mathbin ⋏ -curlyvee msa 103 0 mathbin ⋎ -leftthreetimes msa 104 0 mathbin ⋋ -rightthreetimes msa 105 0 mathbin ⋌ -subseteqq msa 106 0 mathrel ⫅ -supseteqq msa 107 0 mathrel ⫆ -bumpeq msa 108 0 mathrel ≏ -Bumpeq msa 109 0 mathrel ≎ -lll msa 110 0 mathrel ⋘ -llless msa 110 0 mathrel ⋘ -ggg msa 111 0 mathrel ⋙ -gggtr msa 111 0 mathrel ⋙ -circledS msa 115 0 mathord Ⓢ -pitchfork msa 116 0 mathrel ⋔ -dotplus msa 117 0 mathbin ∔ -backsim msa 118 0 mathrel ∽ -backsimeq msa 119 0 mathrel ⋍ -complement msa 123 0 mathord ∁ -intercal msa 124 0 mathbin ⊺ -circledcirc msa 125 0 mathbin ⊚ -circledast msa 126 0 mathbin ⊛ -circleddash msa 127 0 mathbin ⊝ -lvertneqq msb 161 0 mathrel ≨︀ -gvertneqq msb 162 0 mathrel ≩︀ -nleq msb 163 0 mathrel ≰ -ngeq msb 164 0 mathrel ≱ -nless msb 165 0 mathrel ≮ -ngtr msb 166 0 mathrel ≯ -nprec msb 167 0 mathrel ⊀ -nsucc msb 168 0 mathrel ⊁ -lneqq msb 169 0 mathrel ≨ -gneqq msb 170 0 mathrel ≩ -nleqslant msb 172 0 mathrel ⩽̸ -ngeqslant msb 174 0 mathrel ⩾̸ -lneq msb 175 0 mathrel ≰ -gneq msb 176 0 mathrel ⪈ -npreceq msb 177 0 mathrel ⋠ -nsucceq msb 178 0 mathrel ⋡ -precnsim msb 179 0 mathrel ⋨ -succnsim msb 180 0 mathrel ⋩ -lnsim msb 181 0 mathrel ⋦ -gnsim msb 182 0 mathrel ⋧ -nleqq msb 183 0 mathrel ≦̸ -ngeqq msb 184 0 mathrel ≧̸ -precneqq msb 185 0 mathrel ⪵ -succneqq msb 186 0 mathrel ⪶ -precnapprox msb 187 0 mathrel ⪹ -succnapprox msb 188 0 mathrel ⪺ -lnapprox msb 189 0 mathrel ⪉ -gnapprox msb 190 0 mathrel ⪊ -nsim msb 191 0 mathrel ≁ -ncong msb 192 0 mathrel ≇ -diagup msb 193 0 mathord ╱ -diagdown msb 194 0 mathord ╲ -varsubsetneq msb 195 0 mathrel ⊊︀ -varsupsetneq msb 33 0 mathrel ⊋︀ -nsubseteqq msb 34 0 mathrel ⊈ -nsupseteqq msb 35 0 mathrel ⊉ -subsetneqq msb 36 0 mathrel ⫅̸ -supsetneqq msb 37 0 mathrel ⫆̸ -varsubsetneqq msb 38 0 mathrel ⫋︀ -varsupsetneqq msb 39 0 mathrel ⫌︀ -subsetneq msb 40 0 mathrel ⊊ -supsetneq msb 41 0 mathrel ⊋ -nsubseteq msb 42 0 mathrel ⊈ -nsupseteq msb 43 0 mathrel ⊉ -nparallel msb 44 0 mathrel ∦ -nmid msb 45 0 mathrel ⫮ -nshortmid msb 46 0 mathrel ∤ -nshortparallel msb 47 0 mathrel ∦ -nvdash msb 48 0 mathrel ⊬ -nVdash msb 49 0 mathrel ⊮ -nvDash msb 50 0 mathrel ⊭ -nVDash msb 51 0 mathrel ⊯ -ntrianglerighteq msb 52 0 mathrel ⋭ -ntrianglelefteq msb 53 0 mathrel ⋬ -ntriangleleft msb 54 0 mathrel ⋪ -ntriangleright msb 55 0 mathrel ⋫ -nleftarrow msb 56 0 mathrel ↚ -nrightarrow msb 57 0 mathrel ↛ -nLeftarrow msb 58 0 mathrel ⇍ -nRightarrow msb 59 0 mathrel ⇏ -nLeftrightarrow msb 60 0 mathrel ⇎ -nleftrightarrow msb 61 0 mathrel ↮ -divideontimes msb 62 0 mathbin ⋇ -varnothing msb 63 0 mathord ∅ -nexists msb 64 0 mathord ∄ -Finv msb 96 0 mathord Ⅎ -Game msb 97 0 mathord ⅁ -eth msb 103 0 mathord ð -eqsim msb 104 0 mathrel ≂ -beth msb 105 0 mathord ℶ -gimel msb 106 0 mathord ℷ -daleth msb 107 0 mathord ℸ -lessdot msb 108 0 mathbin ⋖ -gtrdot msb 109 0 mathbin ⋗ -ltimes msb 110 0 mathbin ⋉ -rtimes msb 111 0 mathbin ⋊ -shortmid msb 112 0 mathrel ∣ -shortparallel msb 113 0 mathrel ∥ -smallsetminus msb 114 0 mathbin ∖ -thicksim msb 115 0 mathrel ∼ -thickapprox msb 116 0 mathrel ≈ -approxeq msb 117 0 mathrel ≊ -succapprox msb 118 0 mathrel ⪸ -precapprox msb 119 0 mathrel ⪷ -curvearrowleft msb 120 0 mathrel ↶ -curvearrowright msb 121 0 mathrel ↷ -digamma msb 122 0 mathord ϝ -varkappa msb 123 0 mathord ϰ +boxdot msa 161 0 mathbin ⊡ ⊡ +boxplus msa 162 0 mathbin ⊞ ⊞ +boxtimes msa 163 0 mathbin ⊠ ⊠ +blacksquare msa 165 0 mathord █ █ +centerdot msa 166 0 mathbin ▪ ▪ +blacklozenge msa 168 0 mathord ♦ ♦ +circlearrowright msa 169 0 mathrel ↻ ↻ +circlearrowleft msa 170 0 mathrel ↺ ↺ +leftrightharpoons msa 174 0 mathrel ⇋ ⇋ +boxminus msa 175 0 mathbin ⊟ ⊟ +Vdash msa 176 0 mathrel ⊩ ⊩ +Vvdash msa 177 0 mathrel ⊪ ⊪ +vDash msa 178 0 mathrel ⊨ ⊨ +twoheadrightarrow msa 179 0 mathrel ↠ ↠ +twoheadleftarrow msa 180 0 mathrel ↞ ↞ +leftleftarrows msa 181 0 mathrel ⇇ ⇇ +rightrightarrows msa 182 0 mathrel ⇉ ⇉ +upuparrows msa 183 0 mathrel ⇈ ⇈ +downdownarrows msa 184 0 mathrel ⇊ ⇊ +upharpoonright msa 185 0 mathrel ↾ ↾ +restriction msa 185 0 mathrel ↾ ↾ +downharpoonright msa 186 0 mathrel ⇂ ⇂ +upharpoonleft msa 187 0 mathrel ↿ ↿ +downharpoonleft msa 188 0 mathrel ⇃ ⇃ +rightarrowtail msa 189 0 mathrel ↣ ↣ +leftarrowtail msa 190 0 mathrel ↢ ↢ +leftrightarrows msa 191 0 mathrel ⇆ ⇆ +rightleftarrows msa 192 0 mathrel ⇄ ⇄ +Lsh msa 193 0 mathrel ↰ ↰ +Rsh msa 194 0 mathrel ↱ ↱ +leftrightsquigarrow msa 33 0 mathrel ↭ ↭ +looparrowleft msa 34 0 mathrel ↫ ↫ +looparrowright msa 35 0 mathrel ↬ ↬ +circeq msa 36 0 mathrel ≗ ≗ +succsim msa 37 0 mathrel ≿ ≿ +gtrsim msa 38 0 mathrel ≳ ≳ +gtrapprox msa 39 0 mathrel ⪆ ⪆ +multimap msa 40 0 mathrel ⊸ ⊸ +therefore msa 41 92 mathrel ∴ ∴ +because msa 42 0 mathrel ∵ ∵ +doteqdot msa 43 0 mathrel ≑ ≑ +Doteq msa 43 0 mathrel ≑ ≑ +triangleq msa 44 0 mathrel ≜ ≜ +precsim msa 45 0 mathrel ≾ ≾ +lesssim msa 46 0 mathrel ≲ ≲ +lessapprox msa 47 0 mathrel ⪅ ⪅ +eqslantless msa 48 0 mathrel ⪕ ⪕ +eqslantgtr msa 49 0 mathrel ⪖ ⪖ +curlyeqprec msa 50 0 mathrel ⋞ ⋞ +curlyeqsucc msa 51 0 mathrel ⋟ ⋟ +preccurlyeq msa 52 0 mathrel ≼ ≼ +leqq msa 53 0 mathrel ≦ ≦ +leqslant msa 54 0 mathrel ⩽ ⩽ +lessgtr msa 55 0 mathrel ≶ ≶ +backprime msa 56 0 mathord ‵ ‵ +risingdotseq msa 58 0 mathrel ≓ ≓ +fallingdotseq msa 59 0 mathrel ≒ ≒ +succcurlyeq msa 60 0 mathrel ≽ ≽ +geqq msa 61 0 mathrel ≧ ≧ +geqslant msa 62 0 mathrel ⩾ ⩾ +gtrless msa 63 0 mathrel ≷ ≷ +bigstar msa 70 0 mathord ★ ★ +between msa 71 0 mathrel ≬ ≬ +blacktriangledown msa 72 0 mathord ▾ ▾ +blacktriangleright msa 73 0 mathrel ▸ ▸ +blacktriangleleft msa 74 0 mathrel ◂ ◂ +vartriangle msa 77 0 mathrel ▵ ▵ +blacktriangle msa 78 0 mathord ▴ ▴ +triangledown msa 79 0 mathord ▿ ▿ +eqcirc msa 80 0 mathrel ≖ ≖ +lesseqgtr msa 81 0 mathrel ⋚ ⋚ +gtreqless msa 82 0 mathrel ⋛ ⋛ +lesseqqgtr msa 83 0 mathrel ⪋ ⪋ +gtreqqless msa 84 0 mathrel ⪌ ⪌ +Rrightarrow msa 86 0 mathrel ⇛ ⇛ +Lleftarrow msa 87 0 mathrel ⇚ ⇚ +veebar msa 89 0 mathbin ⊻ ⊻ +barwedge msa 90 0 mathbin ⌅ ⌅ +doublebarwedge msa 91 0 mathbin ⌆ ⌆ +measuredangle msa 93 0 mathord ∡ ∡ +sphericalangle msa 94 0 mathord ∢ ∢ +varpropto msa 95 0 mathrel ∝ ∝ +smallsmile msa 96 0 mathrel ⌣ ⌣ +smallfrown msa 97 0 mathrel ⌢ ⌢ +Subset msa 98 0 mathrel ⋐ ⋐ +Supset msa 99 0 mathrel ⋑ ⋑ +Cup msa 100 0 mathbin ⋓ ⋓ +doublecup msa 100 0 mathbin ⋓ ⋓ +Cap msa 101 0 mathbin ⋒ ⋒ +doublecap msa 101 0 mathbin ⋒ ⋒ +curlywedge msa 102 0 mathbin ⋏ ⋏ +curlyvee msa 103 0 mathbin ⋎ ⋎ +leftthreetimes msa 104 0 mathbin ⋋ ⋋ +rightthreetimes msa 105 0 mathbin ⋌ ⋌ +subseteqq msa 106 0 mathrel ⫅ ⫅ +supseteqq msa 107 0 mathrel ⫆ ⫆ +bumpeq msa 108 0 mathrel ≏ ≏ +Bumpeq msa 109 0 mathrel ≎ ≎ +lll msa 110 0 mathrel ⋘ ⋘ +llless msa 110 0 mathrel ⋘ ⋘ +ggg msa 111 0 mathrel ⋙ ⋙ +gggtr msa 111 0 mathrel ⋙ ⋙ +circledS msa 115 0 mathord Ⓢ Ⓢ +pitchfork msa 116 0 mathrel ⋔ ⋔ +dotplus msa 117 0 mathbin ∔ ∔ +backsim msa 118 0 mathrel ∽ ∽ +backsimeq msa 119 0 mathrel ⋍ ⋍ +complement msa 123 0 mathord ∁ ∁ +intercal msa 124 0 mathbin ⊺ ⊺ +circledcirc msa 125 0 mathbin ⊚ ⊚ +circledast msa 126 0 mathbin ⊛ ⊛ +circleddash msa 127 0 mathbin ⊝ ⊝ +lvertneqq msb 161 0 mathrel ≨︀ ≨︀ +gvertneqq msb 162 0 mathrel ≩︀ ≩︀ +nleq msb 163 0 mathrel ≰ ≰ +ngeq msb 164 0 mathrel ≱ ≱ +nless msb 165 0 mathrel ≮ ≮ +ngtr msb 166 0 mathrel ≯ ≯ +nprec msb 167 0 mathrel ⊀ ⊀ +nsucc msb 168 0 mathrel ⊁ ⊁ +lneqq msb 169 0 mathrel ≨ ≨ +gneqq msb 170 0 mathrel ≩ ≩ +nleqslant msb 172 0 mathrel ⩽̸ ⩽̸ +ngeqslant msb 174 0 mathrel ⩾̸ ⩾̸ +lneq msb 175 0 mathrel ≰ ≰ +gneq msb 176 0 mathrel ⪈ ⪈ +npreceq msb 177 0 mathrel ⋠ ⋠ +nsucceq msb 178 0 mathrel ⋡ ⋡ +precnsim msb 179 0 mathrel ⋨ ⋨ +succnsim msb 180 0 mathrel ⋩ ⋩ +lnsim msb 181 0 mathrel ⋦ ⋦ +gnsim msb 182 0 mathrel ⋧ ⋧ +nleqq msb 183 0 mathrel ≦̸ ≦̸ +ngeqq msb 184 0 mathrel ≧̸ ≧̸ +precneqq msb 185 0 mathrel ⪵ ⪵ +succneqq msb 186 0 mathrel ⪶ ⪶ +precnapprox msb 187 0 mathrel ⪹ ⪹ +succnapprox msb 188 0 mathrel ⪺ ⪺ +lnapprox msb 189 0 mathrel ⪉ ⪉ +gnapprox msb 190 0 mathrel ⪊ ⪊ +nsim msb 191 0 mathrel ≁ ≁ +ncong msb 192 0 mathrel ≇ ≇ +diagup msb 193 0 mathord ╱ ╱ +diagdown msb 194 0 mathord ╲ ╲ +varsubsetneq msb 195 0 mathrel ⊊︀ ⊊︀ +varsupsetneq msb 33 0 mathrel ⊋︀ ⊋︀ +nsubseteqq msb 34 0 mathrel ⊈ ⊈ +nsupseteqq msb 35 0 mathrel ⊉ ⊉ +subsetneqq msb 36 0 mathrel ⫅̸ ⫅Œ +supsetneqq msb 37 0 mathrel ⫆̸ ⫆Œ +varsubsetneqq msb 38 0 mathrel ⫋︀ ⫋Œ +varsupsetneqq msb 39 0 mathrel ⫌︀ ⫌Œ +subsetneq msb 40 0 mathrel ⊊ ⊊ +supsetneq msb 41 0 mathrel ⊋ ⊋ +nsubseteq msb 42 0 mathrel ⊈ ⊈ +nsupseteq msb 43 0 mathrel ⊉ ⊉ +nparallel msb 44 0 mathrel ∦ ∦ +nmid msb 45 0 mathrel ⫮ ⫮ +nshortmid msb 46 0 mathrel ∤ ∤ +nshortparallel msb 47 0 mathrel ∦ ∦ +nvdash msb 48 0 mathrel ⊬ ⊬ +nVdash msb 49 0 mathrel ⊮ ⊮ +nvDash msb 50 0 mathrel ⊭ ⊭ +nVDash msb 51 0 mathrel ⊯ ⊯ +ntrianglerighteq msb 52 0 mathrel ⋭ ⋭ +ntrianglelefteq msb 53 0 mathrel ⋬ ⋬ +ntriangleleft msb 54 0 mathrel ⋪ ⋪ +ntriangleright msb 55 0 mathrel ⋫ ⋫ +nleftarrow msb 56 0 mathrel ↚ ↚ +nrightarrow msb 57 0 mathrel ↛ ↛ +nLeftarrow msb 58 0 mathrel ⇍ ⇍ +nRightarrow msb 59 0 mathrel ⇏ ⇏ +nLeftrightarrow msb 60 0 mathrel ⇎ ⇎ +nleftrightarrow msb 61 0 mathrel ↮ ↮ +divideontimes msb 62 0 mathbin ⋇ ⋇ +varnothing msb 63 0 mathord ∅ ∅ +nexists msb 64 0 mathord ∄ ∄ +Finv msb 96 0 mathord Ⅎ Ⅎ +Game msb 97 0 mathord ⅁ ⅁ +eth msb 103 0 mathord ð ð +eqsim msb 104 0 mathrel ≂ ≂ +beth msb 105 0 mathord ℶ ℶ +gimel msb 106 0 mathord ℷ ℷ +daleth msb 107 0 mathord ℸ ℸ +lessdot msb 108 0 mathbin ⋖ ⋖ +gtrdot msb 109 0 mathbin ⋗ ⋗ +ltimes msb 110 0 mathbin ⋉ ⋉ +rtimes msb 111 0 mathbin ⋊ ⋊ +shortmid msb 112 0 mathrel ∣ ∣ +shortparallel msb 113 0 mathrel ∥ ∥ +smallsetminus msb 114 0 mathbin ∖ ∖ +thicksim msb 115 0 mathrel ∼ ∼ +thickapprox msb 116 0 mathrel ≈ ≈ +approxeq msb 117 0 mathrel ≊ ≊ +succapprox msb 118 0 mathrel ⪸ ⪸ +precapprox msb 119 0 mathrel ⪷ ⪷ +curvearrowleft msb 120 0 mathrel ↶ ↶ +curvearrowright msb 121 0 mathrel ↷ ↷ +digamma msb 122 0 mathord ϝ ϝ +varkappa msb 123 0 mathord ϰ ϰ # Note: Other blackboard symbols are in the same unicode range -Bbbk msb 124 0 mathord 𝕜 -hslash msb 125 0 mathord ℏ -hbar msb 126 0 mathord ℏ -backepsilon msb 127 0 mathrel ϶ +Bbbk msb 124 0 mathord 𝕜 𝕜 +hslash msb 125 0 mathord ℏ ℏ +hbar msb 126 0 mathord ℏ ℏ +backepsilon msb 127 0 mathrel ϶ ϶ -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 +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,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) +male wasy 26 0 x ♂ ♂ +female wasy 25 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) # qt does not display characters at the \t position (0x09) -pointer wasy 170 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 +pointer wasy 170 0 textmode ⇨ ⇨ 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 ≋ # triple tilde -Square wasy 50 0 x □ +VHF wasy 64 0 x ≋ ≋ # triple tilde +Square wasy 50 0 x □ □ \def\CheckedBox{\Square\kern-13.4mu\checked} wasysym -XBox wasy 52 0 x ⊠ -hexagon wasy 55 0 x ⬡ -pentagon wasy 68 0 x ⬠ -octagon wasy 56 0 x x -varhexagon wasy 57 0 x ⬡ -hexstar wasy 65 0 x ✶ -varhexstar wasy 66 0 x ✶ -davidsstar wasy 67 0 x ✡ -diameter wasy 31 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 ✠ -smiley wasy 44 0 x ☺ -frownie wasy 47 0 x ☹ -blacksmiley wasy 45 0 x ☻ -sun wasy 46 0 x ☼ -checked wasy 8 0 x ✓ -bell wasy 171 0 x ⍾ -eighthnote wasy 11 0 x ♮ -quarternote wasy 172 0 x ♩ -halfnote wasy 174 0 x 𝅗𝅥 -fullnote wasy 14 0 x 𝅝 -twonotes wasy 15 0 x ♫ -brokenvert wasy 124 0 x ¦ -ataribox wasy 109 0 x x -wasytherefore wasy 5 0 x ∴ -Circle wasy 35 0 x ○ -CIRCLE wasy 32 0 x ● -Leftcircle wasy 73 0 x x -LEFTCIRCLE wasy 71 0 x ◖ -Rightcircle wasy 74 0 x x -RIGHTCIRCLE wasy 72 0 x ◗ +XBox wasy 52 0 x ⊠ ⊠ +hexagon wasy 55 0 x ⬡ ⬡ +pentagon wasy 68 0 x ⬠ ⬠ +octagon wasy 56 0 x x x +varhexagon wasy 57 0 x ⬡ ⬡ +hexstar wasy 65 0 x ✶ ✶ +varhexstar wasy 66 0 x ✶ ✶ +davidsstar wasy 67 0 x ✡ ✡ +diameter wasy 31 0 x ⌀ ⌀ +invdiameter wasy 21 0 x 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 ✠ ✠ +smiley wasy 44 0 x ☺ ☺ +frownie wasy 47 0 x ☹ ☹ +blacksmiley wasy 45 0 x ☻ ☻ +sun wasy 46 0 x ☼ ☼ +checked wasy 8 0 x ✓ ✓ +bell wasy 171 0 x ⍾ ⍾ +eighthnote wasy 11 0 x ♮ ♮ +quarternote wasy 172 0 x ♩ ♩ +halfnote wasy 174 0 x 𝅗𝅥 𝅗𝅥 +fullnote wasy 14 0 x 𝅝 𝅝 +twonotes wasy 15 0 x ♫ ♫ +brokenvert wasy 124 0 x ¦ ¦ +ataribox wasy 109 0 x x x +wasytherefore wasy 5 0 x ∴ ∴ +Circle wasy 35 0 x ○ ○ +CIRCLE wasy 32 0 x ● ● +Leftcircle wasy 73 0 x x x +LEFTCIRCLE wasy 71 0 x ◖ ◖ +Rightcircle wasy 74 0 x x x +RIGHTCIRCLE wasy 72 0 x ◗ ◗ \def\LEFTcircle{\LEFTCIRCLE\kern-13.4mu\Circle} wasysym \def\RIGHTcircle{\RIGHTCIRCLE\kern-13.4mu\Circle} wasysym # Defined by amsmath.sty -varGamma cmm 161 0 mathord x amsmath -varDelta cmm 162 0 mathord x amsmath -varTheta cmm 163 0 mathord x amsmath -varLambda cmm 164 0 mathord x amsmath -varXi cmm 165 0 mathord x amsmath -varPi cmm 166 0 mathord x amsmath -varSigma cmm 167 0 mathord x amsmath -varUpsilon cmm 168 0 mathord x amsmath -varPhi cmm 169 0 mathord x amsmath -varPsi cmm 170 0 mathord x amsmath -varOmega cmm 172 0 mathord x amsmath +varGamma cmm 161 0 mathord 𝛤 𝛤 amsmath +varDelta cmm 162 0 mathord 𝛥 𝛥 amsmath +varTheta cmm 163 0 mathord 𝛩 𝛩 amsmath +varLambda cmm 164 0 mathord 𝛬 𝛬 amsmath +varXi cmm 165 0 mathord 𝛯 𝛯 amsmath +varPi cmm 166 0 mathord 𝛱 𝛱 amsmath +varSigma cmm 167 0 mathord 𝛴 𝛴 amsmath +varUpsilon cmm 168 0 mathord 𝛶 𝛶 amsmath +varPhi cmm 169 0 mathord 𝛷 𝛷 amsmath +varPsi cmm 170 0 mathord 𝛹 𝛹 amsmath +varOmega cmm 172 0 mathord 𝛺 𝛺 amsmath # # wasy astronomy # -vernal wasy 23 0 x ♈ -ascnode wasy 19 0 x ☊ -descnode wasy 20 0 x ☋ -fullmoon wasy 35 0 x ˆ -newmoon wasy 32 0 x ● -leftmoon wasy 36 0 x ☾ -rightmoon wasy 37 0 x ☽ -astrosun cmsy 175 0 mathbin ☉ wasysym -mercury wasy 39 0 x ☿ -venus wasy 25 0 x ♀ -earth wasy 38 0 x ♁ -mars wasy 26 0 x ♂ -jupiter wasy 88 0 x ♃ -saturn wasy 89 0 x ♄ -uranus wasy 90 0 x ♅ -neptune wasy 91 0 x ♆ -pluto wasy 92 0 x ♇ +vernal wasy 23 0 x ♈ ♈ +ascnode wasy 19 0 x ☊ ☊ +descnode wasy 20 0 x ☋ ☋ +fullmoon wasy 35 0 x ˆ ○ +newmoon wasy 32 0 x ● ● +leftmoon wasy 36 0 x ☾ ☾ +rightmoon wasy 37 0 x ☽ ☽ +astrosun cmsy 175 0 mathbin ☉ ☉ wasysym +mercury wasy 39 0 x ☿ ☿ +venus wasy 25 0 x ♀ ♀ +earth wasy 38 0 x ♁ ♁ +mars wasy 26 0 x ♂ ♂ +jupiter wasy 88 0 x ♃ ♃ +saturn wasy 89 0 x ♄ ♄ +uranus wasy 90 0 x ♅ ♅ +neptune wasy 91 0 x ♆ ♆ +pluto wasy 92 0 x ♇ ♇ # # wasy zodiac # -aries wasy 23 0 x ♈ -taurus wasy 93 0 x ♉ -gemini wasy 94 0 x ♊ -cancer wasy 95 0 x ♋ -leo wasy 19 0 x ♌ -virgo wasy 96 0 x ♍ -libra wasy 97 0 x ♎ -scorpio wasy 98 0 x ♏ -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,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) +aries wasy 23 0 x ♈ ♈ +taurus wasy 93 0 x ♉ ♉ +gemini wasy 94 0 x ♊ ♊ +cancer wasy 95 0 x ♋ ♋ +leo wasy 19 0 x ♌ ♌ +virgo wasy 96 0 x ♍ ♍ +libra wasy 97 0 x ♎ ♎ +scorpio wasy 98 0 x ♏ ♏ +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,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 -APLbox wasy 126 0 x ⎕ -APLup wasy 0 0 x x -APLdown wasy 70 0 x x -APLinput wasy 125 0 x x -APLcomment wasy 127 0 x x +APLstar wasy 69 0 x x x +APLlog wasy 22 0 x ⍟ ⍟ +APLbox wasy 126 0 x ⎕ ⎕ +APLup wasy 0 0 x x x +APLdown wasy 70 0 x x x +APLinput wasy 125 0 x x x +APLcomment wasy 127 0 x x x \def\APLinv{\mathord{\div\kern-13.9mu\APLbox}} wasysym -APLuparrowbox wasy 110 0 x ⍐ -APLdownarrowbox wasy 111 0 x ⍗ -APLleftarrowbox wasy 112 0 x ⍇ -APLrightarrowbox wasy 113 0 x ⍈ +APLuparrowbox wasy 110 0 x ⍐ ⍐ +APLdownarrowbox wasy 111 0 x ⍗ ⍗ +APLleftarrowbox wasy 112 0 x ⍇ ⍇ +APLrightarrowbox wasy 113 0 x ⍈ ⍈ # math characters -Bowtie wasy 49 0 x ⋈ -leftturn wasy 34 0 x ⟲ -rightturn wasy 33 0 x ⟳ +Bowtie wasy 49 0 x ⋈ ⋈ +leftturn wasy 34 0 x ⟲ ⟲ +rightturn wasy 33 0 x ⟳ ⟳ # diagrams \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 +lyxgluonelement wasy 80 0 x x x hiddensymbol +lyxgluonbelement wasy 81 0 x x x hiddensymbol +lyxgluoneelement wasy 82 0 x x x hiddensymbol \def\gluon{\lyxgluonbelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluonelement\lyxgluoneelement} wasysym # special characters -cent wasy 103 0 x �A2; -permil wasy 104 0 x ‰ -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) +cent wasy 103 0 x �A2; �A2; +permil wasy 104 0 x ‰ ‰ +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 -#Box wasy 50 0 mathord □ wasysym # already in amsfonts -#Diamond wasy 51 0 mathord ⋄ wasysym # already in amsfonts -leadsto wasy 59 0 mathrel ⤳ -#sqsubset wasy 60 0 mathrel ⊏ wasysym # already in amsfonts -#sqsupset wasy 61 0 mathrel ⊐ wasysym # already in amsfonts -#lhd wasy 1 0 mathbin ◃ wasysym # already in amsfonts -#unlhd wasy 2 0 mathbin ⊴ wasysym # already in amsfonts -LHD wasy 16 0 mathbin ⱐ -#rhd wasy 3 0 mathbin ▹ wasysym # already in amsfonts -#unrhd wasy 4 0 mathbin ⊵ wasysym # already in amsfonts -RHD wasy 17 0 mathbin ▶ -apprle wasy 62 0 mathrel ≲ -apprge wasy 63 0 mathrel ≳ -wasypropto wasy 29 0 mathrel ∝ -invneg wasy 24 0 mathrel ⌐ -ocircle wasy 35 0 mathbin ⊚ -logof wasy 22 0 mathrel x -varint wasy 114 0 mathop ∫ -varoint wasy 117 0 mathop ∫ +#mho wasy 48 0 mathord ℧ ℧ wasysym # already in amsfonts +#Join wasy 49 0 mathrel ⋈ ⋈ wasysym # already in amsfonts +#Box wasy 50 0 mathord □ □ wasysym # already in amsfonts +#Diamond wasy 51 0 mathord ⋄ ⋄ wasysym # already in amsfonts +leadsto wasy 59 0 mathrel ⤳ ⤳ +#sqsubset wasy 60 0 mathrel ⊏ ⊏ wasysym # already in amsfonts +#sqsupset wasy 61 0 mathrel ⊐ ⊐ wasysym # already in amsfonts +#lhd wasy 1 0 mathbin ◃ ◃ wasysym # already in amsfonts +#unlhd wasy 2 0 mathbin ⊴ ⊴ wasysym # already in amsfonts +LHD wasy 16 0 mathbin ⱐ ⱐ +#rhd wasy 3 0 mathbin ▹ ▹ wasysym # already in amsfonts +#unrhd wasy 4 0 mathbin ⊵ ⊵ wasysym # already in amsfonts +RHD wasy 17 0 mathbin ▶ ▶ +apprle wasy 62 0 mathrel ≲ ≲ +apprge wasy 63 0 mathrel ≳ ≳ +wasypropto wasy 29 0 mathrel ∝ ∝ +invneg wasy 24 0 mathrel ⌐ ⌐ +ocircle wasy 35 0 mathbin ⊚ ⊚ +logof wasy 22 0 mathrel x x +varint wasy 114 0 mathop ∫ ∫ +varoint wasy 117 0 mathop ∫ ∫ # Generated from stmaryrd.sty -shortleftarrow stmry 0 0 mathrel x stmaryrd -shortrightarrow stmry 1 0 mathrel x stmaryrd -shortuparrow stmry 2 0 mathrel x stmaryrd -shortdownarrow stmry 3 0 mathrel x stmaryrd -Yup stmry 4 0 mathbin x stmaryrd -Ydown stmry 5 0 mathbin x stmaryrd -Yleft stmry 6 0 mathbin x stmaryrd -Yright stmry 7 0 mathbin x stmaryrd -varcurlyvee stmry 8 0 mathbin x stmaryrd +shortleftarrow stmry 0 0 mathrel x x stmaryrd +shortrightarrow stmry 1 0 mathrel x x stmaryrd +shortuparrow stmry 2 0 mathrel x x stmaryrd +shortdownarrow stmry 3 0 mathrel x x stmaryrd +Yup stmry 4 0 mathbin x x stmaryrd +Ydown stmry 5 0 mathbin x x stmaryrd +Yleft stmry 6 0 mathbin x x stmaryrd +Yright stmry 7 0 mathbin x x stmaryrd +varcurlyvee stmry 8 0 mathbin x x stmaryrd # qt4 does not display characters at the \t position (0x09) # therefore our .ttf font contains a copy at 170 (0xaa) -#varcurlywedge stmry 9 0 mathbin x stmaryrd +#varcurlywedge stmry 9 0 mathbin x x stmaryrd #10,12,13 codepoints broken in qt5 -varcurlywedge stmry 170 0 mathbin x stmaryrd -minuso stmry 171 0 mathbin x stmaryrd -baro stmry 11 0 mathbin x stmaryrd -sslash stmry 172 0 mathbin x stmaryrd +varcurlywedge stmry 170 0 mathbin x x stmaryrd +minuso stmry 171 0 mathbin x x stmaryrd +baro stmry 11 0 mathbin x x stmaryrd +sslash stmry 172 0 mathbin x x stmaryrd #for whatever reason qt5 refuses to display anything at position 173 -bbslash stmry 174 0 mathbin x stmaryrd -moo stmry 14 0 mathbin x stmaryrd -varotimes stmry 15 0 mathbin x stmaryrd -varoast stmry 16 0 mathbin x stmaryrd -varobar stmry 17 0 mathbin x stmaryrd -varodot stmry 18 0 mathbin x stmaryrd -varoslash stmry 19 0 mathbin x stmaryrd -varobslash stmry 20 0 mathbin x stmaryrd -varocircle stmry 21 0 mathbin x stmaryrd -varoplus stmry 22 0 mathbin x stmaryrd -varominus stmry 23 0 mathbin x stmaryrd -boxast stmry 24 0 mathbin x stmaryrd -boxbar stmry 25 0 mathbin x stmaryrd -#boxdot stmry 26 0 mathbin x stmaryrd # already in amssymb -boxslash stmry 27 0 mathbin x stmaryrd -boxbslash stmry 28 0 mathbin x stmaryrd -boxcircle stmry 29 0 mathbin x stmaryrd -boxbox stmry 30 0 mathbin x stmaryrd -boxempty stmry 31 0 mathbin x stmaryrd -#lightning stmry 32 0 mathord x stmaryrd # already in wasy +bbslash stmry 174 0 mathbin x x stmaryrd +moo stmry 14 0 mathbin x x stmaryrd +varotimes stmry 15 0 mathbin x x stmaryrd +varoast stmry 16 0 mathbin x x stmaryrd +varobar stmry 17 0 mathbin x x stmaryrd +varodot stmry 18 0 mathbin x x stmaryrd +varoslash stmry 19 0 mathbin x x stmaryrd +varobslash stmry 20 0 mathbin x x stmaryrd +varocircle stmry 21 0 mathbin x x stmaryrd +varoplus stmry 22 0 mathbin x x stmaryrd +varominus stmry 23 0 mathbin x x stmaryrd +boxast stmry 24 0 mathbin x x stmaryrd +boxbar stmry 25 0 mathbin x x stmaryrd +#boxdot stmry 26 0 mathbin x x stmaryrd # already in amssymb +boxslash stmry 27 0 mathbin x x stmaryrd +boxbslash stmry 28 0 mathbin x x stmaryrd +boxcircle stmry 29 0 mathbin x x stmaryrd +boxbox stmry 30 0 mathbin x x stmaryrd +boxempty stmry 31 0 mathbin x x stmaryrd +#lightning stmry 32 0 mathord x x stmaryrd # already in wasy merge stmry 33 0 mathbin x stmaryrd vartimes stmry 34 0 mathbin x stmaryrd fatsemi stmry 35 0 mathbin x stmaryrd -sswarrow stmry 36 0 mathrel x stmaryrd -ssearrow stmry 37 0 mathrel x stmaryrd -curlywedgeuparrow stmry 38 0 mathrel x stmaryrd -curlywedgedownarrow stmry 39 0 mathrel x stmaryrd -fatslash stmry 40 0 mathbin x stmaryrd -fatbslash stmry 41 0 mathbin x stmaryrd -lbag stmry 42 0 mathbin x stmaryrd -rbag stmry 43 0 mathbin x stmaryrd -varbigcirc stmry 44 0 mathbin x stmaryrd -leftrightarroweq stmry 45 0 mathrel x stmaryrd -curlyveedownarrow stmry 46 0 mathrel x stmaryrd -curlyveeuparrow stmry 47 0 mathrel x stmaryrd -nnwarrow stmry 48 0 mathrel x stmaryrd -nnearrow stmry 49 0 mathrel x stmaryrd -leftslice stmry 50 0 mathbin x stmaryrd -rightslice stmry 51 0 mathbin x stmaryrd -varolessthan stmry 52 0 mathbin x stmaryrd -varogreaterthan stmry 53 0 mathbin x stmaryrd -varovee stmry 54 0 mathbin x stmaryrd -varowedge stmry 55 0 mathbin x stmaryrd -talloblong stmry 56 0 mathbin x stmaryrd -interleave stmry 57 0 mathbin x stmaryrd -obar stmry 58 0 mathbin x stmaryrd -obslash stmry 59 0 mathbin x stmaryrd -olessthan stmry 60 0 mathbin x stmaryrd -ogreaterthan stmry 61 0 mathbin x stmaryrd -ovee stmry 62 0 mathbin x stmaryrd -owedge stmry 63 0 mathbin x stmaryrd -oblong stmry 64 0 mathbin x stmaryrd -inplus stmry 65 0 mathrel x stmaryrd -niplus stmry 66 0 mathrel x stmaryrd -nplus stmry 67 0 mathbin x stmaryrd -subsetplus stmry 68 0 mathrel x stmaryrd -supsetplus stmry 69 0 mathrel x stmaryrd -subsetpluseq stmry 70 0 mathrel x stmaryrd -supsetpluseq stmry 71 0 mathrel x stmaryrd -Lbag stmry 72 0 mathopen x stmaryrd -Rbag stmry 73 0 mathclose x stmaryrd -llbracket stmry 74 0 mathopen x stmaryrd -rrbracket stmry 75 0 mathclose x stmaryrd -llparenthesis stmry 76 0 mathopen x stmaryrd -rrparenthesis stmry 77 0 mathclose x stmaryrd -binampersand stmry 78 0 mathopen x stmaryrd -bindnasrepma stmry 79 0 mathclose x stmaryrd -trianglelefteqslant stmry 80 0 mathrel x stmaryrd -trianglerighteqslant stmry 81 0 mathrel x stmaryrd -ntrianglelefteqslant stmry 82 0 mathrel x stmaryrd -ntrianglerighteqslant stmry 83 0 mathrel x stmaryrd -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 -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 -leftrightarrowtriangle stmry 93 0 mathrel x stmaryrd -leftarrowtriangle stmry 94 0 mathrel x stmaryrd -rightarrowtriangle stmry 95 0 mathrel x stmaryrd -#bigtriangledown stmry 96 0 mathop x stmaryrd #already in cmsy -#bigtriangleup stmry 97 0 mathop x stmaryrd #already in cmsy -bigcurlyvee stmry 98 0 mathop x stmaryrd -bigcurlywedge stmry 99 0 mathop x stmaryrd -bigsqcap stmry 100 0 mathop x stmaryrd -bigbox stmry 101 0 mathop x stmaryrd -bigparallel stmry 102 0 mathop x stmaryrd -biginterleave stmry 103 0 mathop x stmaryrd -#hugetriangledown stmry 104 0 mathop x stmaryrd # only in the font, not the .sty -#hugetriangleup stmry 105 0 mathop x stmaryrd # only in the font, not the .sty -#hugecurlyvee stmry 106 0 mathop x stmaryrd # only in the font, not the .sty -#hugecurlywedge stmry 107 0 mathop x stmaryrd # only in the font, not the .sty -#hugesqcap stmry 108 0 mathop x stmaryrd # only in the font, not the .sty -#hugebox stmry 109 0 mathop x stmaryrd # only in the font, not the .sty -#hugeparallel stmry 110 0 mathop x stmaryrd # only in the font, not the .sty -#hugeinterleave stmry 111 0 mathop x stmaryrd # only in the font, not the .sty -bignplus stmry 112 0 mathop x stmaryrd # caution: named hugenplus in the font -#largellbracket stmry 113 0 mathopen x stmaryrd # only in the font, not the .sty -#Largellbracket stmry 114 0 mathopen x stmaryrd # only in the font, not the .sty -#LARGEllbracket stmry 115 0 mathopen x stmaryrd # only in the font, not the .sty -#hugellbracket stmry 116 0 mathopen x stmaryrd # only in the font, not the .sty -#Largellbrackettop stmry 117 0 mathopen x stmaryrd # only in the font, not the .sty -#Largellbracketbot stmry 118 0 mathopen x stmaryrd # only in the font, not the .sty caution: named Hugellbrackettop in the font -#llbracketex stmry 119 0 mathopen x stmaryrd # only in the font, not the .sty caution: named Hugellbracketbot in the font -#hugenplus stmry 120 0 mathop x stmaryrd # only in the font, not the .sty caution: named Hugenplus in the font -#largerrbracket stmry 121 0 mathclose x stmaryrd # only in the font, not the .sty -#Largerrbracket stmry 122 0 mathclose x stmaryrd # only in the font, not the .sty -#LARGErrbracket stmry 123 0 mathclose x stmaryrd # only in the font, not the .sty -#hugerrbracket stmry 124 0 mathclose x stmaryrd # only in the font, not the .sty -#Largerrbrackettop stmry 125 0 mathclose x stmaryrd # only in the font, not the .sty caution: named Hugerrbrackettop in the font -#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 +sswarrow stmry 36 0 mathrel x x stmaryrd +ssearrow stmry 37 0 mathrel x x stmaryrd +curlywedgeuparrow stmry 38 0 mathrel x x stmaryrd +curlywedgedownarrow stmry 39 0 mathrel x x stmaryrd +fatslash stmry 40 0 mathbin x x stmaryrd +fatbslash stmry 41 0 mathbin x x stmaryrd +lbag stmry 42 0 mathbin x x stmaryrd +rbag stmry 43 0 mathbin x x stmaryrd +varbigcirc stmry 44 0 mathbin x x stmaryrd +leftrightarroweq stmry 45 0 mathrel x x stmaryrd +curlyveedownarrow stmry 46 0 mathrel x x stmaryrd +curlyveeuparrow stmry 47 0 mathrel x x stmaryrd +nnwarrow stmry 48 0 mathrel x x stmaryrd +nnearrow stmry 49 0 mathrel x x stmaryrd +leftslice stmry 50 0 mathbin x x stmaryrd +rightslice stmry 51 0 mathbin x x stmaryrd +varolessthan stmry 52 0 mathbin x x stmaryrd +varogreaterthan stmry 53 0 mathbin x x stmaryrd +varovee stmry 54 0 mathbin x x stmaryrd +varowedge stmry 55 0 mathbin x x stmaryrd +talloblong stmry 56 0 mathbin x x stmaryrd +interleave stmry 57 0 mathbin x x stmaryrd +obar stmry 58 0 mathbin x x stmaryrd +obslash stmry 59 0 mathbin x x stmaryrd +olessthan stmry 60 0 mathbin x x stmaryrd +ogreaterthan stmry 61 0 mathbin x x stmaryrd +ovee stmry 62 0 mathbin x x stmaryrd +owedge stmry 63 0 mathbin x x stmaryrd +oblong stmry 64 0 mathbin x x stmaryrd +inplus stmry 65 0 mathrel x x stmaryrd +niplus stmry 66 0 mathrel x x stmaryrd +nplus stmry 67 0 mathbin x x stmaryrd +subsetplus stmry 68 0 mathrel x x stmaryrd +supsetplus stmry 69 0 mathrel x x stmaryrd +subsetpluseq stmry 70 0 mathrel x x stmaryrd +supsetpluseq stmry 71 0 mathrel x x stmaryrd +Lbag stmry 72 0 mathopen x x stmaryrd +Rbag stmry 73 0 mathclose x x stmaryrd +llbracket stmry 74 0 mathopen x x stmaryrd +rrbracket stmry 75 0 mathclose x x stmaryrd +llparenthesis stmry 76 0 mathopen x x stmaryrd +rrparenthesis stmry 77 0 mathclose x x stmaryrd +binampersand stmry 78 0 mathopen x x stmaryrd +bindnasrepma stmry 79 0 mathclose x x stmaryrd +trianglelefteqslant stmry 80 0 mathrel x x stmaryrd +trianglerighteqslant stmry 81 0 mathrel x x stmaryrd +ntrianglelefteqslant stmry 82 0 mathrel x x stmaryrd +ntrianglerighteqslant stmry 83 0 mathrel x x stmaryrd +llfloor stmry 84 0 mathopen x x stmaryrd +rrfloor stmry 85 0 mathclose x x stmaryrd +llceil stmry 86 0 mathopen x x stmaryrd +rrceil stmry 87 0 mathclose x x stmaryrd +lyxarrownot stmry 88 0 mathrel x x hiddensymbol #see arrownot defined below +lyxArrownot stmry 89 0 mathrel x x hiddensymbol #see Arrownot defined below +Mapstochar stmry 90 0 mathrel x x stmaryrd +mapsfromchar stmry 91 0 mathrel x x stmaryrd +Mapsfromchar stmry 92 0 mathrel x x stmaryrd +leftrightarrowtriangle stmry 93 0 mathrel x x stmaryrd +leftarrowtriangle stmry 94 0 mathrel x x stmaryrd +rightarrowtriangle stmry 95 0 mathrel x x stmaryrd +#bigtriangledown stmry 96 0 mathop x x stmaryrd #already in cmsy +#bigtriangleup stmry 97 0 mathop x x stmaryrd #already in cmsy +bigcurlyvee stmry 98 0 mathop x x stmaryrd +bigcurlywedge stmry 99 0 mathop x x stmaryrd +bigsqcap stmry 100 0 mathop x x stmaryrd +bigbox stmry 101 0 mathop x x stmaryrd +bigparallel stmry 102 0 mathop x x stmaryrd +biginterleave stmry 103 0 mathop x x stmaryrd +#hugetriangledown stmry 104 0 mathop x x stmaryrd # only in the font, not the .sty +#hugetriangleup stmry 105 0 mathop x x stmaryrd # only in the font, not the .sty +#hugecurlyvee stmry 106 0 mathop x x stmaryrd # only in the font, not the .sty +#hugecurlywedge stmry 107 0 mathop x x stmaryrd # only in the font, not the .sty +#hugesqcap stmry 108 0 mathop x x stmaryrd # only in the font, not the .sty +#hugebox stmry 109 0 mathop x x stmaryrd # only in the font, not the .sty +#hugeparallel stmry 110 0 mathop x x stmaryrd # only in the font, not the .sty +#hugeinterleave stmry 111 0 mathop x x stmaryrd # only in the font, not the .sty +bignplus stmry 112 0 mathop x x stmaryrd # caution: named hugenplus in the font +#largellbracket stmry 113 0 mathopen x x stmaryrd # only in the font, not the .sty +#Largellbracket stmry 114 0 mathopen x x stmaryrd # only in the font, not the .sty +#LARGEllbracket stmry 115 0 mathopen x x stmaryrd # only in the font, not the .sty +#hugellbracket stmry 116 0 mathopen x x stmaryrd # only in the font, not the .sty +#Largellbrackettop stmry 117 0 mathopen x x stmaryrd # only in the font, not the .sty +#Largellbracketbot stmry 118 0 mathopen x x stmaryrd # only in the font, not the .sty caution: named Hugellbrackettop in the font +#llbracketex stmry 119 0 mathopen x x stmaryrd # only in the font, not the .sty caution: named Hugellbracketbot in the font +#hugenplus stmry 120 0 mathop x x stmaryrd # only in the font, not the .sty caution: named Hugenplus in the font +#largerrbracket stmry 121 0 mathclose x x stmaryrd # only in the font, not the .sty +#Largerrbracket stmry 122 0 mathclose x x stmaryrd # only in the font, not the .sty +#LARGErrbracket stmry 123 0 mathclose x x stmaryrd # only in the font, not the .sty +#hugerrbracket stmry 124 0 mathclose x x stmaryrd # only in the font, not the .sty +#Largerrbrackettop stmry 125 0 mathclose x x stmaryrd # only in the font, not the .sty caution: named Hugerrbrackettop in the font +#Largerrbracketbot stmry 126 0 mathclose x x stmaryrd # only in the font, not the .sty caution: named Hugerrbracketbot in the font +#rrbracketex stmry 127 0 mathclose x x stmaryrd # only in the font, not the .sty caution: named Hugerrbracketex in the font \def\varcopyright{\mathord{c\kern-11mu\varbigcirc}} stmaryrd # kerning is slightly imperfect so that one sees when \[Aa]rrownot is selected @@ -1009,9 +1010,9 @@ bignplus stmry 112 0 mathop x stmaryrd # caution: named hugenpl # mhchem is not loaded because these commands can only be used inside # a \ce or a \cf inset -sbond cmsy 161 0 mathord x -dbond cmr 61 0 mathord x -tbond cmsy 180 186 mathord x +sbond cmsy 161 0 mathord x x +dbond cmr 61 0 mathord x x +tbond cmsy 180 186 mathord x x # From the esint package: # We emulate some symbols if the esint10 font is not available. @@ -1025,49 +1026,44 @@ 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|amsmath -intop esint 001 0 mathop ∫ esint -iint esint 003 0 mathop ∬ esint|amsmath -iintop esint 003 0 mathop ∬ esint -iiint esint 005 0 mathop ∭ esint|amsmath - -iiintop esint 005 0 mathop ∭ esint -iiiint esint 007 0 mathop ⨌ esint|amsmath - -iiiintop esint 007 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 +iiint esint 005 0 mathop ∭ ∭ esint|amsmath +iiintop esint 005 0 mathop ∭ ∭ esint +iiiint esint 007 0 mathop ⨌ ⨌ esint|amsmath +iiiintop esint 007 0 mathop ⨌ ⨌ esint #9 codepoint forbidden in qt4, 10,12,13 in qt5 -oint esint 043 0 mathop ∮ esint - -ointop esint 043 0 mathop ∮ esint -oiint esint 045 0 mathop ∯ esint -oiintop esint 045 0 mathop ∯ esint -sqint esint 015 0 mathop x esint -sqintop esint 015 0 mathop x esint +oint esint 043 0 mathop ∮ ∮ esint +ointop esint 043 0 mathop ∮ ∮ esint +oiint esint 045 0 mathop ∯ ∯ esint +oiintop esint 045 0 mathop ∯ ∯ esint +sqint esint 015 0 mathop ⨖ ⨖ esint +sqintop esint 015 0 mathop ⨖ ⨖ esint sqiint esint 017 0 mathop x esint sqiintop esint 017 0 mathop x esint -dotsint esint 041 0 mathop ∫⋯∫ esint -dotsintop esint 042 0 mathop ∫⋯∫ esint -ointctrclockwise esint 023 0 mathop ∳ esint -ointctrclockwiseop esint 023 0 mathop ∳ esint -ointclockwise esint 025 0 mathop ∲ esint -ointclockwiseop esint 025 0 mathop ∲ esint +dotsint esint 041 0 mathop ∫⋯∫ ∫⋯∫ esint +dotsintop esint 042 0 mathop ∫⋯∫ ∫⋯∫ esint +ointctrclockwise esint 023 0 mathop ∳ ∳ esint +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|amsmath -intop cmex 82 242 mathop ∫ esint -iint wasy 115 0 mathop ∬ esint|amsmath -iintop wasy 115 0 mathop &Int esint -iiint wasy 116 0 mathop ∭ esint|amsmath - -iiintop wasy 116 0 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 +iiint wasy 116 0 mathop ∭ ∭ esint|amsmath +iiintop wasy 116 0 mathop ∭ ∭ esint \def\iiiint{\int\kern-6mu\int\kern-6mu\int\kern-6mu\int} esint|amsmath \def\iiiintop{\int\kern-6mu\int\kern-6mu\int\kern-6mu\int} esint \def\dotsint{\int\kern-3mu\cdots\kern-3mu\int} esint \def\dotsintop{\int\kern-3mu\cdots\kern-3mu\int} esint -oint cmex 72 0 mathop ∮ esint - -ointop cmex 72 0 mathop ∮ esint -oiint wasy 118 0 mathop ∯ esint -oiintop wasy 118 0 mathop ∯ esint +oint cmex 72 0 mathop ∮ ∮ esint +ointop cmex 72 0 mathop ∮ ∮ esint +oiint wasy 118 0 mathop ∯ ∯ esint +oiintop wasy 118 0 mathop ∯ ∯ esint \def\sqint{\square\kern-17mu\int\kern6mu} esint \def\sqintop{\square\kern-17mu\int\kern6mu} esint \def\sqiint{\square\kern-20mu\iint\kern3mu} esint @@ -1078,90 +1074,90 @@ oiintop wasy 118 0 mathop ∯ esint \def\ointclockwiseop{\circlearrowright\kern-21mu\int\kern6mu} esint endif -varointclockwise esint 027 0 mathop ∲ esint -varointclockwiseop esint 027 0 mathop ∲ esint -varointctrclockwise esint 029 0 mathop ∳ esint -varointctrclockwiseop esint 029 0 mathop ∳ esint -fint esint 031 0 mathop ⨏ esint -fintop esint 031 0 mathop ⨏ esint -varoiint esint 033 0 mathop ∯ esint -varoiintop esint 033 0 mathop ∯ esint -landupint esint 035 0 mathop x esint -landupintop esint 035 0 mathop x esint -landdownint esint 037 0 mathop x esint -landdownintop esint 037 0 mathop x esint +varointclockwise esint 027 0 mathop ∲ ∲ esint +varointclockwiseop esint 027 0 mathop ∲ ∲ esint +varointctrclockwise esint 029 0 mathop ∳ ∳ esint +varointctrclockwiseop esint 029 0 mathop ∳ ∳ esint +fint esint 031 0 mathop ⨏ ⨏ esint +fintop esint 031 0 mathop ⨏ ⨏ esint +varoiint esint 033 0 mathop ∯ ∯ esint +varoiintop esint 033 0 mathop ∯ ∯ esint +landupint esint 035 0 mathop x x esint +landupintop esint 035 0 mathop x x esint +landdownint esint 037 0 mathop x x esint +landdownintop esint 037 0 mathop x x esint # From the amsmath package: \def\idotsint{\int\kern-3mu\cdots\kern-3mu\int} amsmath -log lyxblacktext 0 0 func x -lg lyxblacktext 0 0 func x -ln lyxblacktext 0 0 func x -lim lyxblacktext 0 0 funclim x -limsup lyxblacktext 0 0 funclim x -liminf lyxblacktext 0 0 funclim x -sin lyxblacktext 0 0 func x -arcsin lyxblacktext 0 0 func x -sinh lyxblacktext 0 0 func x -cos lyxblacktext 0 0 func x -arccos lyxblacktext 0 0 func x -cosh lyxblacktext 0 0 func x -tan lyxblacktext 0 0 func x -arctan lyxblacktext 0 0 func x -tanh lyxblacktext 0 0 func x -cot lyxblacktext 0 0 func x -coth lyxblacktext 0 0 func x -sec lyxblacktext 0 0 func x -csc lyxblacktext 0 0 func x -max lyxblacktext 0 0 funclim x -min lyxblacktext 0 0 funclim x -sup lyxblacktext 0 0 funclim x -inf lyxblacktext 0 0 funclim x -arg lyxblacktext 0 0 func x -ker lyxblacktext 0 0 func x -dim lyxblacktext 0 0 func x -hom lyxblacktext 0 0 func x -det lyxblacktext 0 0 funclim x -exp lyxblacktext 0 0 func x -Pr lyxblacktext 0 0 funclim x -gcd lyxblacktext 0 0 funclim x -deg lyxblacktext 0 0 func x -mod lyxblacktext 0 0 func x amsmath -bmod lyxblacktext 0 0 func x -pmod lyxblacktext 0 0 func x -pod lyxblacktext 0 0 func x amsmath +log lyxblacktext 0 0 func x x +lg lyxblacktext 0 0 func x x +ln lyxblacktext 0 0 func x x +lim lyxblacktext 0 0 funclim x x +limsup lyxblacktext 0 0 funclim x x +liminf lyxblacktext 0 0 funclim x x +sin lyxblacktext 0 0 func x x +arcsin lyxblacktext 0 0 func x x +sinh lyxblacktext 0 0 func x x +cos lyxblacktext 0 0 func x x +arccos lyxblacktext 0 0 func x x +cosh lyxblacktext 0 0 func x x +tan lyxblacktext 0 0 func x x +arctan lyxblacktext 0 0 func x x +tanh lyxblacktext 0 0 func x x +cot lyxblacktext 0 0 func x x +coth lyxblacktext 0 0 func x x +sec lyxblacktext 0 0 func x x +csc lyxblacktext 0 0 func x x +max lyxblacktext 0 0 funclim x x +min lyxblacktext 0 0 funclim x x +sup lyxblacktext 0 0 funclim x x +inf lyxblacktext 0 0 funclim x x +arg lyxblacktext 0 0 func x x +ker lyxblacktext 0 0 func x x +dim lyxblacktext 0 0 func x x +hom lyxblacktext 0 0 func x x +det lyxblacktext 0 0 funclim x x +exp lyxblacktext 0 0 func x x +Pr lyxblacktext 0 0 funclim x x +gcd lyxblacktext 0 0 funclim x x +deg lyxblacktext 0 0 func x x +mod lyxblacktext 0 0 func x x amsmath +bmod lyxblacktext 0 0 func x x +pmod lyxblacktext 0 0 func x x +pod lyxblacktext 0 0 func x x amsmath # mathtools.sty -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 +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\lnot{\neg} mathord ¬ -\def\notin{\not\in} mathrel ∉ +\def\leq{\le} mathrel ≤ ≤ +\def\geq{\ge} mathrel ≥ ≥ +\def\neq{\not=} mathrel ≠ ≠ +\def\ne{\not=} mathrel ≠ ≠ +\def\lnot{\neg} mathord ¬ ¬ +\def\notin{\not\in} mathrel ∉ ∉ \def\ddag{\ddagger} mathbin ‡ \def\dag{\dagger} mathbin † @@ -1169,58 +1165,58 @@ ordinarycolon cmr 58 58 mathrel : mathtools \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 ≐ +\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{\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 ⊨ +\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{=>} mathrel ⟹ amsmath -\def\impliedby{<=} mathrel ⟸ amsmath +\def\implies{=>} mathrel ⟹ ⟹ amsmath +\def\impliedby{<=} mathrel ⟸ ⟸ amsmath endif iffont cmm -\def\hookrightarrow{\lhook\joinrel\rightarrow} mathrel ↪ -\def\hookleftarrow{\leftarrow\joinrel\rhook} mathrel ↩ -\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} mathrel ⋈ +\def\hookrightarrow{\lhook\joinrel\rightarrow} mathrel ↪ ↪ +\def\hookleftarrow{\leftarrow\joinrel\rhook} mathrel ↩ ↩ +\def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} mathrel ⋈ ⋈ endif iffont msa -\def\dashrightarrow{\mathrel{\lyxdabar\lyxdabar\lyxright}} mathrel ⤏ amssymb -\def\dashleftarrow{\mathrel{\lyxleft\lyxdabar\lyxdabar}} mathrel ⤎ amssymb +\def\dashrightarrow{\mathrel{\lyxdabar\lyxdabar\lyxright}} mathrel ⤏ ⤏ amssymb +\def\dashleftarrow{\mathrel{\lyxleft\lyxdabar\lyxdabar}} mathrel ⤎ ⤎ amssymb else -\def\dashrightarrow{- - \rightarrow} mathrel ⤏ amssymb -\def\dashleftarrow{\leftarrow{} - -} mathrel ⤎ amssymb +\def\dashrightarrow{- - \rightarrow} mathrel ⤏ ⤏ amssymb +\def\dashleftarrow{\leftarrow{} - -} mathrel ⤎ ⤎ amssymb endif -\def\dasharrow{\dashrightarrow} mathrel ⤏ amssymb +\def\dasharrow{\dashrightarrow} mathrel ⤏ ⤏ amssymb iffont msb -\def\Join{\mathrel{\ltimes\kern-13.5mu\rtimes}} mathrel ⨝ amssymb +\def\Join{\mathrel{\ltimes\kern-13.5mu\rtimes}} mathrel ⨝ ⨝ amssymb else -\def\Join{|x|} mathrel ⨝ amssymb +\def\Join{|x|} mathrel ⨝ ⨝ amssymb endif -\def\AA{\AA}{\text{Å}} textmode Å amstext,lyxmathsym -\def\O{\O}{\text{Ø}} textmode Ø amstext,lyxmathsym +\def\AA{\AA}{\text{Å}} textmode Å Å amstext,lyxmathsym +\def\O{\O}{\text{Ø}} textmode Ø Ø amstext,lyxmathsym iffont cmsy # The \sim is placed too high... -\def\cong{\stackrel{\sim}{=}} mathrel ≅ -lyxsurd cmsy 112 0 mathord √ -\def\surd{^\lyxsurd} mathord √ +\def\cong{\stackrel{\sim}{=}} mathrel ≅ ≅ +lyxsurd cmsy 112 0 mathord √ √ +\def\surd{^\lyxsurd} mathord √ √ \def\textdegree{\text{°}} textmode ° 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 ≅ -surd lyxsymbol 214 0 mathord √ -textdegree lyxsymbol 176 0 mathord ° textcomp,amstext,lyxmathsym +cong lyxsymbol 64 0 mathrel ≅ ≅ +surd lyxsymbol 214 0 mathord √ √ +textdegree lyxsymbol 176 0 mathord ° ° textcomp,amstext,lyxmathsym endif #"{\hat{}} diff --git a/src/mathed/InsetMathBig.cpp b/src/mathed/InsetMathBig.cpp index 5e89d4e79c..aeb1ee5f8c 100644 --- a/src/mathed/InsetMathBig.cpp +++ b/src/mathed/InsetMathBig.cpp @@ -139,7 +139,7 @@ void InsetMathBig::mathmlize(MathStream & ms) const { ms << "<" << from_ascii(ms.namespacedTag("mo")) << " form='prefix' fence='true' stretchy='true' symmetric='true'>" - << convertDelimToXMLEscape(delim_) + << convertDelimToXMLEscape(delim_, ms.xmlMode()) << ""; } @@ -154,7 +154,7 @@ void InsetMathBig::htmlize(HtmlStream & os) const default: name = "big"; break; } os << MTag("span", "class='" + name + "symbol'") - << convertDelimToXMLEscape(delim_) + << convertDelimToXMLEscape(delim_, false) << ETag("span"); } diff --git a/src/mathed/InsetMathChar.cpp b/src/mathed/InsetMathChar.cpp index 7069bdcd5f..36bdeaa2ba 100644 --- a/src/mathed/InsetMathChar.cpp +++ b/src/mathed/InsetMathChar.cpp @@ -224,7 +224,10 @@ void InsetMathChar::mathmlize(MathStream & ms) const case '>': entity = ">"; break; case '&': entity = "&"; break; case ' ': { - ms << from_ascii(" "); + if (ms.xmlMode()) + ms << from_ascii(" "); + else + ms << from_ascii(" "); return; } default: break; diff --git a/src/mathed/InsetMathDecoration.cpp b/src/mathed/InsetMathDecoration.cpp index 685e65d81f..17a0a953c3 100644 --- a/src/mathed/InsetMathDecoration.cpp +++ b/src/mathed/InsetMathDecoration.cpp @@ -169,45 +169,46 @@ void InsetMathDecoration::infoize(odocstream & os) const namespace { struct Attributes { Attributes() : over(false) {} - Attributes(bool o, string const & t) - : over(o), tag(t) {} + Attributes(bool o, string const & t, string const & entity) + : over(o), tag(t), entity(entity) {} bool over; string tag; + string entity; }; typedef map TranslationMap; void buildTranslationMap(TranslationMap & t) { // the decorations we need to support are listed in lib/symbols - t["acute"] = Attributes(true, "´"); - t["bar"] = Attributes(true, "‾"); - t["breve"] = Attributes(true, "˘"); - t["check"] = Attributes(true, "ˇ"); - t["ddddot"] = Attributes(true, "⃜"); - t["dddot"] = Attributes(true, "⃛"); - t["ddot"] = Attributes(true, "¨"); - t["dot"] = Attributes(true, "˙"); - t["grave"] = Attributes(true, "`"); - t["hat"] = Attributes(true, "ˆ"); - t["mathring"] = Attributes(true, "˚"); - t["overbrace"] = Attributes(true, "⏞"); - t["overleftarrow"] = Attributes(true, "⟵"); - t["overleftrightarrow"] = Attributes(true, "⟷"); - t["overline"] = Attributes(true, "¯"); - t["overrightarrow"] = Attributes(true, "⟶"); - t["tilde"] = Attributes(true, "˜"); - t["underbar"] = Attributes(false, "_"); - t["underbrace"] = Attributes(false, "⏟"); - t["underleftarrow"] = Attributes(false, "⟵"); - t["underleftrightarrow"] = Attributes(false, "⟷"); + t["acute"] = Attributes(true, "´", "´"); + t["bar"] = Attributes(true, "‾", "¯"); + t["breve"] = Attributes(true, "˘", "˘"); + t["check"] = Attributes(true, "ˇ", "ˇ"); + t["ddddot"] = Attributes(true, "⃜", "⃜"); + t["dddot"] = Attributes(true, "⃛", "⃛"); + t["ddot"] = Attributes(true, "¨", "¨"); + t["dot"] = Attributes(true, "˙", "˙"); + t["grave"] = Attributes(true, "`", "`"); + t["hat"] = Attributes(true, "ˆ", "ˆ"); + t["mathring"] = Attributes(true, "˚", "˚"); + t["overbrace"] = Attributes(true, "⏞", "︷"); + t["overleftarrow"] = Attributes(true, "⟵", "⟵"); + t["overleftrightarrow"] = Attributes(true, "⟷", "⟷"); + t["overline"] = Attributes(true, "¯", "¯"); + t["overrightarrow"] = Attributes(true, "⟶", "⟶"); + t["tilde"] = Attributes(true, "˜", "˜"); + t["underbar"] = Attributes(false, "_", "̲"); + t["underbrace"] = Attributes(false, "⏟", "︸"); + t["underleftarrow"] = Attributes(false, "⟵", "⟵"); + t["underleftrightarrow"] = Attributes(false, "⟷", "⟷"); // this is the macron, again, but it works - t["underline"] = Attributes(false, "¯"); - t["underrightarrow"] = Attributes(false, "⟶"); - t["undertilde"] = Attributes(false, "∼"); - t["utilde"] = Attributes(false, "∼"); - t["vec"] = Attributes(true, "→"); - t["widehat"] = Attributes(true, "^"); - t["widetilde"] = Attributes(true, "∼"); + t["underline"] = Attributes(false, "¯", "¯"); + t["underrightarrow"] = Attributes(false, "⟶", "⟶"); + t["undertilde"] = Attributes(false, "∼", "∼"); + t["utilde"] = Attributes(false, "∼", "∼"); + t["vec"] = Attributes(true, "→", "→"); + t["widehat"] = Attributes(true, "^", "^"); + t["widetilde"] = Attributes(true, "∼", "∼"); } TranslationMap const & translationMap() { @@ -224,10 +225,11 @@ void InsetMathDecoration::mathmlize(MathStream & ms) const TranslationMap::const_iterator cur = t.find(to_utf8(key_->name)); LASSERT(cur != t.end(), return); char const * const outag = cur->second.over ? "mover" : "munder"; + std::string decoration = ms.xmlMode() ? cur->second.entity : cur->second.tag; ms << MTag(outag) << MTag("mrow") << cell(0) << ETag("mrow") << "<" << from_ascii(ms.namespacedTag("mo")) << " stretchy=\"true\">" - << from_ascii(cur->second.tag) + << from_ascii(decoration) << "" << ETag(outag); } diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp index 95b533b4c7..2b27960324 100644 --- a/src/mathed/InsetMathDelim.cpp +++ b/src/mathed/InsetMathDelim.cpp @@ -170,7 +170,7 @@ void InsetMathDelim::mathematica(MathematicaStream & os) const { if (isAbs()) { if (cell(0).size() == 1 && cell(0).front()->asMatrixInset()) - os << "Det" << cell(0) << ']'; + os << "Det[" << cell(0) << ']'; else os << "Abs[" << cell(0) << ']'; } @@ -183,7 +183,7 @@ void InsetMathDelim::mathmlize(MathStream & ms) const { ms << "<" << from_ascii(ms.namespacedTag("mo")) << " form='prefix' fence='true' stretchy='true' symmetric='true'>" << "<" << from_ascii(ms.namespacedTag("mrow")) << ">" - << convertDelimToXMLEscape(left_) + << convertDelimToXMLEscape(left_, ms.xmlMode()) << "" << "" << "\n" @@ -191,7 +191,7 @@ void InsetMathDelim::mathmlize(MathStream & ms) const << "\n" << "<" << from_ascii(ms.namespacedTag("mo")) << " form='postfix' fence='true' stretchy='true' symmetric='true'>" << "<" << from_ascii(ms.namespacedTag("mrow")) << ">" - << convertDelimToXMLEscape(right_) + << convertDelimToXMLEscape(right_, ms.xmlMode()) << "" << "" << "\n"; @@ -200,9 +200,9 @@ void InsetMathDelim::mathmlize(MathStream & ms) const void InsetMathDelim::htmlize(HtmlStream & os) const { - os << convertDelimToXMLEscape(left_) + os << convertDelimToXMLEscape(left_, false) << cell(0) - << convertDelimToXMLEscape(right_); + << convertDelimToXMLEscape(right_, false); } diff --git a/src/mathed/InsetMathDots.cpp b/src/mathed/InsetMathDots.cpp index 6ec3661837..f8e8e2397d 100644 --- a/src/mathed/InsetMathDots.cpp +++ b/src/mathed/InsetMathDots.cpp @@ -91,18 +91,31 @@ void InsetMathDots::mathmlize(MathStream & ms) const // lib/symbols as generating a dots inset docstring const & n = key_->name; std::string ent; - if (n == "dots" || n == "dotsc" || n == "dotso" || n == "ldots") - ent = "…"; - else if (n == "adots" || n == "iddots") - ent = "⋰"; - else if (n == "cdots" || n == "dotsb" || n == "dotsi" || n == "dotsm") - ent = "⋯"; - else if (n == "ddots") - ent = "⋱"; - else if (n == "vdots") - ent = "⋮"; - else - LASSERT(false, ent = "…"); + if (ms.xmlMode()) { + if (n == "dots" || n == "dotsc" || n == "dotso" || n == "ldots") + ent = "…"; + else if (n == "adots" || n == "iddots") + ent = "⋰"; + else if (n == "cdots" || n == "dotsb" || n == "dotsi" || n == "dotsm") + ent = "⋯"; + else if (n == "ddots") + ent = "⋱"; + else if (n == "vdots") + ent = "⋮"; + else LASSERT(false, ent = "…"); + } else { + if (n == "dots" || n == "dotsc" || n == "dotso" || n == "ldots") + ent = "…"; + else if (n == "adots" || n == "iddots") + ent = "⋰"; + else if (n == "cdots" || n == "dotsb" || n == "dotsi" || n == "dotsm") + ent = "⋯"; + else if (n == "ddots") + ent = "⋱"; + else if (n == "vdots") + ent = "⋮"; + else LASSERT(false, ent = "…"); + } ms << MTag("mi") << from_ascii(ent) << ETag("mi"); } diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp index 465ba6466b..ab8cf9f19a 100644 --- a/src/mathed/InsetMathHull.cpp +++ b/src/mathed/InsetMathHull.cpp @@ -2406,8 +2406,13 @@ int InsetMathHull::plaintext(odocstringstream & os, int InsetMathHull::docbook(odocstream & os, OutputParams const & runparams) const { - MathStream ms(os); + // With DocBook 5, MathML must be within its own namespace; defined in Buffer.cpp::writeDocBookSource as "m". + // Output everything in a separate stream so that this does not interfere with the standard flow of DocBook tags. + odocstringstream osmath; + MathStream ms(osmath, "m", true); int res = 0; + + // Choose the tag around the MathML equation. docstring name; if (getType() == hullSimple) name = from_ascii("inlineequation"); @@ -2415,8 +2420,12 @@ int InsetMathHull::docbook(odocstream & os, OutputParams const & runparams) cons name = from_ascii("informalequation"); docstring bname = name; - if (!label(0).empty()) - bname += " id='" + xml::cleanID(label(0)) + "'"; + for (row_type i = 0; i < nrows(); ++i) { + if (!label(i).empty()) { + bname += " xml:id=\"" + xml::cleanID(label(i)) + "\""; + break; + } + } ++ms.tab(); ms.cr(); ms.os() << '<' << bname << '>'; diff --git a/src/mathed/InsetMathMacro.cpp b/src/mathed/InsetMathMacro.cpp index 3cabf6a818..b536701d14 100644 --- a/src/mathed/InsetMathMacro.cpp +++ b/src/mathed/InsetMathMacro.cpp @@ -1181,7 +1181,7 @@ void InsetMathMacro::mathmlize(MathStream & ms) const // macro_ is 0 if this is an unknown macro LATTEST(d->macro_ || d->displayMode_ != DISPLAY_NORMAL); if (d->macro_) { - docstring const xmlname = d->macro_->xmlname(); + docstring const xmlname = (ms.xmlMode()) ? d->macro_->xmlname() : d->macro_->htmlname(); if (!xmlname.empty()) { char const * type = d->macro_->MathMLtype(); ms << "<" << from_ascii(ms.namespacedTag(type)) << ">" @@ -1203,7 +1203,7 @@ void InsetMathMacro::htmlize(HtmlStream & os) const // macro_ is 0 if this is an unknown macro LATTEST(d->macro_ || d->displayMode_ != DISPLAY_NORMAL); if (d->macro_) { - docstring const xmlname = d->macro_->xmlname(); + docstring const xmlname = d->macro_->htmlname(); if (!xmlname.empty()) { os << ' ' << xmlname << ' '; return; diff --git a/src/mathed/InsetMathMacroTemplate.h b/src/mathed/InsetMathMacroTemplate.h index da629fbe2b..7bdb6a5874 100644 --- a/src/mathed/InsetMathMacroTemplate.h +++ b/src/mathed/InsetMathMacroTemplate.h @@ -57,7 +57,6 @@ public: int plaintext(odocstringstream &, OutputParams const &, size_t) const; /// bool inheritFont() const { return false; } - /// docstring name() const; /// diff --git a/src/mathed/InsetMathMatrix.cpp b/src/mathed/InsetMathMatrix.cpp index a4999039e8..bd43581ce0 100644 --- a/src/mathed/InsetMathMatrix.cpp +++ b/src/mathed/InsetMathMatrix.cpp @@ -95,7 +95,7 @@ void InsetMathMatrix::mathematica(MathematicaStream & os) const void InsetMathMatrix::mathmlize(MathStream & ms) const { ms << "<" << from_ascii(ms.namespacedTag("mo")) << " form='prefix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>" - << convertDelimToXMLEscape(left_) + << convertDelimToXMLEscape(left_, ms.xmlMode()) << "" << MTag("mtable"); for (row_type row = 0; row < nrows(); ++row) { @@ -114,7 +114,7 @@ void InsetMathMatrix::mathmlize(MathStream & ms) const } ms << ETag("mtable") << "<" << from_ascii(ms.namespacedTag("mo")) << " form='postfix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>" - << convertDelimToXMLEscape(right_) + << convertDelimToXMLEscape(right_, ms.xmlMode()) << ""; } diff --git a/src/mathed/InsetMathSymbol.cpp b/src/mathed/InsetMathSymbol.cpp index 4a7a338fd7..8e98db747e 100644 --- a/src/mathed/InsetMathSymbol.cpp +++ b/src/mathed/InsetMathSymbol.cpp @@ -168,11 +168,13 @@ void InsetMathSymbol::mathmlize(MathStream & ms) const // with MathMLtype. docstring tag = from_ascii(ms.namespacedTag(sym_->MathMLtype())); ms << '<' << tag << ">"; - if (sym_->xmlname == "x") + if ((ms.xmlMode() && sym_->xmlname == "x") || (!ms.xmlMode() && sym_->htmlname == "x")) // unknown so far ms << name(); - else + else if (ms.xmlMode()) ms << sym_->xmlname; + else + ms << sym_->htmlname; ms << "'; } @@ -184,13 +186,13 @@ void InsetMathSymbol::htmlize(HtmlStream & os, bool spacing) const char const * type = sym_->MathMLtype(); bool op = (std::string(type) == "mo"); - if (sym_->xmlname == "x") + if (sym_->htmlname == "x") // unknown so far os << ' ' << name() << ' '; else if (op && spacing) - os << ' ' << sym_->xmlname << ' '; + os << ' ' << sym_->htmlname << ' '; else - os << sym_->xmlname; + os << sym_->htmlname; } diff --git a/src/mathed/MacroTable.cpp b/src/mathed/MacroTable.cpp index af97405949..2a4899a258 100644 --- a/src/mathed/MacroTable.cpp +++ b/src/mathed/MacroTable.cpp @@ -126,6 +126,14 @@ bool MacroData::hidden() const } +docstring const MacroData::htmlname() const +{ + if (sym_) + return sym_->htmlname; + return docstring(); +} + + docstring const MacroData::xmlname() const { if (sym_) diff --git a/src/mathed/MacroTable.h b/src/mathed/MacroTable.h index 9690182976..acc4004109 100644 --- a/src/mathed/MacroTable.h +++ b/src/mathed/MacroTable.h @@ -64,6 +64,8 @@ public: /// bool hidden() const; /// + docstring const htmlname() const; + /// docstring const xmlname() const; /// char const * MathMLtype() const; diff --git a/src/mathed/MathFactory.cpp b/src/mathed/MathFactory.cpp index 16889f5a4e..f50f7ef9bd 100644 --- a/src/mathed/MathFactory.cpp +++ b/src/mathed/MathFactory.cpp @@ -186,23 +186,23 @@ void initSymbols() // or // \def\macroname{definition} requires // or - // \def\macroname{definition} extra xmlname requires + // \def\macroname{definition} extra htmlname requires istringstream is(line); string macro; string required; string extra; - string xmlname; + string htmlname; bool hidden = false; is >> setw(65536) >> macro >> required; - if ((is >> xmlname)) { + if ((is >> htmlname)) { extra = required; if (!(is >> required)) required = ""; } else - xmlname = ""; + htmlname = ""; MacroTable::iterator it = MacroTable::globalMacros().insert( 0, from_utf8(macro)); - if (!extra.empty() || !xmlname.empty() || !required.empty()) { + if (!extra.empty() || !htmlname.empty() || !required.empty()) { MathWordList::iterator wit = theMathWordList.find(it->first); if (wit != theMathWordList.end()) LYXERR(Debug::MATHED, "readSymbols: inset " @@ -212,7 +212,7 @@ void initSymbols() tmp.inset = "macro"; tmp.name = it->first; tmp.extra = from_utf8(extra); - tmp.xmlname = from_utf8(xmlname); + tmp.htmlname = from_utf8(htmlname); if (required == "hiddensymbol") { required = ""; tmp.hidden = hidden = true; @@ -226,10 +226,10 @@ void initSymbols() // If you change the following output, please adjust // development/tools/generate_symbols_images.py. LYXERR(Debug::MATHED, "read symbol '" << to_utf8(it->first) - << " inset: macro" - << " draw: 0" - << " extra: " << extra - << " xml: " << xmlname + << " inset: macro" + << " draw: 0" + << " extra: " << extra + << " html: " << htmlname << " requires: " << required << " hidden: " << hidden << '\''); continue; @@ -241,7 +241,7 @@ void initSymbols() is >> tmp.name >> help; tmp.inset = to_ascii(help); if (isFontName(tmp.inset)) - is >> charid >> fallbackid >> tmp.extra >> tmp.xmlname; + is >> charid >> fallbackid >> tmp.extra >> tmp.htmlname >> tmp.xmlname; else is >> tmp.extra; // requires is optional @@ -327,6 +327,7 @@ void initSymbols() << " inset: " << tmp.inset << " draw: " << int(tmp.draw.empty() ? 0 : tmp.draw[0]) << " extra: " << to_utf8(tmp.extra) + << " html: " << to_utf8(tmp.htmlname) << " xml: " << to_utf8(tmp.xmlname) << " requires: " << tmp.required << " hidden: " << tmp.hidden << '\''); diff --git a/src/mathed/MathParser.h b/src/mathed/MathParser.h index cd0f2b9f59..24e6c22b5c 100644 --- a/src/mathed/MathParser.h +++ b/src/mathed/MathParser.h @@ -54,6 +54,8 @@ public: docstring draw; /// operator/..., fontname e docstring extra; + /// how is this called as HTML entity in MathML? + docstring htmlname; /// how is this called as XML entity in MathML? docstring xmlname; /// required LaTeXFeatures diff --git a/src/mathed/MathStream.cpp b/src/mathed/MathStream.cpp index 6cf1a99d39..7d355f77b5 100644 --- a/src/mathed/MathStream.cpp +++ b/src/mathed/MathStream.cpp @@ -269,8 +269,8 @@ WriteStream & operator<<(WriteStream & ws, unsigned int i) ////////////////////////////////////////////////////////////////////// -MathStream::MathStream(odocstream & os, std::string xmlns) - : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns) +MathStream::MathStream(odocstream & os, std::string xmlns, bool xmlMode) + : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns), xml_mode_(xmlMode) {} @@ -709,8 +709,9 @@ OctaveStream & operator<<(OctaveStream & os, string const & s) } -docstring convertDelimToXMLEscape(docstring const & name) +docstring convertDelimToXMLEscape(docstring const & name, bool xmlmode) { + // For the basic symbols, no difference between XML and HTML. if (name.size() == 1) { char_type const c = name[0]; if (c == '<') @@ -729,7 +730,8 @@ docstring convertDelimToXMLEscape(docstring const & name) MathWordList const & words = mathedWordList(); MathWordList::const_iterator it = words.find(name); if (it != words.end()) { - docstring const escape = it->second.xmlname; + // Only difference between XML and HTML, based on the contents read by MathFactory. + docstring const escape = xmlmode ? it->second.xmlname : it->second.htmlname; return escape; } LYXERR0("Unable to find `" << name <<"' in the mathWordList."); diff --git a/src/mathed/MathStream.h b/src/mathed/MathStream.h index f6f6e7525d..bf3deb921d 100644 --- a/src/mathed/MathStream.h +++ b/src/mathed/MathStream.h @@ -340,7 +340,7 @@ class MathExportException : public std::exception {}; class MathStream { public: /// Builds a stream proxy for os; the MathML namespace is given by xmlns (supposed to be already defined elsewhere in the document). - explicit MathStream(odocstream & os, std::string xmlns=""); + explicit MathStream(odocstream & os, std::string xmlns="", bool xmlMode=false); /// void cr(); /// @@ -361,6 +361,8 @@ public: bool inText() const { return in_text_; } /// std::string xmlns() const { return xmlns_; } + /// + bool xmlMode() const { return xml_mode_; } /// Returns the tag name prefixed by the name space if needed. std::string namespacedTag(std::string tag) const { return ((xmlns().empty()) ? "" : xmlns() + ":") + tag; } private: @@ -379,6 +381,8 @@ private: /// std::string xmlns_; /// + bool xml_mode_; + /// friend class SetMode; }; @@ -646,7 +650,7 @@ OctaveStream & operator<<(OctaveStream &, char); OctaveStream & operator<<(OctaveStream &, int); -docstring convertDelimToXMLEscape(docstring const & name); +docstring convertDelimToXMLEscape(docstring const & name, bool xmlmode); } // namespace lyx