]> git.lyx.org Git - features.git/commitdiff
Handle \not using a macro
authorDekel Tsur <dekelts@tau.ac.il>
Mon, 21 Oct 2002 13:38:02 +0000 (13:38 +0000)
committerDekel Tsur <dekelts@tau.ac.il>
Mon, 21 Oct 2002 13:38:02 +0000 (13:38 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5458 a592a061-630c-0410-9148-cb99ea01b6c8

lib/ChangeLog
lib/symbols
src/mathed/ChangeLog
src/mathed/math_factory.C
src/mathed/math_symbolinset.C

index 8a193deae0cc678e1c202fba29dcca4d854553dc..dc6c790400725bbbcd90a2ae87a8a0765b3b77cf 100644 (file)
@@ -1,3 +1,7 @@
+2002-10-21  Dekel Tsur  <dekelts@tau.ac.il>
+
+       * symbols: Handle \not using a macro.
+
 2002-10-21  Martin Vermeer  <martin.vermeer@hut.fi>
 
        * layouts/foils.layout: add more layouts
index 655b581a23fe00fd2fb93da982070ed3db042b20..01ff8611fb786080205c47b74b7a9652a9ae3e58 100644 (file)
@@ -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
index f848dceab8567a7a4b25ad202347488472878ae4..80ce9105c183459cf2240ca9b993e86c0ca449a4 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-21  Dekel Tsur  <dekelts@tau.ac.il>
+
+       * math_factory.C (initSymbols): Support "else" token.
+
+       * math_symbolinset.C (metrics): Remove special case for \not.
+
 2002-10-18  Angus Leeming  <leeming@lyx.org>
 
        * formula.C (latexString): Revert yesterday's change. It's going to
index b20512e2fc942d895fd0c31ae10f79622d3639d7..c6bd7ae99767dbcad2a9c77c270b049d392784d5 100644 (file)
@@ -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)
index 36f6fcf88ccafe98f5ebe4a3e1f534e4cad184c5..c8f7e061901e67ccc4bc05f0783435645a6a4d7d 100644 (file)
@@ -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<int>(0.5*em+0.5);
        else
                dim_.w += static_cast<int>(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<int>(0.25*em+0.5);
        else