Go to page:

Search:   Help



LyX documentation


Shared groups



Categories: Change Tracking
<< | Page list | >>

Change tracking for LyX 1.3

John Levon, Johnathan Burchill, Jane McKean

July 2005

Change tracking is not yet included in any official version of LyX. However, John Levon's original patch has been adapted to subsequent LyX releases by Johnathan Burchill and by Jane McKean's team of engineers at PathScale, Inc. If you decide to use this patch then you can be assured that your LyX files will be understood by future versions of LyX (notably version 1.4.0) which will support change tracking "out of the box".

This feature, similar to that found in Microsoft Word and others, makes collaboration on a document a cinch. It provides a way to track changes made to a document, and later approve, reject, or modify such changes. To freeze a document for change tracking, use the Edit→Change Tracking menu:

When enabled, any edits made to a document are tracked. Deleted text is marked in red and struck through, whilst added text is marked in blue; in addition a changebar is added to the margin. With the dvipost software installed, such marks can even be exported to PostScript and PDF (the latter, however, only with ps2pdf and dvipdfm; pdflatex does not work).

Send a change-tracked document off for review to a colleague, and let them make changes - when you receive it back, you can use the Merge Changes dialog to review his changes.

Once all marked changes have been processed, change tracking can be disabled again to allow normal editing.

Some more screenshots

Editing a documentPostscript output


Johnathan Burchill, who ported John Levon's original LyX 1.3cvs ct code to LyX 1.3.2 (providing an interface for the Qt frontend at the same time), had this warning about the patch:

Note: This patch may make your LyX unusable. In particular, I have managed to make LyX crash at will by cut-and-pasting "changed text" that contains an inset. Solution? Don't cut-and-paste "changed text" that contains an inset. I don't care to spend the time right now to track down the problem. At any rate, no data was lost. This patch comes with absolutely no warranty. Use it at your own risk!.

Change bars with LyX 1.3.6

With the help of engineering here at PathScale, Jane McKean has put together a patch for using change bars with 1.3.6. Here's a description of the patch:

This is an updated version of John Levon's change tracking patch, supporting LyX 1.3.6. Changes from the previous version include removal of #pragmas to match the rest of the LyX source base and a few bug fixes.

The most important fix is to the author name and email entries. Previously, LyX would use the GECOS information without modification, which causes a problem in many environments in which values like the user's phone number and office number were included as a comma-separated list. Now we only use the text leading up to the first comma. Furthermore, the previous version would attempt to write a user_email value into the user's lyxrc, whether or not such a value existed. In the case in which it did not exist, undefined behavior would occur.

This change is important because it may change a user's author information. This could result in an additional author entry being created, which could cause confusion. To fix this, change the "\author" entry in *.lyx to match the new author name, or change user_name and user_email in .lyxrc to match the previous "\author" entry.

Grab the patch against LyX 1.3.6 as either a bzip2 compressed archive or as a text file.

John Levon's page on his change tracking patch can be found here: http://www.lyx.org/devel/changetracking.php

It requires Erich Früstück's "dvipost" package, which can be found here: http://freshmeat.net/projects/dvipost/

Jane McKean 28 July 2005

Applying the patch

To apply the patch, cd to the LyX source directory and

  $ bzip2 -d lyx-1.3.6-changebars.diff.bz2
  $ patch -p1 < lyx-1.3.6-change_tracking.diff

Then go ahead with the regular build procedure:

  $ configure -with-frontend=qt
  $ make

Further Caveat

If your document uses the doublespace.sty package, you need to change it to use the setspace.sty package, due to a conflict with color.sty. It took me a large fraction of a weekend to figure that one out! By the way, using setspace.sty shaved 5 pages off my 200-page thesis. Very nice. /Johnathan Burchill

If you don't see your changes in the pdf-output file when you use RevTeX 4, try using the preprint option or a single column layout. /Kurt P

Related links

Also see this link about ldiff that Dekel gave a tip about. /Christian

Merging back into the LyX 1.3.x tree?

Would anybody care to merge this patch (when it supposedly supports both Qt and xforms) to the trunk? /Matěj Cepl

That will presumably not happen. The 1.3.x series will only get bug fixes, no new features (and certainly no file format change, which is necessary for change tracking). However, 1.4 will ship with change tracking /Jürgen Spitzmüller.

Marking floats as deleted/inserted

Based on the suggestion in bug 1756, here is an example of how floats could be marked deleted or inserted using change tracking. This example was created by adding two new float styles to the float package. Any suggestions? /JKBurchill 20050301

Downgrading 1.4 files to 1.3 files with change tracking enabled

Starting from release 1.3.6, LyX is able to read an edit files generated with LyX 1.4. The conversion process implies that some of those 1.4 features not available in 1.3 will either be removed or reproduced with the help of LaTeX (ERT).

Since change tracking is not officially supported in LyX 1.3 it is, by default, removed when downgrading a file created with LyX 1.4. If you want to retain the change tracking, you should remove these calls from the bottom of lyx2lyx/lyx_1_4.py:

rm_tracking_changes, rm_body_changes

Upgrading from 1.3 to 1.4 will work out of the box. /JAMatos 20050715

Change Tracking

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2011-04-15 18:12 CEST