Text Editors. Suggesting & Tracking Changes to Plain-Text Documents
Many word processors are capable to tracking and displaying changes made to a document. Those changes are typically displayed in special markup supported by the editor. E.g.
But when using a plain text editor (like Microsoft's Notepad), is there a useful markup technique that editors can use to suggest changes, without losing any of the original text?
The earliest/simplest I had known and the one that survives to-date with enough support is the classic was: -- (it's alr …
3y ago
This is a good question. Unfortunately, outside of the programming realm, there's no system for tracking changes at the …
3y ago
I kind of doubt that there is a standard for it, at least. You might get away with using some marker that isn't used any …
12y ago
I've never used Notepad, but can it create PDFs? Or at least print to PDF? Because Acrobat Pro has a dandy set of marku …
12y ago
If it is about text changes, I'd use diff files (in particular the “unified diff” format which also many version control …
3y ago
This post was sourced from https://writers.stackexchange.com/q/6864. It is licensed under CC BY-SA 3.0.
5 answers
I've never used Notepad, but can it create PDFs? Or at least print to PDF?
Because Acrobat Pro has a dandy set of markup tools which I use all the time for proofreading emails:
- Highlights
- Sticky notes
- Callouts (with arrows, lines, squares, circles, clouds, text cross-outs, polygon)
- I think there's even a freehand pencil tool.
0 comment threads
I kind of doubt that there is a standard for it, at least. You might get away with using some marker that isn't used anywhere else, like ###
, to indicate a changed passage, but I'm not sure if that really qualifies as markup. In any case, it would have to be an agreement between the people involved which marker(s) to use and what they mean. Something like this:
Tracked changes look like ###this[WAS: these]###.
That said, depending on the technical inclination of the author(s) and editor(s), you might get away with something like setting up a GitHub account and uploading the text file there. Source control systems tend to be somewhat more geared toward programmers, but they solve your problem quite nicely: they allow multiple persons to work on a single text file (even simultaneously), tracking changes over time, displaying the differences between arbitrary versions, going back and forward between versions, and selectively rolling back any changes made.
It may take a little getting used to for someone who isn't technically inclined, but if you are serious about doing this with only plain text files, it's a reasonably easy way forward once you get over the initial learning curve. And for writing, there's likely no need to deal with the more complex issues such as branching/merging and such; a linear history will likely work well enough.
0 comment threads
This is a good question. Unfortunately, outside of the programming realm, there's no system for tracking changes at the character level that I'm aware of. (If there is one, I'd love to know about it!) I suspect there are many, many such systems that have been cobbled together by individuals, however.
This comes up often when blogging: Do we use Word files with their awesome change tracking features and then deal with all the garbage they produce before posting (possibly introducing errors)? Or do we work in plain text from the start, cobbling together some sort of change system like the one suggested in a previous answer?
If you absolutely need something like this, I recommend using marks that are catch the eye. [[[triple brackets]]] or ***lots of asterisks*** or ###other such signs###. (If you're working on source code or HTML, this could cause problems later. And, as you can see, sometimes lots of asterisks render as bold-italic text, indicating yet another problem.)
Rather than embedding changes in the text itself, is it possible you could simply use versioning and the name of the person? For example, SampleFile_EditorNF_v1.0.1.txt may have meaning if you and your colleagues have agreed on a system. You could then use the compare revisions of a robust editor (such as BBEdit) to compare versions and see the changes.
Another option is to use commenting to describe the changes.
0 comment threads
The earliest/simplest I had known and the one that survives to-date with enough support is the classic was: -- (it's already been mentioned in the passing in a previous answer).
I do not know much beyond the near-horizon (spatially and temporally) what people did or are doing, but I still use it in config files and the sort.
PDL_NAME=devNAME
UninstallLevel=1
PST_DEL=OFF
AUTHORITYCHECK=ON
CheckJobMonitor=ON [was: OFF]
DelRestoreFile=OFF
Suggested changes similarly are indicated by a "query":
PDL_NAME=devNAME [? portNAME]
UninstallLevel=1
PST_DEL=OFF
AUTHORITYCHECK=ON
CheckJobMonitor=ON
DelRestoreFile=OFF
This post was sourced from https://writers.stackexchange.com/a/6889. It is licensed under CC BY-SA 3.0.
0 comment threads
If it is about text changes, I'd use diff files (in particular the “unified diff” format which also many version control systems use), with a caveat mentioned below. You can create the diff file by keeping the unedited file besides the edited file, and then use the diff
utility, redirecting the output to another file.
Note however that diff
works line oriented; therefore it doesn't deal well with reflowing text.
As an example, consider the following text in old.txt:
This is sample text.
This exists purely for demonstration issues.
In particular, for demonstration of diff.
It has no other purpose.
This file has 6 lines.
This is the last line.
And the edited text in new.txt reads:
This is some sample text.
Which has been changed.
This exists purely for demonstration issues.
It has no other purpose.
This file has 6 lines.
This is the last line.
Then diff -u old.txt new.txt
gives
--- old.txt 2021-05-21 07:14:11.805978537 +0200
+++ new.txt 2021-05-21 07:16:07.073068543 +0200
@@ -1,6 +1,6 @@
-This is sample text.
+This is some sample text.
+Which has been changed.
This exists purely for demonstration issues.
-In particular, for demonstration of diff.
It has no other purpose.
This file has 6 lines.
This is the last line.
This in my opinion makes it easy to track changes.
However, it doesn't work well with reflow. Imagine you've reflowed the text before making a single change, like this:
This is sample text. This exists purely for demonstration issues. In
particular, for demonstration of diff. It has no other purpose. This
file has 3 lines. This is the last line.
Now the diff reads:
--- old.txt 2021-05-21 07:14:11.805978537 +0200
+++ new2.txt 2021-05-21 07:21:02.572795731 +0200
@@ -1,6 +1,3 @@
-This is sample text.
-This exists purely for demonstration issues.
-In particular, for demonstration of diff.
-It has no other purpose.
-This file has 6 lines.
-This is the last line.
+This is sample text. This exists purely for demonstration issues. In
+particular, for demonstration of diff. It has no other purpose. This
+file has 3 lines. This is the last line.
This basically is the complete original text followed by the complete reflowed text. So it's not easy to see the content change in that way. Therefore if such reflowing is common, using diff
may not be the best way.
0 comment threads