summaryrefslogtreecommitdiff
path: root/support/ltxdiff/README
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/ltxdiff/README
Initial commit
Diffstat (limited to 'support/ltxdiff/README')
-rw-r--r--support/ltxdiff/README141
1 files changed, 141 insertions, 0 deletions
diff --git a/support/ltxdiff/README b/support/ltxdiff/README
new file mode 100644
index 0000000000..cf1cf9747d
--- /dev/null
+++ b/support/ltxdiff/README
@@ -0,0 +1,141 @@
+ltxdiff 0.9.0 (beta)
+Copyright (c) 2005 by Bernd Becker
+(ltxdiff is public domain, but GNU Diff is GPL'd software.
+Should you want to get the source code for GNU Diff you could go
+to http://www.gnu.org/software/diffutils/
+or, if I haven't put it up on my site 'til then, send an e-mail my way)
+
+A Win32 program(me) that compares tokens in two .tex files
+(or directories [+subdirectories] containing .tex files) and may mark
+differences according to the options set by using GNU Diff to find tokens
+to be marked.
+An other diff program(me) may be used if it has the switches
+"-b", "-B", "-d", and "-E" and they are compatible to GNU Diff's.
+
+It was written when there were complains that changes in the game
+design weren't marked, making it hard to know what exactly was
+modified between revisions.
+
+For this reason the program(me) only knows those commands/environments
+I use in my game design; including the ones I used that are in my own
+style file and packages, which might lead to unwanted results if someone
+uses the same name but defined them differently(number of arguments,
+type of argument, etc.).
+This is also led to the decision to not mark deleted tokens inside columns
+as my tabulars have lots of small columns and text would spill over
+if the deleted/older tokens would be written as well as added/current
+tokens. Another reason is that writing deleted columns may lead to tabulars
+wider than the page. This not only looks ugly but there also might be
+columns not visible any more that should be.
+
+It was written to use as few memory as possible, but still be fast. This
+led to compromises and some odd looking lines of code and even though there
+may still be room for optimizations I'm satisfied with it (see also the
+section "Missing stuff" below).
+
+--------------
+
+A. Installation:
+Copy the .exes into your path - your TeX's binary directory would probably
+be just fine - and copy ltxdiff.sty file into your local packages directory
+and add "ltxdiff" to the list of packages loaded by your text, or
+define the commands/environments inside the file(s) to see any differences.
+The provided ltxdiff.sty file contains example definitions not exactly
+useful for every situation or for everyones taste, in fact they are not
+even the ones I use personally. Therefore it would be a good idea to
+redefine them to your own needs and taste before compiling the marked text.
+
+--------------
+
+B. Notes:
+1:
+ If only one file name is given it is assumed the second file has the
+same name as the first and either '-m' or '-o' is used as well !
+Example: ltxdiff -o old 1.tex
+ -> compare .\1.tex with .\old\1.tex
+
+2:
+ If the passed file name(s) do not have an extension it is assumed
+the files have the '.tex' extension !
+Example: ltxdiff -o old 1
+ -> compare .\1.tex with .\old\1.tex
+
+3:
+ If the -a switch is used any file names passed are ignored, but both
+-o and -m must be passed and be different or you will get nothing but
+an error message !
+Example: ltxdiff -a -r -o d:\docs\old -m d:\docs\current
+ -> compare all .tex files in d:\docs\old and its subdirectories with
+all .tex files in d:\docs\current and its subdirectories
+
+4:
+ CTRL+C ends the program(me) prematurely but not without cleaning up
+first ! (freeing used memory, deleting temporary files)
+
+5:
+ It checks for commands/environments it knows and only marks
+added/deleted tokens if the code says it's okay; unknown means it will
+always mark tokens !
+
+--------------
+
+C. Usage:
+ ltxdiff [OPTIONS]... [ORG_FILE] [MOD_FILE]
+
+Options:
+ -1
+don't write deleted words into output file
+ -2
+don't write new words into output file
+ -3
+don't write common words into output file
+ -a
+compare all '.tex' files with the same name in two directories.
+ -b
+if -c is used create a backup of the original
+ -c
+copy modified to original, and output file to modified
+ -d
+delete output file afterwards -1, -2, -3 and -c have no effect
+ -h
+print help text
+ -l
+write log info into 'ltxdiff.log' file
+ -m DIR
+DIR is the directory containing the modified text(s)
+ -o DIR
+DIR is the directory containing the original text(s)
+ -r
+if -a is used recursively check all subdirectories as well
+ -s
+print statistics (number of words deleted, inserted etc.)
+ -v
+print program version
+
+--------------
+
+D. Missing stuff and ideas:
+1. external text file defining (La)TeX commands/environments and special
+commands only available inside them (like tabbing).
+2. To make 1. work the special commands ought to be defined as a list of
+strings checked by a function, instead of a function that checks all the
+'strings'; a generalization of read_tex_tabbing_commands() using this list
+would do.
+3. add a list of files/directories with their status to cut down the time
+used in the functions to find all files of a pattern, and mark as new or
+deleted, or compare them.
+4. if 3. is implemented the file name inside of \input{} of files that are
+new/were changed can be changed to their .new/.dif counterpart making 5.
+unnecessary. But it will certainly use more code, time and memory than 5.
+5. compile a version with "-b" and "-c" functionality, so that can be
+tested as well; it's just a matter of a #define set to 1 but... ;-)
+6. check files with the .ltx extension as well
+7. dig out MO disk on which GNU Diff's source code hides and upload it
+or something.
+8. get rid of debugging switches -1, -2, -3, -d
+
+--------------
+
+E. Contact:
+If you think you found a bug, or want a command/environment added, or...
+send an e-mail to munin@munin.inka.de. TIA.