]> git.lyx.org Git - lyx.git/blobdiff - src/Changes.cpp
Track change of label name
[lyx.git] / src / Changes.cpp
index f7167a2ba9efb3158077976c3ed6e28ee3502398..ed9205d530fd3a76b3d52258f1b2ebffc90e4b7c 100644 (file)
@@ -434,9 +434,11 @@ int Changes::latexMarkChange(otexstream & os, BufferParams const & bparams,
                         || runparams.flavor == OutputParams::DVILUATEX);
 
        if (oldChange.type != Change::UNCHANGED) {
-               // close \lyxadded or \lyxdeleted
-               os << '}';
-               column++;
+               if (oldChange.type != Change::DELETED || runparams.ctObject != OutputParams::CT_OMITOBJECT) {
+                       // close \lyxadded or \lyxdeleted
+                       os << '}';
+                       column++;
+               }
                if (oldChange.type == Change::DELETED
                    && !runparams.wasDisplayMath && !dvipost)
                        --runparams.inulemcmd;
@@ -449,9 +451,19 @@ int Changes::latexMarkChange(otexstream & os, BufferParams const & bparams,
 
        docstring macro_beg;
        if (change.type == Change::DELETED) {
-               macro_beg = from_ascii("\\lyxdeleted");
-               if (!runparams.inDisplayMath && !dvipost)
-                       ++runparams.inulemcmd;
+               if (runparams.ctObject == OutputParams::CT_OMITOBJECT)
+                       return 0;
+               else if (runparams.ctObject == OutputParams::CT_OBJECT)
+                       macro_beg = from_ascii("\\lyxobjdeleted");
+               else if (runparams.ctObject == OutputParams::CT_DISPLAYOBJECT)
+                       macro_beg = from_ascii("\\lyxdisplayobjdeleted");
+               else if (runparams.ctObject == OutputParams::CT_UDISPLAYOBJECT)
+                       macro_beg = from_ascii("\\lyxudisplayobjdeleted");
+               else {
+                       macro_beg = from_ascii("\\lyxdeleted");
+                       if (!runparams.inDisplayMath && !dvipost)
+                               ++runparams.inulemcmd;
+               }
        }
        else if (change.type == Change::INSERTED)
                macro_beg = from_ascii("\\lyxadded");
@@ -460,15 +472,6 @@ int Changes::latexMarkChange(otexstream & os, BufferParams const & bparams,
                                       bparams.authors().get(change.author),
                                       chgTime, runparams);
 
-       // signature needed by \lyxsout to correctly strike out display math
-       if (change.type == Change::DELETED && runparams.inDisplayMath
-           && !dvipost) {
-               if (os.blankLine())
-                       str += from_ascii("\\\\\\noindent\n");
-               else
-                       str += from_ascii("\\\\\\\\\n");
-       }
-
        os << str;
        column += str.size();