diff --git a/lib/ChangeLog b/lib/ChangeLog index 8a193deae0..dc6c790400 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2002-10-21 Dekel Tsur + + * symbols: Handle \not using a macro. + 2002-10-21 Martin Vermeer * layouts/foils.layout: add more layouts diff --git a/lib/symbols b/lib/symbols index 655b581a23..01ff8611fb 100644 --- a/lib/symbols +++ b/lib/symbols @@ -196,8 +196,13 @@ clubsuit cmsy 124 167 mathord x diamondsuit cmsy 125 168 mathord x heartsuit cmsy 126 169 mathord x spadesuit cmsy 127 170 mathord x -# We define \not as mathrel in order to align it properly -not cmsy 54 0 mathrel x +# We define lyxnot as mathrel in order to have proper alignment +lyxnot cmsy 54 47 mathrel x +iffont cmsy +\def\not{\lyxnot\kern-12mu} +else +\def\not{\lyxnot\kern-20mu} +endif coprod cmex 96 0 mathop x bigvee cmex 87 0 mathop x bigwedge cmex 86 0 mathop x @@ -779,20 +784,20 @@ iffont cmsy \def\mapsto{\mapstochar\kern-12mu\rightarrow} \def\longmapsto{\mapstochar\kern-9mu\lyxbar\kern-11mu\rightarrow} \def\models{\vert\kern-7.5mu\lyxeq} -end +endif iffont cmm \def\hookrightarrow{\lhook\kern-13mu\rightarrow} \def\hookleftarrow{\leftarrow\kern-13mu\rhook} \def\bowtie{\triangleright\kern-6mu\triangleleft} -end +endif iffont msa \def\dashrightarrow{\lyxdabar\lyxdabar\lyxright} \def\dashleftarrow{\lyxleft\lyxdabar\lyxdabar} \def\dasharrow{\dashrightarrow} -end +endif iffont msb \def\Join{\ltimes\kern-12mu\rtimes} -end +endif \def\mathcircumflex{\mbox{\^{}}} neq lyxsymbol 185 0 mathrel x diff --git a/src/mathed/ChangeLog b/src/mathed/ChangeLog index f848dceab8..80ce9105c1 100644 --- a/src/mathed/ChangeLog +++ b/src/mathed/ChangeLog @@ -1,3 +1,9 @@ +2002-10-21 Dekel Tsur + + * math_factory.C (initSymbols): Support "else" token. + + * math_symbolinset.C (metrics): Remove special case for \not. + 2002-10-18 Angus Leeming * formula.C (latexString): Revert yesterday's change. It's going to diff --git a/src/mathed/math_factory.C b/src/mathed/math_factory.C index b20512e2fc..c6bd7ae997 100644 --- a/src/mathed/math_factory.C +++ b/src/mathed/math_factory.C @@ -109,7 +109,9 @@ void initSymbols() is >> tmp; skip = !math_font_available(tmp); continue; - } else if (line.size() >= 3 && line.substr(0, 3) == "end") { + } else if (line.size() >= 4 && line.substr(0, 4) == "else") { + skip = !skip; + } else if (line.size() >= 5 && line.substr(0, 5) == "endif") { skip = false; continue; } else if (skip) diff --git a/src/mathed/math_symbolinset.C b/src/mathed/math_symbolinset.C index 36f6fcf88c..c8f7e06190 100644 --- a/src/mathed/math_symbolinset.C +++ b/src/mathed/math_symbolinset.C @@ -57,12 +57,8 @@ void MathSymbolInset::metrics(MathMetricsInfo & mi) const dim_.d -= h_; } // seperate things a bit - int em = mathed_char_width(mi.base.font, 'M'); - if (name() == "not") - // \not is a special case. - // It must have 0 width to align properly with the next symbol. - dim_.w = 0; - else if (isRelOp()) + int const em = mathed_char_width(mi.base.font, 'M'); + if (isRelOp()) dim_.w += static_cast(0.5*em+0.5); else dim_.w += static_cast(0.15*em+0.5); @@ -80,9 +76,7 @@ void MathSymbolInset::draw(MathPainterInfo & pi, int x, int y) const // << "' in font: '" << sym_->inset // << "' drawn as: '" << sym_->draw // << "'\n"; - int em = mathed_char_width(pi.base.font, 'M'); - // Here we don't need a special case for \not, as it needs the same - // increase in x as the next symbol. + int const em = mathed_char_width(pi.base.font, 'M'); if (isRelOp()) x += static_cast(0.25*em+0.5); else