Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users

Dashboard
Notifications
Mark all as read
Q&A

Text Editors. Suggesting & Tracking Changes to Plain-Text Documents

+1
−0

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.

enter image description here

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?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

This post was sourced from https://writers.stackexchange.com/q/6864. It is licensed under CC BY-SA 3.0.

0 comments

5 answers

+2
−0

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.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

+2
−0

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  
Why does this post require moderator attention?
You might want to add some details to your flag.

This post was sourced from https://writers.stackexchange.com/a/6889. It is licensed under CC BY-SA 3.0.

0 comments

+2
−0

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.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

+1
−0

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.
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

+0
−0

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.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!