summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/latex-tds
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-08-29 23:17:58 +0000
committerKarl Berry <karl@freefriends.org>2006-08-29 23:17:58 +0000
commit548fa78323f6d198c6a75751133237e13b21b551 (patch)
tree3629ae37d712def675d0be1f3394fe4afcaeab41 /Master/texmf-dist/source/latex/latex-tds
parent55787107a821c91e01d7b8e492cadc23858da6f4 (diff)
new package latex-tds from heiko (28aug06)
git-svn-id: svn://tug.org/texlive/trunk@2064 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/latex-tds')
-rwxr-xr-xMaster/texmf-dist/source/latex/latex-tds/build.pl1293
-rwxr-xr-xMaster/texmf-dist/source/latex/latex-tds/lib/adjust_checksum.pl160
-rwxr-xr-xMaster/texmf-dist/source/latex/latex-tds/lib/ziptimetree.pl368
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/license/lppl.txt416
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/license/ziptimetree/lgpl.txt504
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/albanian.dtx.diff32
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/athnum.dtx.diff23
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/bbcompat.dtx.diff30
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/classes.dtx.diff12
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/finnish.dtx.diff31
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/frenchb.dtx.diff30
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/patch/greek.ins.diff20
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/readme.txt415
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ams.drv152
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/babel.tex71
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/doc_lppl.tex50
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/docstrip.cfg36
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/errata.cfg48
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/greek-usage.tex35
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/hyperref.cfg32
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ltnews.cfg37
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ltnews.tex132
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ltxcheck.drv27
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ltxdoc.cfg63
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/ltxguide.cfg57
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/manual.cfg43
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/psnfss2e.drv41
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/tdsguide.cfg38
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/tools-overview.cls114
-rw-r--r--Master/texmf-dist/source/latex/latex-tds/tex/tools.tex111
30 files changed, 4421 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/latex-tds/build.pl b/Master/texmf-dist/source/latex/latex-tds/build.pl
new file mode 100755
index 00000000000..58a0ba98975
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/build.pl
@@ -0,0 +1,1293 @@
+#!/usr/bin/env perl
+use strict;
+$^W=1;
+
+my $prj = 'latex-tds';
+my $file = 'build.pl';
+my $version = cvs('$Revision: 1.102 $');
+my $date = cvs('$Date: 2006/08/28 09:42:43 $');
+my $author = 'Heiko Oberdiek';
+my $copyright = "Copyright 2006 $author";
+chomp(my $license = <<"END_LICENSE");
+% $copyright
+%
+% This file is part of project `$prj'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `$prj' and additional information.
+%
+END_LICENSE
+
+my $time_start = time;
+
+my $url_ctan = 'ftp://dante.ctan.org/tex-archive';
+my $url_ams = 'ftp://ftp.ams.org/pub/tex';
+
+my @required_list = (
+ 'amslatex',
+ 'babel',
+ 'psnfss',
+ 'cyrillic',
+ 'graphics',
+ 'tools'
+);
+my @pkg_list = ('base', @required_list, $prj, 'source', 'tds');
+
+my $zip_comment = <<'END_ZIP_COMMENT';
+**************************************************
+* This file is part of project 'latex-tds', see *
+* CTAN:macros/latex/contrib/latex-tds/readme.txt *
+**************************************************
+END_ZIP_COMMENT
+
+my $error = "!!! Error:";
+
+my $dir_incoming = 'incoming';
+my $dir_incoming_ctan = "$dir_incoming/ctan";
+my $dir_incoming_ams = "$dir_incoming/ams";
+my $dir_build = 'build';
+my $dir_lib = 'lib';
+my $dir_license = 'license';
+my $dir_tex = 'tex';
+my $dir_patch = 'patch';
+my $dir_distrib = 'distrib';
+chomp(my $cwd = `pwd`);
+
+my $jar_pdfbox_rewrite = "$cwd/$dir_lib/pdfbox-rewrite.jar";
+my $jar_multivalent = "$cwd/$dir_lib/Multivalent20060102.jar";
+
+my $file_zip_comment = "$cwd/$dir_build/zip-comment.txt";
+my $file_tmp = "$cwd/$dir_build/tmp.pdf";
+my $file_tmp_o = "$cwd/$dir_build/tmp-o.pdf";
+
+my $file_ziptimetree = get_perl_script('ziptimetree');
+my $file_adjust_checksum = get_perl_script('adjust_checksum');
+
+my $prg_checksum = $file_adjust_checksum;
+my $prg_bibtex = "bibtex";
+my $prg_chmod = "chmod";
+my $prg_cp = 'cp -p';
+my $prg_curl = 'curl';
+my $prg_docstrip = 'tex -shell-escape';
+my $prg_epstopdf = 'epstopdf';
+my $prg_find = 'find';
+my $prg_java = 'java';
+my $prg_ls = "ls";
+my $prg_makeindex = 'makeindex';
+my $prg_mkdir = 'mkdir';
+my $prg_mv = 'mv';
+my $prg_patch = "patch";
+my $prg_pdflatex = 'pdflatex';
+my $prg_rm = "rm";
+my $prg_rsync = "rsync";
+my $prg_sed = "sed";
+my $prg_sort = "sort";
+my $prg_unzip = 'unzip';
+my $prg_wget = 'wget';
+my $prg_zip = 'zip';
+my $prg_ziptimetree = $file_ziptimetree;
+
+$ENV{'TEXINPUTS'} = "$cwd/tex:.:texmf/tex//:";
+$ENV{'BSTINPUTS'} = '.:texmf/bibtex//:'; # amslatex
+$ENV{'TFMFONTS'} = 'texmf/fonts/tfm//:'; # psnfss
+$ENV{'VFFONTS'} = 'texmf/fonts/vf//:'; # psnfss
+$ENV{'INDEXSTYLE'} = '.:texmf/makeindex//:'; # babel
+
+sub install ($@);
+
+### Print title
+{
+ my $line = "Building $prj, $date $version, $copyright";
+ print "$line\n", "=" x length($line), "\n";
+}
+
+### Option handling
+
+my $usage = <<"END_OF_USAGE";
+Usage: build.pl [options]
+General options:
+ --(no)download (check for newer files, disabled by default)
+ --(no)postprocess (pdf files are postprocessed, enabled by default)
+Module options:
+ --all (select all modules)
+END_OF_USAGE
+map { $usage .= " --(no)$_\n"; } @pkg_list;
+
+my $opt_download = 0;
+my $opt_postprocess = 1;
+my $opt_all = 0;
+my %modules;
+my @list_modules;
+
+use Getopt::Long;
+GetOptions(
+ ( map { ("$_!" => \$modules{$_}); } @pkg_list ),
+ 'all' =>
+ sub {
+ $opt_all = 1;
+ map { $modules{$_} = 1; } @pkg_list;
+ },
+ 'download!' => \$opt_download,
+ 'postprocess!' => \$opt_postprocess
+) or die $usage;
+@ARGV == 0 or die $usage;
+@list_modules = grep { $modules{$_}; } @pkg_list;
+
+info("Build modules: @list_modules");
+
+### Download
+{
+ section('Download');
+
+ sub download_ctan ($$) {
+ my $file = shift;
+ my $ctan_path = shift;
+ ensure_directory($dir_incoming_ctan);
+ download("$dir_incoming_ctan/$file.zip",
+ "$url_ctan/$ctan_path/$file.zip");
+ }
+ sub download_ams ($) {
+ my $file = shift;
+ ensure_directory($dir_incoming_ams);
+ download("$dir_incoming_ams/$file.zip",
+ "$url_ams/$file.zip");
+ }
+ sub download ($$) {
+ my $file = shift;
+ my $url = shift;
+ return 1 if -f $file and !$opt_download;
+ info("download $url\n --> $file");
+ my $cmd = $prg_curl;
+ $cmd .= " --disable-epsv"; # for ftp.ams.org
+ $cmd .= " --time-cond $file" if -f $file; # download only if newer
+ $cmd .= " --remote-time"; # set file date
+ $cmd .= " --output $file"; # target file
+ $cmd .= " $url"; # url
+ run($cmd);
+ -f $file or die "$error Download failed ($url)!\n";
+ }
+
+ download_ctan('base', 'macros/latex');
+ download_ctan('tools', 'macros/latex/required');
+ download_ctan('graphics', 'macros/latex/required');
+ download_ctan('cyrillic', 'macros/latex/required');
+ download_ctan('babel', 'macros/latex/required');
+ download_ctan('amslatex', 'macros/latex/required');
+ download_ctan('psnfss', 'macros/latex/required');
+ download_ctan('tds', '');
+ download_ams('amslatex');
+ download_ams('amsrefs');
+}
+
+### Remove previous build
+section('Remove previous build');
+{
+ foreach my $pkg (@list_modules) {
+ run("$prg_rm -rf $dir_build/$pkg");
+ my $distribfile = "$dir_distrib/$pkg.zip";
+ unlink $distribfile if -f $distribfile;
+ }
+}
+
+### Unpack
+section('Unpacking');
+{
+ sub unpacking ($$$) {
+ my $pkg = shift;
+ my $zipfile = shift;
+ my $dir = shift;
+ run("$prg_unzip $zipfile -d$dir");
+ }
+ sub unpack_ctan ($) {
+ my $pkg = shift;
+ $modules{$pkg} or return 1;
+ unpacking($pkg,
+ "$dir_incoming_ctan/$pkg.zip",
+ $dir_build);
+ }
+ sub unpack_ams ($) {
+ my $name = shift;
+ $modules{'amslatex'} or return 1;
+ unpacking('amslatex',
+ "$dir_incoming_ams/$name.zip",
+ "$dir_build/amslatex/texmf");
+ }
+ sub unpack_psnfss ($) {
+ my $name = shift;
+ my $dir = "$dir_build/psnfss";
+ $modules{'psnfss'} or return 1;
+ unpacking('psnfss',
+ "$dir/$name.zip",
+ "$dir/texmf");
+ }
+
+ ensure_directory($dir_build);
+ unpack_ctan('base');
+ map { unpack_ctan($_); } @required_list;
+ unpack_ams('amslatex');
+ unpack_ams('amsrefs');
+ unpack_psnfss('lw35nfss');
+ unpack_psnfss('freenfss');
+ unpack_ctan('tds');
+}
+
+### Patches
+section('Patches');
+{
+ ; #
+
+ if ($modules{'base'}) {
+ patch("base/classes.dtx");
+ }
+
+ if ($modules{'psnfss'}) {
+ chdir "$dir_build/psnfss";
+ run("$prg_checksum psfonts.dtx");
+ chdir $cwd;
+ }
+
+ if ($modules{'babel'}) {
+ map { patch("babel/$_"); } qw[
+ greek.ins
+ bbcompat.dtx
+ athnum.dtx
+ albanian.dtx
+ finnish.dtx
+ frenchb.dtx
+ ];
+ }
+}
+
+### Install TDS/source
+section('Install source');
+{
+ sub install_gen_source ($$@) {
+ my $fmt = shift;
+ my $pkg = shift;
+ my @list = @_;
+ $modules{$pkg} or return 1;
+ chdir "$dir_build/$pkg";
+ install "texmf/source/$fmt/$pkg", @list;
+ chdir $cwd;
+ }
+ sub install_source ($@) {
+ my $pkg = shift;
+ my @list = @_;
+ install_gen_source('latex', $pkg, @list);
+ }
+
+ install_source 'base', qw[
+ *.dtx
+ *.fdd
+ *.ins
+ *guide.tex
+ ltnews*.tex
+ source2e.tex
+ ltx3info.tex
+ latexbug.el
+ ];
+ install_source 'tools', qw[
+ *.dtx
+ *.ins
+ ];
+ install_source('graphics',
+ '*.dtx',
+ '*.ins',
+ '*.tex'
+ );
+ install_source('cyrillic',
+ '*.dtx',
+ '*.fdd',
+ '*.ins',
+ );
+ install_source('psnfss',
+ 'psnfss2e.tex',
+ '*.dtx',
+ '*.ins'
+ );
+ install_gen_source('generic', 'babel', qw[
+ *.ins
+ *.dtx
+ *.fdd
+ *.dat
+ usage.tex
+ tb*.tex
+ ]);
+ # babel/manifest.txt: to be removed in a future release
+ # already removed: bghyphen.tex, bghyphsi.tex
+ install_gen_source('generic', 'babel', qw[
+ mik2t2.tex
+ catmik.tex
+ lahyph.tex
+ ]);
+ # *.tex
+ install_gen_source('', 'tds', qw[
+ Makefile
+ tds2texi.el
+ tdsguide.cls
+ tds.sed
+ tds.tex
+ ]);
+}
+
+### Patch source files after source install
+section('Paches after source install');
+{
+ if ($modules{'base'}) {
+ chdir "$dir_build/base";
+
+ # ltdirchk.dtx must be patched to fool it in
+ # not having texsys.cfg
+ {
+ my $file_dtx = 'ltdirchk.dtx';
+ my $file_org = 'ltdirchk.dtx.org';
+ rename $file_dtx, $file_org;
+ open(IN, '<', $file_org) or die "$error Cannot open `$file_org'!\n";
+ open(OUT, '>', $file_dtx) or die "$error Cannot write `$file_dtx'!\n";
+ while (<IN>) {
+ s/openin15=texsys.cfg/openin15=texsys.cfg-not-found/;
+ print OUT;
+ }
+ close(OUT);
+ close(IN);
+ }
+
+ # base: TDS:makeindex/base -> TDS:makeindex/latex
+ {
+ my $file_ins = 'docstrip.ins';
+ my $file_org = 'docstrip.ins.org';
+ rename $file_ins, $file_org;
+ open(IN, '<', $file_org) or die "$error Cannot open `$file_org'!\n";
+ open(OUT, '>', $file_ins) or die "$error Cannot write `$file_ins'!\n";
+ while (<IN>) {
+ s|makeindex/base|makeindex/latex|;
+ print OUT;
+ }
+ close(OUT);
+ close(IN);
+ }
+
+ chdir $cwd;
+ }
+}
+
+### Docstrip
+section('Docstrip');
+{
+ sub docstrip ($$) {
+ my $pkg = shift;
+ my $ins = shift;
+ $modules{$pkg} or return 1;
+ chdir "$dir_build/$pkg";
+ run("$prg_docstrip $ins.ins");
+ chdir $cwd;
+ 1;
+ }
+ docstrip('base', 'unpack');
+ docstrip('psnfss', 'psfonts');
+ docstrip('cyrillic', 'cyrlatex');
+ docstrip('graphics', 'graphics');
+ docstrip('graphics', 'graphics-drivers');
+ docstrip('tools', 'tools');
+ docstrip('babel', 'babel');
+}
+
+section('TDS cleanup');
+{
+ if ($modules{'amslatex'}) {
+ sub cleanup_tds ($@) {
+ my $dir_tds = "$dir_build/amslatex/texmf";
+ my $sub_tree = shift;
+
+ my @list = map { glob("$dir_tds/$sub_tree/$_"); } @_;
+ unlink grep { -f $_; } @list;
+ map { rmdir; } grep { -d $_; } @list;
+ }
+
+ cleanup_tds 'bibtex', qw[
+ bib/ams
+ bib
+ ];
+ cleanup_tds 'source/latex/amscls', qw[
+ *.bst
+ *.template
+ diffs-c.txt
+ ];
+ cleanup_tds 'source/latex/amsmath', qw[
+ diffs-m.txt
+ amstex.sty
+ ];
+ cleanup_tds 'source/latex/amsrefs', qw[
+ *.dvi
+ *.pdf
+ amsrefs.faq
+ cite-x*.tex
+ jr.bib
+ gktest.ltb
+ ];
+ cleanup_tds 'doc/latex/amscls', qw[
+ amsrefs.dvi
+ textcmds.dvi
+ ];
+ # CTAN:macros/latex/required/amslatex/other/*
+ run("$prg_cp $dir_build/amslatex/other/amsbooka.sty"
+ . " $dir_build/amslatex/texmf/tex/latex/amscls/amsbooka.sty");
+ }
+
+ if ($modules{'babel'}) {
+ my $tds_dir = "$dir_build/babel/texmf";
+ my $from_dir = "$tds_dir/tex/generic/babel";
+
+ ### Correction for *.drv files
+ run("$prg_mv $from_dir/*.drv $dir_build/babel");
+
+ ### Correction for *.ist files
+ my $dir_dest = "$tds_dir/makeindex/babel";
+ ensure_directory($dir_dest);
+ run("$prg_mv $from_dir/*.ist $dir_dest");
+ }
+}
+
+### Install TDS/tex, TDS/doc files
+section('Install tex doc');
+{
+ if ($modules{'base'}) {
+ chdir "$dir_build/base";
+ install 'texmf/doc/latex/base', qw[
+ 00readme.txt
+ autoload.txt
+ bugs.txt
+ changes.txt
+ l*.txt
+ manifest.txt
+ patches.txt
+ t*.txt
+ ];
+ install 'texmf/tex/latex/base', qw[
+ *.cls
+ ltpatch.ltx
+ idx.tex
+ lablst.tex
+ latexbug.tex
+ lppl.tex
+ testpage.tex
+ ltxcheck.tex
+ sample2e.tex
+ small2e.tex
+ ];
+ install 'texmf/tex/latex/base', qw[
+ texsys.cfg
+ ];
+ chdir $cwd;
+ }
+
+ if ($modules{'tools'}) {
+ chdir "$dir_build/tools";
+ install 'texmf/doc/latex/tools', qw[
+ changes.txt
+ manifest.txt
+ readme.txt
+ ];
+ chdir $cwd;
+ }
+
+ if ($modules{'graphics'}) {
+ chdir "$dir_build/graphics";
+ install('texmf/doc/latex/graphics',
+ '*.txt'
+ );
+ install('texmf/tex/latex/graphics',
+ '*.def'
+ );
+ chdir $cwd;
+ }
+
+ if ($modules{'cyrillic'}) {
+ chdir "$dir_build/cyrillic";
+ install('texmf/doc/latex/cyrillic',
+ '*.txt'
+ );
+ chdir $cwd;
+ }
+
+ if ($modules{'psnfss'}) {
+ chdir "$dir_build/psnfss";
+ install('texmf/doc/latex/psnfss',
+ '*.txt'
+ );
+ install('texmf/doc/latex/psnfss/test',
+ '*test*.tex'
+ );
+ install('texmf/fonts/enc/dvips/psnfss',
+ '8r.enc'
+ );
+ install('texmf/fonts/map/dvips/psnfss',
+ '*.map'
+ );
+ chdir $cwd;
+ }
+
+ if ($modules{'babel'}) {
+ chdir "$dir_build/babel";
+ install('texmf/doc/generic/babel', qw[
+ *.txt
+ *.heb
+ *.bbl
+ *.dat
+ *.skeleton
+ install.OzTeX*
+ ]);
+ install('texmf/tex/generic/hyphen', qw[
+ iahyphen.tex
+ icehyph.tex
+ ]);
+ chdir $cwd;
+ }
+
+ if ($modules{'tds'}) {
+ chdir "$dir_build/tds";
+ install('texmf/doc/tds', qw[
+ README
+ ChangeLog
+ tds.html
+ ]);
+ install('texmf/doc/info', qw[
+ tds.info
+ ]);
+ chdir $cwd;
+ }
+
+my $dummy = <<'END_DUMMY';
+ if ($modules{'babel'}) {
+ chdir "$dir_build/babel";
+ install('texmf/tex/generic/bghyph',
+ 'bghyphen.txt',
+ 'bghyphsi.tex',
+ 'catmik.tex',
+ 'mik2t2.tex'
+ );
+ install('texmf/tex/generic/hyphen',
+ 'icehyph.tex',
+ 'lahyph.tex'
+ );
+ chdir $cwd;
+ }
+END_DUMMY
+}
+
+### Generate documentation for base
+if ($modules{'base'}) {
+ section('Documenation: base');
+
+ sub base_guide ($) {
+ my $guide = "$_[0]guide";
+ run("$prg_pdflatex $guide");
+ run("$prg_pdflatex $guide");
+ run("$prg_pdflatex $guide");
+ install_pdf('base', $guide);
+ 1;
+ }
+ sub simple_gen ($$) {
+ my $ext = shift;
+ my $base = shift;
+ my $file = "$base.$ext";
+ run("$prg_pdflatex $file");
+ run("$prg_pdflatex $file");
+ run("$prg_pdflatex $file");
+ install_pdf('base', $base);
+ 1;
+ }
+ sub complex_dtx ($) {
+ my $base = shift;
+ my $dtx = "$base.dtx";
+ run("$prg_pdflatex $dtx");
+ run_makeindex("$base.idx", 'gind.ist');
+ run_makeindex("$base.glo", 'gglo.ist', "$base.gls");
+ run("$prg_pdflatex $dtx");
+ run_makeindex("$base.idx", 'gind.ist');
+ run_makeindex("$base.glo", 'gglo.ist', "$base.gls");
+ run("$prg_pdflatex $dtx");
+ run("$prg_pdflatex $dtx"); # hydestopt
+ install_pdf('base', "$base");
+ 1;
+ }
+ sub book_err ($) {
+ my $base = shift;
+ my $err = "$base.err";
+ run("$prg_pdflatex $err");
+ run("$prg_sed -i -e '"
+ . 's/\\\\endinput/\\\\input{errata.cfg}\\n\\\\endinput/'
+ . "' $base.cfg");
+ run("$prg_pdflatex $err");
+ run("$prg_pdflatex $err");
+ run("$prg_pdflatex $err"); # hydestopt
+ install_pdf('base', "$base");
+ 1;
+ }
+ chdir "$dir_build/base";
+ run("$prg_pdflatex source2e");
+ run_makeindex('source2e.idx', 'gind.ist');
+ run_makeindex('source2e.glo', 'gglo.ist', 'source2e.gls');
+ run("$prg_pdflatex source2e");
+ run_makeindex('source2e.idx', 'gind.ist');
+ run_makeindex('source2e.glo', 'gglo.ist', 'source2e.gls');
+ run("$prg_pdflatex source2e");
+ run("$prg_pdflatex source2e"); # hydestopt
+ install_pdf('base', 'source2e');
+ map { complex_dtx $_ } qw[
+ classes
+ doc
+ docstrip
+ letter
+ ];
+ map { simple_gen 'dtx', $_ } qw[
+ alltt
+ exscale
+ fixltx2e
+ graphpap
+ ifthen
+ inputenc
+ latex209
+ latexsym
+ ltxdoc
+ makeindx
+ newlfont
+ oldlfont
+ proc
+ slides
+ syntonly
+ utf8ienc
+ ];
+ map { simple_gen 'fdd', $_ } qw[
+ cmfonts
+ slifonts
+ ];
+ map { book_err $_ } qw[
+ tlc2
+ lb2
+ grphcomp
+ webcomp
+ webcompg
+ ];
+ run("$prg_sed -i -e '"
+ . 's/\\\\documentclass{article}/'
+ . '\\\\documentclass{article}\\n\\\\input{manual.cfg}/'
+ . "' manual.err");
+ run("$prg_pdflatex manual.err");
+ run("$prg_pdflatex manual.err");
+ run("$prg_pdflatex manual.err"); # hydestopt
+ install_pdf('base', 'manual');
+ base_guide('cfg');
+ base_guide('cls');
+ base_guide('cyr');
+ base_guide('enc');
+ base_guide('fnt');
+ base_guide('mod');
+ base_guide('usr');
+ run("$prg_pdflatex doc_lppl");
+ run("$prg_pdflatex doc_lppl");
+ run("$prg_pdflatex doc_lppl"); # hydestopt
+ run("$prg_mv doc_lppl.pdf lppl.pdf");
+ install_pdf('base', 'lppl');
+ run("$prg_pdflatex ltxcheck.drv");
+ run("$prg_pdflatex ltxcheck.drv");
+ install_pdf('base', 'ltxcheck');
+ my $code = <<'END_CODE';
+\let\SavedDocumentclass\documentclass
+\def\documentclass[#1]#2{
+ \SavedDocumentclass[{#1}]{#2}
+ \usepackage[colorlinks,pdfusetitle]{hyperref}
+}
+\input{ltx3info}
+END_CODE
+ $code =~ s/\s//g;
+ run("$prg_pdflatex '$code'");
+ run("$prg_pdflatex '$code'");
+ run("$prg_pdflatex '$code'"); # hydestopt
+ install_pdf('base', 'ltx3info');
+# for (my $i = 1; $i <= 17; $i++) {
+# my $ltnews = 'ltnews';
+# $ltnews .= '0' if $i < 10;
+# $ltnews .= $i;
+# run("$prg_pdflatex $ltnews");
+# run("$prg_pdflatex $ltnews");
+# install_pdf('base', $ltnews);
+# }
+ my $ltnews = 'ltnews';
+ my $lastissue = 0;
+ map { $lastissue = $1 if /ltnews(\d+)\.tex/ and $lastissue < $1; }
+ glob('ltnews*.tex');
+ my $cmd_ltnews =
+ "$prg_pdflatex '\\def\\lastissue{$lastissue}\\input{$ltnews}'";
+ run($cmd_ltnews);
+ run($cmd_ltnews);
+ run($cmd_ltnews);
+ install_pdf('base', $ltnews);
+ chdir $cwd;
+}
+
+### Generate documentation for tools
+if ($modules{'tools'}) {
+ section('Documentation: tools');
+
+ chdir "$dir_build/tools";
+ my @list = glob("*.dtx");
+ map { s/\.dtx$//; } @list;
+ foreach my $entry (@list) {
+ run("$prg_pdflatex $entry.dtx");
+ run_makeindex("$entry.idx", 'gind.ist');
+ run_makeindex("$entry.glo", 'gglo.ist', "$entry.gls");
+ run("$prg_pdflatex $entry.dtx");
+ run_makeindex("$entry.idx", 'gind.ist');
+ run_makeindex("$entry.glo", 'gglo.ist', "$entry.gls");
+ run("$prg_pdflatex $entry.dtx");
+ run("$prg_pdflatex $entry.dtx"); # hydestopt
+ install_pdf('tools', $entry);
+ }
+
+ # Generate overview
+ my $infile = 'manifest.txt';
+ my $texfile = "$cwd/$dir_tex/tools.tex";
+ my @time = localtime(time);
+ my ($mday, $month, $year) = splice @time, 3, 3;
+ my $release_info = sprintf "%04d/%02d/%02d Tools overview (HO)",
+ $year + 1900, $month + 1, $mday;
+ open(OUT, ">$texfile") or die "$error Cannot open `$texfile'!\n";
+ print OUT <<"END_HEADER";
+\\NeedsTeXFormat{LaTeX2e}
+\\ProvidesFile{tools.tex}%
+ [$release_info]
+$license
+\\documentclass{tools-overview}
+\\begin{document}
+END_HEADER
+ my $entry;
+ my %db;
+ open(IN, $infile) or die "$error Cannot open `$infile'!\n";
+ while (<IN>) {
+ next if /^%/;
+ next if /^\s*$/;
+ if (/^(\S+)\.dtx/) {
+ $entry = $1;
+ $db{$entry} = '';
+ next;
+ }
+ s/\\(\w+)/\\cs{\1}/g;
+ s/(LaTeX|TeX)/\\\1\{\}/g;
+ s/`([^']+)'/\\emph{\1}/g;
+ s/Indent The/Indent the/; # typo
+ s/Requies/Requires/; # typo
+ $db{$entry} .= $_;
+ }
+ close(IN);
+ $db{'layout'} = <<'END_LAYOUT';
+ Produces an overview of the layout of the current document.
+END_LAYOUT
+ $db{'trace'} = <<'END_TRACE';
+ The package helps to suppress and to control the amount of tracing
+ output (\cs{tracingall}) by taming calc and making NFSS less noisy.
+END_TRACE
+ for my $entry (sort keys %db) {
+ my $text = $db{$entry};
+ $text =~ s/^\s*/ /mg;
+ chomp $text;
+ print OUT <<"END_ENTRY";
+\\entry{$entry}{%
+$text
+}%
+END_ENTRY
+ }
+ print OUT <<'END_TRAILER';
+\end{document}
+END_TRAILER
+ close(OUT);
+ run("$prg_pdflatex tools.tex");
+ install_pdf('tools', 'tools');
+ chdir $cwd;
+}
+
+### Generate documentation for cyrillic
+if ($modules{'cyrillic'}) {
+ section('Documentation: cyrillic');
+
+ chdir "$dir_build/cyrillic";
+ my @list = (glob("*.dtx"), glob("*.fdd"));
+ foreach my $entry (@list) {
+ run("$prg_pdflatex $entry");
+ run("$prg_pdflatex $entry");
+ run("$prg_pdflatex $entry"); # hydestopt
+ $entry =~ s/\.(dtx|fdd)$//;
+ install_pdf('cyrillic', $entry);
+ }
+ chdir $cwd;
+}
+
+### Generate documentation for graphics
+if ($modules{'graphics'}) {
+ section('Documentation: graphics');
+
+ chdir "$dir_build/graphics";
+ my @list = glob("*.dtx");
+ map { s/\.dtx$//; } @list;
+ foreach my $entry (@list) {
+ run("$prg_pdflatex $entry.dtx");
+ run("$prg_pdflatex $entry.dtx");
+ run("$prg_pdflatex $entry.dtx"); # hydestopt
+ install_pdf('graphics', $entry);
+ }
+ my $code = <<'END_CODE';
+\makeatletter
+\let\documentclass\@@end
+\input{grfguide}
+END_CODE
+ $code =~ s/\s//g;
+ run("$prg_pdflatex '$code'");
+ run("$prg_epstopdf a.ps");
+ run("$prg_pdflatex grfguide");
+ run("$prg_pdflatex grfguide");
+ run("$prg_pdflatex grfguide");
+ install_pdf('graphics', 'grfguide');
+ chdir $cwd;
+}
+
+### Generate documentation for amslatex
+if ($modules{'amslatex'}) {
+ section('Documentation: amslatex');
+
+ sub makeindex ($) {
+ my $doc = shift;
+ my $style;
+ $style = 'gind.ist' unless $doc eq 'amsldoc';
+ run_makeindex("$doc.idx", $style);
+ }
+
+ sub bibtex ($) {
+ my $doc = shift;
+
+ if ($doc =~ /^cite-x[bh]$/) {
+ run("$prg_bibtex $doc");
+ }
+ }
+
+ sub generate_doc ($$) {
+ my $amspkg = shift;
+ my $doc = shift;
+ my $ams_drv = "$cwd/$dir_tex/ams.drv";
+
+ symlink $ams_drv, "$doc.drv";
+ run("$prg_pdflatex $doc.drv");
+ makeindex($doc);
+ bibtex($doc);
+ run("$prg_pdflatex $doc.drv");
+ makeindex($doc);
+ run("$prg_pdflatex $doc.drv");
+ makeindex($doc);
+ run("$prg_pdflatex $doc.drv");
+ run("$prg_pdflatex $doc.drv") if $doc eq 'amsrefs';
+ install_pdf($amspkg, $doc);
+ }
+
+ chdir "$dir_build/amslatex/math";
+ symlink '../texmf', 'texmf';
+ map { generate_doc 'amsmath', $_; } qw[
+ amsldoc subeqn technote testmath
+ amsbsy amscd amsgen amsmath amsopn amstext amsxtra
+ ];
+ chdir $cwd;
+
+ chdir "$dir_build/amslatex/classes";
+ symlink '../texmf', 'texmf';
+ map { generate_doc 'amscls', $_; } qw[
+ amsthdoc instr-l thmtest
+ amsclass amsdtx amsmidx upref
+ ];
+ chdir $cwd;
+
+ chdir "$dir_build/amslatex/amsrefs";
+ symlink '../texmf', 'texmf';
+ map { generate_doc 'amscls', $_; } qw[
+ cite-xa cite-xb cite-xh cite-xs
+ amsrefs amsxport ifoption mathscinet pcatcode rkeyval textcmds
+ ];
+ chdir $cwd;
+}
+
+### Generate documentation for psnfss
+if ($modules{'psnfss'}) {
+ section('Documentation: psnfss');
+
+ chdir "$dir_build/psnfss";
+
+ run("$prg_pdflatex psfonts.dtx");
+ run("$prg_pdflatex psfonts.dtx");
+ install_pdf('psnfss', 'psfonts');
+
+ run("$prg_pdflatex psnfss2e.drv");
+ run("$prg_pdflatex psnfss2e.drv");
+ run("$prg_pdflatex psnfss2e.drv");
+ install_pdf('psnfss', 'psnfss2e');
+
+ chdir $cwd;
+}
+
+### Generate documentation for babel
+if ($modules{'babel'}) {
+ section('Documentation: babel');
+
+ sub install_babel_pdf ($) {
+ install_gen_pdf('generic', 'babel', shift);
+ }
+ sub simple_doc ($) {
+ my $file = shift;
+
+ run("$prg_pdflatex $file");
+ run("$prg_pdflatex $file");
+ $file =~ s/\.\w{3}$//;
+ install_babel_pdf($file);
+ }
+ sub generate_babel_doc ($) {
+ my $doc = shift;
+ my $drv = "$cwd/$dir_tex/ams.drv";
+
+ symlink $drv, "$doc.drv";
+ run("$prg_pdflatex $doc.drv");
+ run("$prg_pdflatex $doc.drv");
+ run("$prg_pdflatex $doc.drv");
+ run("$prg_pdflatex $doc.drv");
+ install_babel_pdf($doc);
+ }
+
+ chdir "$dir_build/babel";
+
+ my $greek_fdd = 'greek-fdd.drv';
+ open(OUT, ">$greek_fdd") or die "$error Cannot open `$greek_fdd'!\n";
+ print OUT "\\input{greek.fdd}\n";
+ close(OUT);
+
+ map { simple_doc($_); }
+ $greek_fdd, qw[
+ athnum.dtx
+ grmath.dtx
+ grsymb.dtx
+ bbidxglo.dtx
+ bbcompat.dtx
+ greek-usage.tex
+ ];
+
+ map { generate_babel_doc($_); } qw[
+ tb1202
+ tb1401
+ tb1604
+ ];
+
+ run("$prg_pdflatex babel.tex");
+ run_makeindex('babel.idx', 'bbind.ist');
+ run_makeindex('babel.glo', 'bbglo.ist', 'babel.gls');
+ run("$prg_pdflatex babel.tex");
+ run_makeindex('babel.idx', 'bbind.ist');
+ run_makeindex('babel.glo', 'bbglo.ist', 'babel.gls');
+ run("$prg_pdflatex babel.tex");
+ run("$prg_pdflatex babel.tex");
+ install_babel_pdf('babel');
+
+ chdir $cwd;
+}
+
+### Generate documentation for tds
+if ($modules{'tds'}) {
+ section('Documentation: tds');
+
+ chdir "$dir_build/tds";
+
+ my $file_tds = 'tds.tex';
+ my $file_tds_new = 'tds.new';
+
+ # make nicer references and use CVS date instead of current date
+ open(IN, $file_tds) or die "$error Cannot open `$file_tds'!\n";
+ open(OUT, '>', $file_tds_new) or die "$error Cannot write `$file_tds_new'!\n";
+ while (<IN>) {
+ s/Appendix~\\ref/\\appref/g;
+ s/Section~\\ref/\\secref/g;
+ if (/^% \$Id:.* (\d\d\d\d)\/(\d\d)\/(\d\d) /) {
+ print OUT <<"END_TEXT";
+\\year=$1\\relax
+\\month=$2\\relax
+\\day=$3\\relax
+END_TEXT
+ }
+ print OUT;
+ }
+ close(OUT);
+ close(IN);
+
+ unlink('tds.aux');
+ run("$prg_pdflatex $file_tds_new");
+ run("$prg_pdflatex $file_tds_new");
+ run("$prg_pdflatex $file_tds_new");
+ install_gen_pdf('', 'tds', 'tds');
+
+ chdir $cwd;
+}
+
+### Module source
+if ($modules{'source'}) {
+ section('Module source');
+
+ my $dir_dest = "$dir_build/source/texmf/source/latex/latex-tds";
+ my $dir_scripts = "$dir_build/source/texmf/scripts";
+
+ install $dir_dest, qw[
+ build.pl
+ readme.txt
+ ];
+ install "$dir_dest/tex", glob("$dir_tex/*.*");
+ install "$dir_dest/patch", glob("$dir_patch/*.*");
+ install "$dir_dest/lib", $file_ziptimetree;
+ install "$dir_dest/lib", $file_adjust_checksum;
+ install "$dir_dest/license", "$dir_license/lppl.txt";
+ install "$dir_dest/license/ziptimetree", "$dir_license/ziptimetree/lgpl.txt";
+ install $dir_distrib, 'readme.txt';
+}
+
+### Module latex-tds
+if ($modules{$prj}) {
+ section('Module latex-tds');
+
+ my $dir = "$dir_build/$prj";
+ ensure_directory($dir);
+ my $cmd_rsync = "$prg_rsync " . join ' ', qw[
+ --recursive
+ --times
+ --perms
+ --owner
+ --group
+ --hard-links
+ ];
+ for (@pkg_list) {
+ next if $_ eq $prj;
+ my $reftree = "$dir_build/$_";
+ next unless -d "$reftree/texmf";
+ run("$cmd_rsync --link-dest=$cwd/$reftree $reftree/texmf $dir");
+ }
+}
+
+### Pack result
+section('Distrib');
+{
+ ensure_directory($dir_distrib);
+
+ # write zip comment file
+ open(OUT, '>', $file_zip_comment)
+ or die "$error Cannot write file `$file_zip_comment'!\n";
+ print OUT $zip_comment;
+ close OUT;
+
+ for my $pkg (@list_modules) {
+ my $dir_tds = "$dir_build/$pkg/texmf";
+ my $file_distrib = "$cwd/$dir_distrib/$pkg.zip";
+ if (-d $dir_tds) {
+ run_zip($file_distrib, $dir_tds);
+ }
+ else {
+ print "!!! Warning: Missing TDS tree for `$pkg'!\n";
+ }
+ }
+}
+
+### Display result
+section('Result');
+{
+ for my $pkg (@list_modules) {
+ my $file = "$dir_distrib/$pkg.zip";
+ if (-f $file) {
+ system("$prg_ls -l $file");
+ system("$prg_ls -l $dir_distrib/readme.txt")if $pkg eq 'source';
+ }
+ else {
+ print "!!! Warning: Missing distribution for `$pkg'!\n";
+ }
+ }
+
+ # display time
+ my $time_diff = time - $time_start;
+ my $time_str = sprintf "%d:%02d:%02d\n",
+ $time_diff / 3600,
+ ($time_diff % 3600) / 60,
+ ($time_diff % 3600) % 60;
+ $time_str =~ s/^0:0?//;
+ print "* Elapsed time: $time_str\n";
+}
+
+sub install ($@) {
+ my $dir_target = shift;
+ my @list = @_;
+
+ ensure_directory($dir_target);
+ run("$prg_cp @list $dir_target/");
+ 1;
+}
+
+sub install_gen_pdf ($$$) {
+ my $fmt = shift;
+ my $pkg = shift;
+ my $file_base = shift;
+ my $file_source = "$file_base.pdf";
+ my $dir_dest = "texmf/doc/$fmt/$pkg";
+ my $file_dest = "$dir_dest/$file_base.pdf";
+
+ ensure_directory($dir_dest);
+ if ($opt_postprocess) {
+ printsize($file_source, 0);
+ if (-f $jar_pdfbox_rewrite) {
+ run("$prg_java -jar $jar_pdfbox_rewrite $file_source $file_tmp");
+ }
+ else {
+ run("$prg_cp $file_source $file_tmp");
+ }
+ run("$prg_java -cp $jar_multivalent tool.pdf.Compress -old $file_tmp");
+ run("$prg_mv $file_tmp_o $file_dest");
+ printsize($file_dest, 1);
+ }
+ else {
+ run("$prg_cp $file_source $file_dest");
+ }
+ 1;
+}
+sub install_pdf ($$) {
+ my $pkg = shift;
+ my $file_base = shift;
+
+ install_gen_pdf('latex', $pkg, $file_base);
+}
+
+sub printsize ($$) {
+ my $file = shift;
+ my $modus = shift;
+ my $size = (stat($file))[7];
+ $size =~ s/(\d)(\d{6})$/$1.$2/;
+ $size =~ s/(\d)(\d{3})$/$1.$2/;
+ $size = " " x (9 - length($size)) . $size;
+ if ($modus == 0) {
+ print "*" x 78 . "\n";
+ print "* $size $file\n";
+ }
+ else {
+ print "* $size $file\n";
+ print "*" x 78 . "\n";
+ print "\n";
+ }
+}
+
+sub ensure_directory ($) {
+ my $dir = shift;
+
+ return 1 if -d $dir;
+ run("$prg_mkdir -p '$dir'");
+ return 1 if -d $dir;
+ die "$error Cannot generate directory `$dir'!\n";
+}
+
+sub section ($) {
+ my $title = shift;
+
+ print "\n=== $title ===\n";
+ 1;
+}
+
+sub run ($) {
+ my $cmd = shift;
+
+ info("system: $cmd");
+ my $ret = system($cmd);
+ if ($ret != 0) {
+ if ($? == -1) {
+ die "$error Failed to execute: $!\n";
+ }
+ elsif ($? & 127) {
+ die "$error Child died with signal "
+ . ($? & 127)
+ . (($? & 128) ? ' with coredump' : '')
+ . "!\n";
+ }
+ else {
+ die "$error Child exited with value " . ($? >> 8) . "!\n";
+ }
+ }
+ 1;
+}
+
+sub run_makeindex ($;$$) {
+ my $input_file = shift;
+ my $style_file = shift;
+ my $output_file = shift;
+
+ return 1 unless -f $input_file;
+ my $cmd = $prg_makeindex;
+ $cmd .= " -s $style_file" if $style_file;
+ $cmd .= " -o $output_file" if $output_file;
+ $cmd .= " $input_file";
+ run($cmd);
+}
+
+sub run_zip ($$) {
+ my $zip_file = shift;
+ my $dir_start = shift;
+ run("$prg_ziptimetree --verbose --noroot $zip_file $dir_start");
+ run("$prg_zip -z $zip_file <$file_zip_comment");
+}
+
+sub info ($) {
+ my $msg = shift;
+ print "* $msg\n";
+ 1;
+}
+
+sub cvs ($) {
+ $_ = shift;
+ s/^\$\w+:?\s*(\S*).*\$$/$1/;
+ $_ = "v$_" if /\./;
+ $_;
+}
+
+sub patch ($) {
+ my $file = shift;
+ my $patch = $file;
+ $patch =~ s/^.*\/([^\/]+)$/$1/;
+ run("$prg_patch $dir_build/$file $dir_patch/$patch.diff");
+}
+
+sub get_perl_script ($) {
+ # Either the source of latex-tds is unpacked as TDS tree,
+ # then the perl script is below TDS:scripts/
+ # or it can be put into the lib directory $dir_lib that I am using.
+ my $script = shift;
+ if (-f "$cwd/$dir_lib/$script.pl") {
+ $script = "$cwd/$dir_lib/$script.pl";
+ }
+ else {
+ if (-f "$cwd/../../../scripts/latex-tds/$script.pl") {
+ $script = "$cwd/../../../scripts/latex-tds/$script.pl";
+ }
+ else {
+ $script = "$cwd/../../../scripts/$script/$script.pl";
+ }
+ }
+ die "$error Script $script.pl not found!\n" unless -f $script;
+ run("$prg_chmod +x $script") unless -x $script;
+ die "$error Script $script is not executable!\n" unless -x $script;
+ $script;
+}
+
+__END__
diff --git a/Master/texmf-dist/source/latex/latex-tds/lib/adjust_checksum.pl b/Master/texmf-dist/source/latex/latex-tds/lib/adjust_checksum.pl
new file mode 100755
index 00000000000..9998a886c69
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/lib/adjust_checksum.pl
@@ -0,0 +1,160 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
+ if 0;
+use strict;
+$^W=1; # turn warning on
+#
+# adjust_checksum.pl
+#
+# Copyright (C) 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+#
+# This work may be distributed and/or modified under the
+# conditions of the LaTeX Project Public License, either
+# version 1.3 of this license or (at your option) any later
+# version. The latest version of this license is in
+# http://www.latex-project.org/lppl.txt
+# and version 1.3 or later is part of all distributions of
+# LaTeX version 2003/12/01 or later.
+#
+# This work has the LPPL maintenance status "maintained".
+#
+# This Current Maintainer of this work is Heiko Oberdiek.
+#
+# This work consists of this file.
+#
+# This file "adjust_checksum.pl" may be renamed to "adjust_checksum"
+# for installation purposes.
+#
+my $file = "adjust_checksum.pl";
+my $program = uc($&) if $file =~ /^\w+/;
+my $version = "1.1";
+my $date = "2006/02/12";
+my $author = "Heiko Oberdiek";
+my $copyright = "Copyright (c) 2002, 2006 by $author.";
+#
+# Reqirements: Perl5, Linux
+# History:
+# 2002/03/15 v1.0: First release.
+# 2006/02/12 v1.1: Fix for \Checksum{0}.
+#
+
+my $tempdir = "tmp_\L$program\E_$$";
+
+### program identification
+my $title = "$program $version, $date - $copyright\n";
+
+my $usage = <<"END_OF_USAGE";
+${title}Syntax: \L$program\E <file.dtx>
+Function: Correction of "\\Checksum{...}" entry in <file.dtx>.
+END_OF_USAGE
+
+### error strings
+my $Error = "!!! Error:"; # error prefix
+
+### parse command line arguments
+@ARGV == 1 or die $usage;
+my $dtxfile = $ARGV[0];
+
+print $title;
+
+### check dtx file
+-f $dtxfile or die "$Error File not found: '$dtxfile'!\n";
+
+### signals
+$SIG{__DIE__} = \&clean;
+$SIG{'HUP'} = \&clean;
+$SIG{'INT'} = \&clean;
+$SIG{'QUIT'} = \&clean;
+$SIG{'TERM'} = \&clean;
+
+### make temp dir
+mkdir $tempdir;
+-d $tempdir or die "$Error Cannot create directory '$tempdir'!\n";
+
+### copy dtx file
+my $tempdtxfile = $dtxfile;
+$tempdtxfile =~ s/.*\///;
+my $latexfile = $tempdtxfile;
+$tempdtxfile = $tempdir . "/" . $tempdtxfile;
+
+system("cp $dtxfile $tempdtxfile");
+-f $tempdtxfile or die "$Error Cannot copy dtx file!\n";
+
+### run latex
+print "*** Running LaTeX ...\n";
+system("(cd $tempdir; latex --interaction=batchmode $latexfile)");
+
+my $logfile = $tempdtxfile;
+$logfile =~ s/\.[^\.]+$//;
+$logfile .= ".log";
+-f $logfile or die "$Error Cannot find log file '$logfile'!\n";
+
+### parse log file for CheckSum
+print "*** Looking for checksum statement ...\n";
+my $found = 0;
+my $changed = 0;
+my $old = 0;
+my $new = 0;
+open(LOG, $logfile) or die "$Error Cannot open log file '$logfile'!\n";
+while (<LOG>) {
+ if (/\* Checksum passed \*/) {
+ $found = 1;
+ $changed = 0;
+ print "==> Checksum passed.\n";
+ last;
+ }
+ if (/Checksum not passed \((\d+)<>(\d+)\)/) {
+ $found = 1;
+ $changed = 1;
+ $old = $1;
+ $new = $2;
+ last;
+ }
+ if (/The checksum should be (\d+)!/) {
+ $found = 1;
+ $changed = 1;
+ $old = 0;
+ $new = $1;
+ last;
+ }
+}
+close(LOG);
+
+$found or die "$Error Checksum statement not found in log file!\n";
+
+if ($changed) {
+ print "==> Checksum not passed ($old<>$new).\n";
+
+ ### write changed dtx file
+ print "*** Fixing Checksum ...\n";
+ my $fixed = 0;
+ open(IN, $tempdtxfile) or die "$Error Cannot open '$tempdtxfile'!\n";
+ open(OUT, ">$dtxfile") or die "$Error Cannot write '$dtxfile'!\n";
+ while (<IN>) {
+ if (s/\\CheckSum\{\d+\}/\\CheckSum{$new}/) {
+ $fixed++;
+ print "==> Checksum fixed:\n$_";
+ }
+ print OUT;
+ }
+ close(IN);
+ close(OUT);
+
+ $fixed > 0 or
+ die "$Error: \"\\CheckSum{...}\" not found!\n";
+ $fixed == 1 or
+ die "$Error: More than one \"\\CheckSum\" command found!\n";
+}
+
+### cleaning
+sub clean {
+ if (-d $tempdir) {
+ unlink glob("$tempdir/*");
+ rmdir $tempdir;
+ }
+}
+
+clean();
+
+print "*** Ready.\n";
+
+__END__
diff --git a/Master/texmf-dist/source/latex/latex-tds/lib/ziptimetree.pl b/Master/texmf-dist/source/latex/latex-tds/lib/ziptimetree.pl
new file mode 100755
index 00000000000..29633055da6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/lib/ziptimetree.pl
@@ -0,0 +1,368 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
+ if 0;
+use strict;
+$^W=1; # turn warning on
+#
+# ziptimetree.pl
+#
+# Packs a directory tree into a ZIP file with sorted entries
+# and corrects file permissions and directory dates.
+#
+# Copyright 2006 Heiko Oberdiek.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301 USA
+#
+# Address: oberdiek at uni-freiburg.de
+#
+my $file = 'ziptimetree';
+my $program = 'ZIP-TimeTree';
+my $version = '1.2';
+my $date = '2006/06/15';
+my $author = 'Heiko Oberdiek';
+my $copyright = "Copyright (C) 2006 by $author.";
+#
+# History:
+# 2006/06/04 v1.0: First release.
+# 2006/06/07 v1.1: License LGPL.
+# 2006/06/15 v1.2: Small correction in option code.
+
+### program identification
+my $title = "$program $version, $date - $copyright\n";
+
+### error strings
+my $error = "!!! Error:"; # error prefix
+my $warning = "!!! Warning:";
+
+### file modes (type and permission)
+my $mode_directory = 040755; # drwxr-xr-x
+my $mode_file_regular = 0100644; # -rw-r--r--
+my $mode_file_exec = 0100755; # -rwxr-xr-x
+
+### programs
+my $prg_zip = 'zip';
+my $prg_pwd = 'pwd';
+
+### file extensions
+my $ext_zip = '.zip';
+
+### counters
+my $count_dir = 0;
+my $count_file = 0;
+my $count_exclude = 0;
+my $count_mode = 0;
+my $count_time = 0;
+my $count_warn = 0;
+
+### log levels
+my $log_quiet = 0;
+my $log_normal = 1;
+my $log_verbose = 2;
+my $log_debug = 3;
+
+### option variables
+my $help = 0;
+my $log_level = 1;
+my $compression = 9;
+my $root = 1;
+my $update = 0;
+my @exclude;
+my $tree;
+my $zipfile;
+
+my $usage = <<"END_OF_USAGE";
+${title}
+Syntax: $file [options] <zipfile> <treedir>
+
+ <zipfile> The file where the result is stored as zipped file.
+ The name must end in '.zip'.
+ <treedir> Specifies the root of a directory tree whose
+ directories and files are packed into the <zipfile>.
+
+Functions:
+* The permissions in the directory tree are normalized:
+ drwxr-xr-x directories
+ -rwxr-xr-x executable files
+ -rw-r--r-- regular files
+* The time stamps of the directories are set to the time of the
+ latest file somewhere below that directory.
+* The zip file is created with the same time as the latest file
+ inside the archive.
+* Also the entries are orderd by depth-first and name:
+ * The directory tree is traversed in deep-first order.
+ * If a directory is reached, first its directory entries are
+ processed in alphabetical order. Then its files are added,
+ sorted by names.
+
+Options: defaults:
+ --help print usage
+ --quiet quiet except for warnings and errors
+ --verbose verbose output
+ --debug debug output
+ -0 .. -9 store only .. best compression (-9)
+ --(no)update zip file is not deleted before creating (--noupdate)
+ --(no)root use/strip root directory name (--root)
+ --exclude <pattern> exclude files by regular expression
+
+File exclusion:
+ Option --exclude allows you to specify pattern that are
+ used to exclude files from packing into the zipfile.
+ The option can be invoked several times, the pattern are
+ collected in a list.
+ During the tree traversal the name of files and directories
+ are generated. Depending on the state of option --root these
+ names may or may not include the root directory name.
+ In order to distinguish between files and directories, a slash
+ is appended to a directory name. Then the patterns are used
+ as regular expressions. Files or directories which names matches
+ are excluded, in case of directories the whole tree.
+
+END_OF_USAGE
+
+### process options
+use Getopt::Long;
+GetOptions(
+ '0' => sub { $compression = 0 },
+ '1' => sub { $compression = 1 },
+ '2' => sub { $compression = 2 },
+ '3' => sub { $compression = 3 },
+ '4' => sub { $compression = 4 },
+ '5' => sub { $compression = 5 },
+ '6' => sub { $compression = 6 },
+ '7' => sub { $compression = 7 },
+ '8' => sub { $compression = 8 },
+ '9' => sub { $compression = 9 },
+ 'help!' => sub { die $usage },
+ 'quiet' => sub { $log_level = $log_quiet },
+ 'verbose' => sub { $log_level = $log_verbose },
+ 'debug' => sub { $log_level = $log_debug },
+ 'update!' => \$update,
+ 'root!' => \$root,
+ 'exclude=s' => \@exclude,
+) or die $usage;
+
+@ARGV == 2 or die $usage;
+$zipfile = shift @ARGV;
+$tree = shift @ARGV;
+
+### Report functions
+
+sub debug ($$) {
+ my $type = shift;
+ my $data = shift;
+ print "[$type] $data\n" if $log_level >= $log_debug;
+ 1;
+}
+sub verbose ($$) {
+ my $type = shift;
+ my $data = shift;
+ print "[$type] $data\n" if $log_level >= $log_verbose;
+}
+sub info ($$) {
+ my $type = shift;
+ my $data = shift;
+ print "[$type] $data\n" if $log_level >= $log_normal;
+ 1;
+}
+sub warning ($) {
+ my $msg = shift;
+ $count_warn++;
+ warn "$warning $msg\n";
+ 1;
+}
+
+### File operations
+
+sub excluded ($) {
+ my $file = shift;
+ $count_exclude++;
+ info 'excluded', $file;
+ 1;
+}
+sub changemod ($$) {
+ my $mode = shift;
+ my $file = shift;
+ my $chmod = sprintf('chmod %lo', $mode);
+ $count_mode++;
+ info $chmod, $file;
+ chmod $mode, $file or warning "Mode change failed: $file";
+}
+sub touch ($$) {
+ my $time = shift;
+ my $dir = shift;
+ my $mtime = (stat $dir)[9];
+ if ($mtime != $time) {
+ $count_time++;
+ info 'touch', $dir;
+ utime $time, $time, $dir or warning "Time update failed: $dir";
+ }
+}
+
+### Title
+print $title if $log_level >= $log_normal;
+
+use Cwd qw(getcwd abs_path);
+use File::Spec::Functions;
+
+# check $tree
+-d $tree or die "$error Directory does not exist: $tree\n";
+
+# zip file name
+$zipfile =~ /\.zip$/ or
+ die "$error Wrong file extension of zip file: $zipfile\n";
+
+# Option --noroot requires directory change because of program zip.
+my $cwd;
+if ($root) {
+ verbose 'zipfile', $zipfile;
+}
+else {
+ # adjust path of zipfile
+ $zipfile = abs_path($zipfile);
+ verbose 'zipfile', $zipfile;
+
+ # change directory
+ debug 'curdir', getcwd;
+ chdir $tree or die "$error Cannot change directory: $tree\n";
+}
+debug 'workdir', getcwd;
+
+my @list; # stores names as input for program zip
+
+# directory permissions should be checked before traversal
+if ($root) {
+ my $mode = (stat($tree))[2];
+ changemod $mode_directory, $tree unless $mode == $mode_directory;
+}
+
+sub traverse ($);
+sub traverse ($) {
+ my $dir = shift;
+
+ my $traverse_dir = ($dir) ? $dir : curdir;
+ debug 'traverse', $traverse_dir;
+ unless (opendir DIR, $traverse_dir) {
+ warning "Cannot open directory: $traverse_dir";
+ return 0;
+ }
+ my @sub_list = sort
+ grep { !/^[.]{1,2}$/ }
+ readdir DIR;
+ @sub_list = map { catfile $dir, $_ } @sub_list if $dir;
+ closedir DIR;
+ if ($dir) {
+ push @list, $dir;
+ $count_dir++;
+ }
+
+ my @sub_dirs;
+ my @sub_files;
+
+ for (@sub_list) {
+ if (-d $_) {
+ push @sub_dirs, $_;
+ next;
+ }
+ if (-f $_) {
+ push @sub_files, $_;
+ next;
+ }
+ warning "Unknown file type ignored: $_";
+ }
+
+ for my $exclude (@exclude) {
+ @sub_dirs = grep { not("$_/" =~ /$exclude/ and excluded "$_/") }
+ @sub_dirs;
+ @sub_files = grep { not(/$exclude/ and excluded $_) }
+ @sub_files;
+ }
+
+ @sub_dirs = grep { traverse $_ } @sub_dirs;
+ push @list, @sub_files;
+ $count_file += @sub_files;
+
+ my $time_max = 0;
+ for (@sub_dirs, @sub_files) {
+ my ($mode, $mtime) = (stat $_)[2,9];
+
+ $time_max = $mtime if $mtime > $time_max;
+
+ if (-d $_) {
+ changemod $mode_directory, $_ unless $mode == $mode_directory;
+ }
+ else {
+ my $mode_file = ((-x $_) ? $mode_file_exec : $mode_file_regular);
+ changemod $mode_file, $_ unless $mode == $mode_file;
+ }
+ }
+
+ touch $time_max, $dir if $dir;
+
+ 1;
+}
+
+traverse(($root) ? $tree : '');
+
+if (-f $zipfile) {
+ if ($update) {
+ info 'update', $zipfile;
+ }
+ else {
+ info 'delete/create', $zipfile;
+ unlink $zipfile or warning "Cannot delete: $zipfile";
+ }
+}
+else {
+ info 'create', $zipfile;
+}
+
+my $opts = " -o$compression";
+$opts .= "v" if $log_level >= $log_debug;
+$opts .= "q" if $log_level <= $log_normal;
+my $pipe = "|$prg_zip$opts $zipfile -\@";
+debug 'zip call', $pipe;
+
+open(ZIP, $pipe) or die "$error Cannot start `zip'!\n";
+for (@list) {
+ print ZIP "$_\n";
+}
+close(ZIP) or
+ die $! ? "$error Closing `zip': $!\n"
+ : "$error `zip' reports error code $?\n";
+
+-f $zipfile or die "$error Missing result zip file: $zipfile\n";
+
+info 'stats', "$count_exclude entries excluded" if $count_exclude > 1;
+info 'stats', "$count_exclude entry excluded" if $count_exclude == 1;
+info 'stats', "$count_mode mode changes" if $count_mode > 1;
+info 'stats', "$count_mode mode change" if $count_mode == 1;
+info 'stats', "$count_time time updates" if $count_time > 1;
+info 'stats', "$count_time time update" if $count_time == 1;
+info 'stats', "$count_dir directories added" if $count_dir != 1;
+info 'stats', "$count_dir directory added" if $count_dir == 1;
+info 'stats', "$count_file files added" if $count_file != 1;
+info 'stats', "$count_file file added" if $count_file == 1;
+info 'stats', "$count_warn warnings" if $count_warn > 1;
+info 'stats', "$count_warn warning" if $count_warn == 1;
+
+my $size = (stat $zipfile)[7];
+$size = join '', reverse split '', $size;
+$size =~ s/(\d\d\d)/$1./g;
+$size =~ s/\.$//;
+$size = join '', reverse split '', $size;
+
+print "--> $zipfile ($size bytes)\n" if $log_level >= $log_normal;
+
+__END__
diff --git a/Master/texmf-dist/source/latex/latex-tds/license/lppl.txt b/Master/texmf-dist/source/latex/latex-tds/license/lppl.txt
new file mode 100644
index 00000000000..90e5e3ab797
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/license/lppl.txt
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2006-05-20
+
+Copyright 1999 2002-2006 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/Master/texmf-dist/source/latex/latex-tds/license/ziptimetree/lgpl.txt b/Master/texmf-dist/source/latex/latex-tds/license/ziptimetree/lgpl.txt
new file mode 100644
index 00000000000..5ab7695ab8c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/license/ziptimetree/lgpl.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/albanian.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/albanian.dtx.diff
new file mode 100644
index 00000000000..42bad0ae1f1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/albanian.dtx.diff
@@ -0,0 +1,32 @@
+*** albanian.dtx.org 2005-11-23 22:23:00.000000000 +0100
+--- albanian.dtx 2006-06-02 19:20:50.000000000 +0200
+***************
+*** 1,5 ****
+--- 1,9 ----
+ % \iffalse meta-comment
+ %
++ % Patched by Heiko Oberdiek for project latex-tds:
++ % * 2006/06/02: Documentation bug: incomplete first paragraph
++ % with open \footnote macro.
++ %
+ % Copyright 1989-2005 Johannes L. Braams and any individual authors
+ % listed elsewhere in this file. All rights reserved.
+ %
+***************
+*** 69,75 ****
+ %
+ % The file \file{\filename}\footnote{The file described in this
+ % section has version number \fileversion\ and was last revised on
+! % \filedate.
+ %
+ % Albanian is written in a latin script, but it has 36 leters,
+ % 9 which are diletters (dh, gj, ll, nj, rr, sh, th, xh, zh),
+--- 73,80 ----
+ %
+ % The file \file{\filename}\footnote{The file described in this
+ % section has version number \fileversion\ and was last revised on
+! % \filedate.} defines all the language definition macros for the
+! % Albanian language.
+ %
+ % Albanian is written in a latin script, but it has 36 leters,
+ % 9 which are diletters (dh, gj, ll, nj, rr, sh, th, xh, zh),
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/athnum.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/athnum.dtx.diff
new file mode 100644
index 00000000000..f5b2f27f58a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/athnum.dtx.diff
@@ -0,0 +1,23 @@
+*** athnum.dtx.org 2005-04-01 00:37:00.000000000 +0200
+--- athnum.dtx 2006-06-02 19:08:14.000000000 +0200
+***************
+*** 1,5 ****
+--- 1,8 ----
+ % \iffalse meta-comment
+ %
++ % Patched by Heiko Oberdiek for project latex-tds:
++ % * 2006/06/02: Documentation bug: \CharacterTable without argument removed.
++ %
+ % Copyright 1989-2005 Johannes L. Braams and any individual authors
+ % listed elsewhere in this file. All rights reserved.
+ %
+***************
+*** 27,33 ****
+ % extension .ins) which are part of the distribution.
+ % \fi
+ %% \CheckSum{125}
+- %% \CharacterTable
+ %\iffalse
+ %
+ %% This is file `athnum.dtx'
+--- 30,35 ----
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/bbcompat.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/bbcompat.dtx.diff
new file mode 100644
index 00000000000..e3e2aecdd92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/bbcompat.dtx.diff
@@ -0,0 +1,30 @@
+*** bbcompat.dtx.org 2005-11-23 22:23:00.000000000 +0100
+--- bbcompat.dtx 2006-06-02 18:57:27.000000000 +0200
+***************
+*** 1,5 ****
+--- 1,8 ----
+ % \iffalse meta-comment
+ %
++ % Patched by Heiko Oberdiek for project latex-tds:
++ % * 2006/06/02: Documentation bug fix: \cd -> \cs (typo)
++ %
+ % Copyright 1989-2005 Johannes L. Braams and any individual authors
+ % listed elsewhere in this file. All rights reserved.
+ %
+***************
+*** 59,65 ****
+ % \changes{bbcompat-1.2}{1996/11/02}{Added the check for \cs{LdfInit}}
+ % \changes{bbcompat-1.2d}{1999/04/12}{When these files are read by a
+ % non-babel plain format the @ has still category code `other' so
+! % can't use \cd{@undefined}}
+ % \begin{macrocode}
+ \ifx\LdfInit\undefined
+ \def\LdfInit{%
+--- 62,68 ----
+ % \changes{bbcompat-1.2}{1996/11/02}{Added the check for \cs{LdfInit}}
+ % \changes{bbcompat-1.2d}{1999/04/12}{When these files are read by a
+ % non-babel plain format the @ has still category code `other' so
+! % can't use \cs{@undefined}}
+ % \begin{macrocode}
+ \ifx\LdfInit\undefined
+ \def\LdfInit{%
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/classes.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/classes.dtx.diff
new file mode 100644
index 00000000000..88e5ba740fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/classes.dtx.diff
@@ -0,0 +1,12 @@
+*** classes.dtx.org 2006-05-21 17:26:00.000000000 +0200
+--- classes.dtx 2006-07-25 09:28:43.000000000 +0200
+***************
+*** 135,140 ****
+--- 135,141 ----
+ % We do want an index, using linenumbers
+ % \begin{macrocode}
+ \EnableCrossrefs
++ \CodelineIndex
+ % \end{macrocode}
+ % We use so many \file{docstrip} modules that we set the
+ % \texttt{StandardModuleDepth} counter to 1.
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/finnish.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/finnish.dtx.diff
new file mode 100644
index 00000000000..b1a14f4b765
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/finnish.dtx.diff
@@ -0,0 +1,31 @@
+*** finnish.dtx.org 2005-04-01 00:39:00.000000000 +0200
+--- finnish.dtx 2006-06-02 19:51:30.000000000 +0200
+***************
+*** 1,5 ****
+--- 1,9 ----
+ % \iffalse meta-comment
+ %
++ % Patched by Heiko Oberdiek for project latex-tds:
++ % * 2006/06/02: Documentation bug: "=" cannot be used in
++ % a \changes entry.
++ %
+ % Copyright 1989-2005 Johannes L. Braams and any individual authors
+ % listed elsewhere in this file. All rights reserved.
+ %
+***************
+*** 283,289 ****
+ % \end{macrocode}
+ % then we define two shorthands to be able to specify hyphenation
+ % breakpoints that behave a little different from |\-|.
+! % \changes{finnish-1.3p}{2001/11/13}{\texttt{"=} should also use
+ % \cs{bbl@allowhyphens}}
+ % \begin{macrocode}
+ \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
+--- 287,293 ----
+ % \end{macrocode}
+ % then we define two shorthands to be able to specify hyphenation
+ % breakpoints that behave a little different from |\-|.
+! % \changes{finnish-1.3p}{2001/11/13}{\texttt{\symbol{34}\symbol{61}} should also use
+ % \cs{bbl@allowhyphens}}
+ % \begin{macrocode}
+ \declare@shorthand{finnish}{"-}{\nobreak-\bbl@allowhyphens}
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/frenchb.dtx.diff b/Master/texmf-dist/source/latex/latex-tds/patch/frenchb.dtx.diff
new file mode 100644
index 00000000000..6befada8b12
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/frenchb.dtx.diff
@@ -0,0 +1,30 @@
+*** frenchb.dtx.org 2005-04-01 00:39:00.000000000 +0200
+--- frenchb.dtx 2006-06-02 19:59:31.000000000 +0200
+***************
+*** 1,5 ****
+--- 1,8 ----
+ % \iffalse meta-comment
+ %
++ % Patched by Heiko Oberdiek for project latex-tds:
++ % * 2006/06/02: Documentation bug: "!" cannot be used inside \changes.
++ %
+ % Copyright 1989-2005 Johannes L. Braams and any individual authors
+ % listed elsewhere in this file. All rights reserved.
+ %
+***************
+*** 679,685 ****
+ %
+ % \changes{frenchb-1.5g}{2001/09/09}{Let \cs{LdfInit} check for
+ % \cs{datefrench} instead of \cs{NoAutoSpaceBeforeFDP},
+! % as the later is also defined by russianb.ldf!}
+ %
+ % \begin{macrocode}
+ %<*code>
+--- 682,688 ----
+ %
+ % \changes{frenchb-1.5g}{2001/09/09}{Let \cs{LdfInit} check for
+ % \cs{datefrench} instead of \cs{NoAutoSpaceBeforeFDP},
+! % as the later is also defined by russianb.ldf}
+ %
+ % \begin{macrocode}
+ %<*code>
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/greek.ins.diff b/Master/texmf-dist/source/latex/latex-tds/patch/greek.ins.diff
new file mode 100644
index 00000000000..1ee93fa22b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/patch/greek.ins.diff
@@ -0,0 +1,20 @@
+*** greek.ins.org 2005-04-01 00:39:00.000000000 +0200
+--- greek.ins 2006-06-02 18:31:55.000000000 +0200
+***************
+*** 1,3 ****
+--- 1,5 ----
++ %% Patched by Heiko Oberdiek for project latex-tds:
++ %% * 2006/06/02: generation of grsymb.sty added.
+ %%
+ %% This file will generate fast loadable files and documentation
+ %% driver files from the doc files in this package when run through
+***************
+*** 129,134 ****
+--- 131,137 ----
+ \generate{\file{greek.ldf}{\from{greek.dtx}{code}}
+ \file{athnum.sty}{\from{athnum.dtx}{package}}
+ \file{grmath.sty}{\from{grmath.dtx}{package}}
++ \file{grsymb.sty}{\from{grsymb.dtx}{package}}
+ }
+ \usepreamble\fdpreamble
+ \generate{\file{lgrenc.def}{\from{greek.fdd}{LGRenc}}
diff --git a/Master/texmf-dist/source/latex/latex-tds/readme.txt b/Master/texmf-dist/source/latex/latex-tds/readme.txt
new file mode 100644
index 00000000000..f56555c7145
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/readme.txt
@@ -0,0 +1,415 @@
+readme.txt for project latex-tds, 2006/08/28
+
+TABLE OF CONTENTS
+=================
+A. Abbreviations, Glossary
+B. Project latex-tds
+C. Download
+D. Installation Hints
+E. Copyright, License
+F. Manifest
+G. Design Principles
+H. Remarks
+I. Build Hints
+J. History
+
+
+A. ABBREVIATIONS, GLOSSARY
+==========================
+[CTAN]
+ Comprehensive TeX Archive Network.
+ FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives
+ For example, you can resolve the prefix `CTAN:' by using
+ `ftp://ftp.ctan.org/tex-archive/'.
+[latex-tds]
+ The name of this project.
+[TDS]
+ TeX Directory Structure.
+ FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds
+ Specification: CTAN:tds.zip
+
+
+B. PROJECT LATEX-TDS
+====================
+
+How it has started
+------------------
+The project started as I wanted to install the new LaTeX release 2005/12/01
+that was announced at 2006/04/27. However the files aren't packed in
+TDS format, ready for unpacking in the destination directory. And
+the documentation files were not yet generated or the provided
+PDF files are lacking of basic features such as bookmarks or link support.
+Thus this project has started. I thought it could be finished during
+the afternoon at the day of the announcement ...
+
+Goals of the project
+--------------------
+* From the sources a TDS compliant tree is constructed and populated.
+ The zipped result is distributed.
+* All the documentation is generated from the sources. The PDF files
+ are user friendly and provide navigational support with bookmarks
+ and links.
+* The PDF files are post-processed to reduce the file size.
+
+Scope
+-----
+I don't have the time to assemble a TeX distribution with
+thousands of packages. Therefore I restricted myself to the
+LaTeX base distribution and the required bundles.
+In the following I will use the term `module' for a package bundle.
+
+Module list
+-----------
+* base CTAN:macros/latex/base.zip
+* tools CTAN:macros/latex/required/tools.zip
+* cyrillic CTAN:macros/latex/required/cyrillic.zip
+* amslatex CTAN:macros/latex/required/amslatex.zip
+ ftp://ftp.ams.org/pub/tex/amslatex.zip
+ ftp://ftp.ams.org/pub/tex/amsrefs.zip
+* psnfss CTAN:macros/latex/required/psnfss.zip
+* babel CTAN:macros/latex/required/babel.zip
+* tds CTAN:tds.zip
+
+Author
+------
+Heiko Oberdiek <oberdiek at uni-freiburg.de>
+
+
+C. DOWNLOAD
+===========
+
+The home of the project is located at:
+ CTAN:macros/latex/contrib/latex-tds/
+
+The following files can be downloaded:
+* readme.txt (this file)
+* The module distribution files, see the module list above
+ for the available modules, e.g:
+ base.zip
+ tools.zip
+ ...
+* The sources, mainly the build script, configuration and
+ driver files, and patches:
+ source.zip
+ Some of the used tools are not provided, see section
+ `Building Hints'.
+* And the universe, the contents of all the ZIP files above,
+ merged together:
+ latex-tds.zip
+
+It is possible that some or all ZIP archive files are also available
+in the install subtree, then possible locations could be:
+ CTAN:install/macros/latex/base.zip
+ CTAN:install/macros/latex/required/tools.zip
+ ...
+
+
+C. INSTALLATION HINTS
+=====================
+
+Hopefully the result of this project helps you in the installation
+process. You get a TDS compliant tree just by unpacking.
+
+Example:
+ cd /some/where/texmf
+ unzip latex-tds
+or unzip's option `-d':
+ unzip latex-tds -d /some/where/texmf
+
+Instead of the universe ZIP files single modules can be selected.
+
+Important to remember, point your unpack process right in
+the root directory of your TDS tree. The directory structure
+in the ZIP files start with the top-level directories:
+ doc/latex/base/...
+ tex/latex/tools/...
+ source/...
+Rationale: The root directory of a TDS tree can have different
+names, such as texmf-dist, texmf-local, ...
+
+Hints
+-----
+* Refresh the file name database.
+* Be aware that unpacking can insert and update files, but never
+ deletes obsolete ones. Remainders of previous releases can
+ cause trouble.
+* Depending on the module further installation steps can be
+ necessary, consult the module's own documentation.
+
+[base]
+ * The default texsys.cfg that LaTeX provides is put
+ into tex/latex/base. It must be removed, if you need
+ a specialized version. Consult your TeX distribution
+ and doc/latex/base/source2e.pdf (module ltdirchk).
+ Usually changes are not required for many TeX distributions
+ such as Unix (web2c), MikTeX, ...
+ * Formats need rebuilding (e.g., fmtutil).
+[babel]
+ * Most hyphenation patterns aren't provided here. Usually you can
+ find them somewhere below CTAN:language/hyphenation.
+ * Language configuration (language.dat), see the documentation of
+ your TeX distribution.
+ * Formats need rebuilding.
+[psnfss]
+ * The map files need further configuring (e.g., updmap).
+[graphics]
+ * Module graphics doesn't provide all driver files, because some are
+ developed independently (pdftex.def, ...).
+
+
+D. COPYRIGHT, LICENSE
+=====================
+
+Copyright 2006 Heiko Oberdiek.
+
+License is LPPL 1.3c:
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Heiko Oberdiek.
+
+See the following section `Manifest' for a list of all files
+belonging to the project `latex-tds'.
+
+
+E. MANIFEST
+===========
+
+Included are the projects `adjust_checksum' and `ziptimetree'.
+They are projects of their own.
+
+Documentation
+-------------
+ readme.txt this file
+
+Licenses
+--------
+ license/lppl.txt LPPL (The LaTeX Project Public License)
+ for latex-tds and adjust_checksum
+ license/ziptimetree/lgpl.txt LGPL (GNU Lesser General Public License)
+ for ziptimetree
+
+Scripts
+-------
+ build.pl main script for building the distribution
+ lib/adjust_checksum.pl Perl script that runs a DTX file through
+ LaTeX and corrects its \Checksum if necessary
+ lib/ziptimetree.pl Perl script that generates a ZIP file from
+ a directory tree with sorted entries (LGPL)
+
+Configuration
+-------------
+ tex/docstrip.cfg enables TDS feature and creates directories
+ tex/errata.cfg for errata lists of latex/base
+ tex/hyperref.cfg hyperref configuration file
+ tex/ltnews.cfg for LaTeX News of latex/base
+ tex/ltxdoc.cfg setup for class ltxdoc
+ tex/ltxguide.cfg setup for the guide manuals in latex/base
+ and required/psnfss
+ tex/manual.cfg setup for errata list of the LaTeX manual
+ in latex/base
+ tex/tdsguide.cfg setup for class tdsguide.cls
+
+Documentation driver
+--------------------
+ tex/ams.drv generic doc driver for files from the
+ amslatex and babel bundle
+ tex/babel.tex doc driver with patches for babel.drv
+ tex/doc_lppl.tex doc driver for base/lppl.tex
+ tex/greek-usage.tex doc driver with patches for babel/usage.tex
+ tex/ltnews.tex master file that merges all base/ltnews*.tex
+ tex/ltxcheck.drv doc driver with patches for ltxcheck.tex
+ tex/psnfss2e.drv doc driver with patches for psnfss2e.tex
+ tex/tools-overview.cls class for tools.tex
+ tex/tools.tex master file for tools overview, generated
+ by the build.pl script from tools/manifest.txt
+
+Patches
+-------
+ patch/classes.dtx.diff patch for base/classes.dtx
+ patch/albanian.dtx.diff patch for babel/albanian.dtx
+ patch/athnum.dtx.diff patch for babel/athnum.dtx
+ patch/bbcompat.dtx.diff patch for babel/bbcompat.dtx
+ patch/finnish.dtx.diff patch for babel/finnish.dtx
+ patch/frenchb.dtx.diff patch for babel/frenchb.dtx
+ patch/greek.ins.diff patch for babel/greek.ins
+
+
+F. DESIGN PRINCIPLES
+====================
+
+* Compliance with the latest TDS specification.
+* No redundancy.
+* User friendly PDF files with navigational support:
+ * bookmarks
+ * links
+* Complete documentation. The documentation generation with
+ enhanced PDF files is the tricky part and should be saved
+ from the user.
+* Output format of generated documentation is PDF, see above.
+ Other formats such as DVI or PS are not generated and provided.
+* Documentation bundles are preferred to many partial documentation
+ files (e.g. source2e.pdf or ltnews.pdf).
+* If several expansion stages of a documentation are available,
+ then just the most complete expansion stage should be used.
+* Files that do not fit in a program sub tree of TDS stay below
+ TDS:source (e.g. latexbug.el from latex/base). Then they do not
+ get lost at least.
+* Page layout: a4paper with reduced vertical margins (exception: ltnews).
+ (This also decreases the page number usually.)
+* ...
+
+
+G. REMARKS
+==========
+
+Base
+----
+* source2e.pdf is used instead of many single lt*.pdf files.
+* ltnews.pdf is introduced to avoid cluttering the doc directory
+ with many single sheet ltnews*.pdf files.
+* ...
+
+Tools
+-----
+* Added: tools.pdf as overview/contents/index file with links
+ and short descriptions of the single packages. (It uses
+ the data from manifest.txt).
+* ...
+
+AmSLaTeX
+--------
+* The distribution from the AMS ftp site is used, because
+ the files are already sorted in TDS:
+ ftp://ftp.ams.org/pub/tex/amslatex.zip
+ ftp://ftp.ams.org/pub/tex/amsrefs.zip
+* ...
+
+Babel
+-----
+* Babel's TeX files consists of three groups of files:
+ 1. Hyphenation pattern, see below
+ 2. Generic files:
+ *.ldf (language definition files)
+ *.sty (from bbcompat.dtx, these are plain-TeX files,
+ LaTeX user have the package babel)
+ babel.def, switch.def
+ plain.def
+ b*plain.tex
+ esbst.tex
+ 3. LaTeX files:
+ *.fd
+ *enc.def (for package fontenc)
+ cp*.def, 8859-8.def, si960.def (for package inputenc)
+ babel.sty
+ romanidx.tex
+ athnum.sty, grmath.sty, grsymb.sty (greek.ins)
+ heb*.sty
+ Full TDS compliance would use different format subtrees
+ for the generic and LaTeX files. However practice (TeX Live, teTeX,
+ VTeX, ...) put them in `generic', mainly because of maintenance issues.
+ Also babel's *.ins files specify \usedir{tex/generic/babel}.
+ There can be problems, if different TDS trees have different
+ babel versions installed and the same file can be found both
+ in generic and latex. The natural search strategy for TDS compliant
+ trees would be to look first in tex/latex across the trees, then
+ in tex/generic. Thus it can happen to use files from the same
+ package, but different versions.
+ --> Therefore latex-tds put theses files in the generic subtree.
+* Babel already contains babel.pdf as documentation. It is a superset
+ of user.pdf. Thus I have dropped the latter one to avoid redundancy.
+ Also the name `babel.pdf' is much more useful (texdoc).
+* It is unclear, which hyphenation patterns are in the control of babel.
+ Comparing the version of duplicate hyphenation pattern files
+ in CTAN, I decided:
+ * iahyphen.tex -> TDS:tex/generic/hyphen
+ * icehyph.tex -> TDS:tex/generic/hyphen
+ * lahyph.tex -> TDS:source/generic/babel
+ * The Bulgarian patterns are removed, because they form a new CTAN
+ project: CTAN:language/hyphenation/bghyphen
+* It seems, nobody has generated the documentation since a long time.
+ Several patches are necessary for error free compiling.
+* ...
+
+
+H. BUILD HINTS
+==============
+
+The most important advice I can give: `forget it'!
+The purpose of the source files are rather to show, what was
+done in which way.
+The *.zip with TDS trees are the goal of the project, not the
+build process. Some remarks, if someone wants to build the
+modules himself:
+* TeX compiler: recent pdfTeX, below 1.30 some of the packages
+ will not work.
+* An up-to-date LaTeX installation is recommended.
+* Additional packages can be necessary, e.g. I had to install
+ language/armenian, fonts/tipa, fonts/wsuipa, fonts/fc,
+ fonts/utopia, fonts/greek/cbfonts, ...
+ Probably TeX Live would be a good idea (I haven't tested).
+* Some new packages of mine I will put on CTAN, but at time
+ of writing, they aren't available yet.
+* PDF post-processing, I have used two steps:
+ 1. a) I have written a tool that analyzes page stream contents and
+ optimizes them (removal of unnecessary color settings, minimize
+ translation operations, ...).
+ --> pdfbox-rewrite.jar
+ b) For reading and writing the PDF file I have used PDFBox
+ --> PDFBox-0.7.2.jar (http://www.pdfbox.org/)
+ c) To get better results I patched some of the classes
+ of PDFBox (especially the write module).
+ --> pdfbox-rewrite.jar
+ 2. The final conversion step was done by Multivalent, because
+ it makes a very good job in PDF compression:
+ --> Multivalent20060102.jar (http://multivalent.sourceforge.net/)
+ Multivalent and PDFBox are available, pdfbox-rewrite.jar, however,
+ is just a first prototype, not ripe for a release.
+ Therefore this step of post-processing is optional for the
+ project latex-tds. The build script looks for the library and
+ skips this steps automatically if necessary.
+ If you give the build script the option --nopostprocess,
+ then it will skip the postprocess steps (building is faster,
+ the pdf files a little larger).
+ Install the jar files in the directory 'lib' where
+ they are expected by the build script.
+* Unix, Perl background is expected.
+* No support or documentation.
+
+
+I. HISTORY
+==========
+
+2006/04/27
+ * Start of the project (without babel, amslatex, psnfss).
+2006/06/01
+ * Module amslatex added.
+2006/06/03
+ * Modules psnfss and babel added, now all modules are covered.
+2006/06/07
+ * The project uploaded to CTAN.
+2006/07/31
+ * Index added to base/classes.dtx.
+ * ZIP files renamed: '*-tds.zip' -> '*.zip'
+ * Comment added to ZIP files.
+ * Update of readme.txt.
+2006/08/26
+ * Module tds for CTAN:tds/ added.
+ * Obsolete hyphenation patterns added to babel's source directory
+ to avoid violation of LPPL.
+ * Script adjust_checksum added and scripts are put below TDS:scripts.
+ * TDS:makeindex/base/ renamed to TDS:makeindex/latex/
+ * Exception for sample2e.tex and small2e.tex that now go into
+ TDS:tex/latex/base/.
+2006/08/28
+ * Default texsys.cfg is generated.
+ * adjust_checksum.pl and ziptimetree.pl now moved from the scripts
+ branch to TDS:source/latex/latex-tds/lib/.
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv b/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv
new file mode 100644
index 00000000000..3720eaada9b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv
@@ -0,0 +1,152 @@
+% ams.drv
+% 2006/06/02 v1.0 Driver file for amslatex documentation files
+% Copyright 2006 Heiko Oberdiek.
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\NeedsTeXFormat{LaTeX2e}
+\makeatletter
+
+%%% Paper size
+\@for\reserved@a:=article,report,book,amsdtx,amsart\do{%
+ \PassOptionsToClass{a4paper}{\reserved@a}%
+}
+
+%%% Skip for cite-xa (unsupported)
+\begingroup
+ \edef\x{\jobname}%
+ \def\y{cite-xa}%
+ \@onelevel@sanitize\y
+\expandafter\endgroup
+\ifx\x\y
+ \expandafter\@firstofone
+\else
+ \expandafter\@gobble
+\fi
+{%
+ \input{\jobname.tex}%
+ \endinput
+}
+
+%%% Patch \documentclass
+\let\PATCH@ORG@documentclass\documentclass
+\renewcommand*{\documentclass}[2][]{%
+ \let\documentclass\PATCH@ORG@documentclass
+ \begingroup
+ \toks@{\documentclass}%
+ \def\x{#1}%
+ \ifx\x\@empty
+ \else
+ \toks@\expandafter{\the\toks@[{#1}]}%
+ \fi
+ \toks@\expandafter{\the\toks@{#2}}%
+ \PATCH@documentclass
+}
+\newcommand*{\PATCH@documentclass}[1][]{%
+ \def\x{#1}%
+ \ifx\x\@empty
+ \else
+ \toks@\expandafter{\the\toks@[#1]}%
+ \fi
+ \expandafter\endgroup
+ \the\toks@
+ %
+ % page layout
+ \addtolength{\topmargin}{-10mm}%
+ \addtolength{\textheight}{20mm}%
+ %
+ %%% Add hyperref support
+ \PassOptionsToPackage{hyperref}{draft=false}%
+ \IfFileExists{\jobname.dtx}{%
+ \RequirePackage{hypdoc}[2006/06/01]%
+ }{}{}%
+ \usepackage[pdfusetitle]{hyperref}%
+ \hypersetup{
+ draft=false,
+ colorlinks,
+ bookmarksnumbered,
+ }%
+ \pdfstringdefDisableCommands{%
+ \def\BibTeX{BibTeX}%
+ \let\pkg\@firstofone
+ \let\cls\@firstofone
+ \let\opt\@firstofone
+ \let\fld\@firstofone
+ \let\ntt\relax
+ \let\fn\@firstofone
+ \let\env\@firstofone
+ \def\cn{\textbackslash}%
+ \def\begend##1{%
+ \textbackslash begin\{##1\} \dots\space
+ \textbackslash end\{##1\}%
+ }%
+ \def\and{, }%
+ \def\linebreak[##1]{}%
+ }%
+}
+
+%%% Patch for cite-xh.tex
+\begingroup
+ \edef\x{\jobname}%
+ \def\y{cite-xh}%
+ \@onelevel@sanitize\y
+\expandafter\endgroup
+\ifx\x\y
+ \PassOptionsToPackage{%
+ colorlinks,citecolor=red,pagebackref,hypertexnames=false,hypertexnames%
+ }{hyperref}%
+\fi
+
+%%% Patch theindex for amsldoc.tex
+\begingroup
+ \edef\x{\jobname}%
+ \def\y{amsldoc}%
+ \@onelevel@sanitize\y
+\expandafter\endgroup
+\ifx\x\y
+\else
+ \expandafter\@gobbletwo
+\fi
+\AtBeginDocument{%
+ \let\PATCH@ORG@theindex\theindex
+ \def\theindex{%
+ \let\endtheindex\relax
+ \end{theindex}%
+ \let\theindex\PATCH@ORG@theindex
+ \InputIfFileExists{\jobname.ind}{}{}%
+ \end{document}%
+ }%
+}
+
+\makeatother
+
+%%% Load document source file
+\InputIfFileExists{\jobname.tex}{%
+ \typeout{* Document source: \jobname.tex}%
+}{%
+ \InputIfFileExists{\jobname.dtx}{%
+ \typeout{* Document source: \jobname.dtx}%
+ \AtBeginDocument{\CodelineIndex}%
+ \AtEndDocument{\PrintIndex}%
+ }{%
+ \PackageError{ams.drv}{%
+ Cannot find document source
+ }{\csname @ehc\endcsname}%
+ }%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/babel.tex b/Master/texmf-dist/source/latex/latex-tds/tex/babel.tex
new file mode 100644
index 00000000000..ff3059fa099
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/babel.tex
@@ -0,0 +1,71 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{babel.tex}%
+ [2006/06/02 v1.0 Driver file for babel.drv (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\makeatletter
+
+% There are a lot of unnumbered sections `References'
+% among numbered sections. That looks too poor.
+\PassOptionsToPackage{numbered}{hypdoc}
+
+% The first environment `thebibliography' belongs to babel.dtx,
+% but the following are part of the other language definition files.
+% Thus we must move the \section to the \subsection level here.
+\newif\if@FirstBib
+\@FirstBibtrue
+\AtBeginDocument{%
+ \let\Saved@TheBibliography\thebibliography
+ \let\thebibliography\New@TheBibliography
+}
+\def\New@TheBibliography{%
+ \if@FirstBib
+ \global\@FirstBibfalse
+ \else
+ \def\section{\subsection}%
+ \fi
+ \Saved@TheBibliography
+}
+
+% Add bookmark for `Change History'
+\AtBeginDocument{%
+ \let\Saved@TheGlossary\theglossary
+ \let\theglossary\New@TheGlossary
+}
+\def\New@TheGlossary{%
+ \clearpage
+ \pdfbookmark[1]{Change History}{gloss}%
+ \Saved@TheGlossary
+}
+
+% Index not numbered
+\AtBeginDocument{%
+ \let\Saved@TheIndex\theindex
+ \let\theindex\New@TheIndex
+}
+\def\New@TheIndex{%
+ \csname HD@numberedfalse\endcsname
+ \Saved@TheIndex
+}
+\makeatother
+
+\input{babel.drv}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/doc_lppl.tex b/Master/texmf-dist/source/latex/latex-tds/tex/doc_lppl.tex
new file mode 100644
index 00000000000..3c8d9cd8e35
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/doc_lppl.tex
@@ -0,0 +1,50 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{doc_lppl.tex}
+ [2006/06/02 v1.0 Master file for lppl.tex (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\documentclass[a4paper,11pt]{article}
+
+\usepackage[
+ ignoreall,
+ vmargin=1in
+]{geometry}
+
+\usepackage[colorlinks]{hyperref}
+\hypersetup{
+ pdftitle={The LaTeX Project Public License},
+ bookmarksopen,
+ bookmarksopenlevel=3,
+}
+
+\let\LPPLicense\begingroup
+\let\endLPPLicense\endgroup
+
+\newcommand*{\LPPLsection}{\section}
+\newcommand*{\LPPLsubsection}{\subsection}
+\newcommand*{\LPPLsubsubsection}{\subsubsection}
+\newcommand*{\LPPLparagraph}{\paragraph}
+
+\setcounter{secnumdepth}{0}
+
+\begin{document}
+\input{lppl}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/docstrip.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/docstrip.cfg
new file mode 100644
index 00000000000..0b6d48c4366
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/docstrip.cfg
@@ -0,0 +1,36 @@
+% docstrip.cfg
+% 2006/06/02 v1.0
+% Copyright 2006 Heiko Oberdiek
+%
+% Configuration file for `docstrip' that enables the TDS installation
+% feature and automatically creates missing directories.
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\BaseDirectory{texmf}
+\UseTDS
+
+\def\shell#{\immediate\write18}
+\def\mkdir#1{\shell{mkdir -p #1}}
+
+\let\saved@usedir\usedir
+\def\usedir#1{%
+ \mkdir{\basedir#1}%
+ \saved@usedir{#1}%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/errata.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/errata.cfg
new file mode 100644
index 00000000000..ed7f481a76f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/errata.cfg
@@ -0,0 +1,48 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{errata.cfg}%
+ [2006/06/02 v1.0 latex-tds: errata.cls configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\AtEndOfClass{%
+ \RequirePackage{hyperref}%
+ \newcounter{unique}
+ \renewcommand\CHAPTER[1]{%
+ \endgobble
+ &\\[4pt]%
+ \noalign{%
+ \stepcounter{unique}%
+ \pdfbookmark[0]{#1}{ch-\number\value{unique}}%
+ }%
+ \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\%
+ }
+ \let\SAVEDerratatitle\erratatitle
+ \renewcommand{\erratatitle}[1]{%
+ \hypersetup{%
+ pdftitle={#1}%
+ }%
+ \SAVEDerratatitle{#1}%
+ }%
+ \hypersetup{%
+ pdfsubject={Errata list}%
+ }%
+ \showallerrors
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/greek-usage.tex b/Master/texmf-dist/source/latex/latex-tds/tex/greek-usage.tex
new file mode 100644
index 00000000000..b1ce41f91b6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/greek-usage.tex
@@ -0,0 +1,35 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{greek-usage.tex}
+ [2006/06/02 v1.0 Driver file for babel/usage.tex (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\let\SavedDocumentclass\documentclass
+\def\documentclass[#1]#2{%
+ \SavedDocumentclass[{#1}]{#2}%
+ \usepackage[
+ colorlinks,
+ pdfusetitle,
+ bookmarksnumbered
+ ]{hyperref}
+}
+\def\show#1{}
+\input{usage}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/hyperref.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/hyperref.cfg
new file mode 100644
index 00000000000..cc649d15442
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/hyperref.cfg
@@ -0,0 +1,32 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{hyperref.cfg}%
+ [2006/06/02 v1.0 latex-tds: hyperref.sty configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\AtEndOfPackage{%
+ \RequirePackage{hypdestopt}%
+ % patch for varioref (psnfss2e.drv)
+ \let\HyperrefRefstepcounter\refstepcounter
+ \AtBeginDocument{%
+ \let\refstepcounter\HyperrefRefstepcounter
+ }%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.cfg
new file mode 100644
index 00000000000..d13853d4859
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.cfg
@@ -0,0 +1,37 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltnews.cfg}%
+ [2006/06/02 v1.0 latex-tds: ltnews.cls configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdfinfo\endcsname\relax
+\else
+ \AtBeginDocument{%
+ \pdfinfo{%
+ /Subject(%
+ Issue \@issue, \@month\space\@year
+ )%
+ /Creator(LaTeX)%
+ }%
+ \newtoks\pdfinfo
+ }%
+\fi
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.tex b/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.tex
new file mode 100644
index 00000000000..2cdacedff2a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ltnews.tex
@@ -0,0 +1,132 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltnews.tex}%
+ [2006/06/02 v1.0 Master file for ltnews*.tex (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\providecommand*{\lastissue}{17}
+
+\RequirePackage{ifpdf}
+\ifpdf
+ % overwrite nasty stuff of ltnews.cfg
+ % (use of hyperref for this would also support other drivers)
+ \pdfinfo{%
+ /Title(LaTeX News)%
+ /Subject(Issues 1--\lastissue)%
+ /Author(The LaTeX Project)%
+ /Creator(LaTeX)%
+ }
+ \newtoks\pdfinfo
+\else
+ \AtBeginDocument{%
+ \hypersetup{%
+ pdftitle={LaTeX News},%
+ pdfsubject={Issues 1\textendash\lastissue},%
+ pdfauthor={The LaTeX Project},%
+ pdfcreator={LaTeX}%
+ }%
+ }%
+\fi
+
+\documentclass{ltnews}
+
+\RequirePackage{hyperref}
+\hypersetup{colorlinks}
+
+\makeatletter
+
+\newcounter{issue}
+\renewcommand*{\theissue}{%
+ \ifnum\value{issue}<10 0\fi
+ \number\value{issue}%
+}
+
+\newcommand*{\MonthJune}{06}
+\newcommand*{\MonthDecember}{12}
+\newcommand*{\printissue}{%
+ Issue %
+ \texorpdfstring{\number\value{issue}}{\theissue}, %
+ \texorpdfstring{\@month\space\@year}{\@year/\@nameuse{Month\@month}}%
+}
+\let\l@part\l@section
+\let\l@section\l@subsection
+\let\l@subsection\l@subsubsection
+\let\l@subsubsection\l@paragraph
+\let\l@paragraph\l@subparagraph
+
+\newcommand*{\makefirsttitle}{%
+ \twocolumn[{%
+ \parbox[t][4\baselineskip]{\textwidth}{%
+ \@titlefont\@title, Issues 1--\lastissue
+ }%
+ }]%
+}
+
+% table of contents with underlined links
+\iffalse % disable if option colorlinks is used
+\@ifpackagelater{hyperref}{2006/06/01}{%
+ \newcommand*{\saved@tableofcontents}{}%
+ \let\saved@tableofcontents\tableofcontents
+ \renewcommand*{\tableofcontents}{%
+ \begingroup
+ \hypersetup{pdfborderstyle={/S/U/W 1}}%
+ \saved@tableofcontents
+ \endgroup
+ }%
+}{}
+\fi
+\makeatother
+
+\begin{document}
+
+%%% Title and Table of Contents
+
+\makefirsttitle
+\pdfbookmark[0]{\contentsname}{toc}
+\tableofcontents
+\clearpage
+
+%%% Issues
+
+\begingroup
+ \renewcommand*{\documentclass}[2][]{%
+ \setcounter{footnote}{0}%
+ \gobbleopt
+ }%
+ \newcommand*{\gobbleopt}[1][]{}%
+ \renewenvironment{document}{%
+ \clearpage
+ \pdfbookmark[0]{\printissue}{issue\theissue}%
+ \begingroup
+ \let\WriteBookmarks\relax
+ \phantomsection
+ \addcontentsline{toc}{part}{\printissue}%
+ \endgroup
+ }{%
+ \clearpage
+ }%
+ \loop
+ \ifnum\value{issue}<\lastissue
+ \stepcounter{issue}%
+ \input{ltnews\theissue}%
+ \repeat
+\endgroup
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ltxcheck.drv b/Master/texmf-dist/source/latex/latex-tds/tex/ltxcheck.drv
new file mode 100644
index 00000000000..c4a4c155aa3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ltxcheck.drv
@@ -0,0 +1,27 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltxcheck.drv}%
+ [2006/06/02 v1.0 Driver file for ltxcheck.tex (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{ltxcheck.tex}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ltxdoc.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/ltxdoc.cfg
new file mode 100644
index 00000000000..342218ba4c5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ltxdoc.cfg
@@ -0,0 +1,63 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltxdoc.cfg}%
+ [2006/06/02 latex-tds: ltxdoc.cls configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\PassOptionsToClass{a4paper}{article}
+\AtEndOfClass{%
+ \RequirePackage{hypdoc}%
+ \pdfstringdefDisableCommands{%
+ \let\env\relax % longtable.dtx
+ \let\mytt\relax % tabularx.dtx
+ }%
+ \addtolength{\topmargin}{-10mm}%
+ \addtolength{\textheight}{20mm}%
+ % Depending on the page style, the head or foot area
+ % are put into the text area.
+ % Usually the page style is the default "plain".
+ % tools/verbatim.dtx uses "myheadings".
+ \def\string@plain{plain}%
+ \def\string@myheadings{myheadings}%
+ \def\current@pagestyle{plain}%
+ \let\ltxdoc@cfg@pagestyle\pagestyle
+ \def\pagestyle#1{%
+ \def\current@pagestyle{#1}%
+ \ltxdoc@cfg@pagestyle{#1}%
+ }%
+ \let\ltxdoc@cfg@document\document
+ \def\document{%
+ \ifx\current@pagestyle\string@plain
+ \addtolength{\textheight}{\headheight}%
+ \addtolength{\textheight}{\headsep}%
+ \setlength{\headheight}{0pt}%
+ \setlength{\headsep}{0pt}%
+ \global\textheight\textheight
+ \global\headheight\headheight
+ \global\headsep\headsep
+ \fi
+ \ifx\current@pagestyle\string@myheadings
+ \addtolength{\textheight}{\footskip}%
+ \global\textheight\textheight
+ \fi
+ \ltxdoc@cfg@document
+ }%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ltxguide.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/ltxguide.cfg
new file mode 100644
index 00000000000..2996a7a1561
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/ltxguide.cfg
@@ -0,0 +1,57 @@
+\ProvidesFile{ltxguide.cfg}%
+ [2006/04/27 v1.0 latex-tds: ltxguide.cls configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\PassOptionsToClass{a4paper}{article}
+\AtEndOfClass{%
+ \RequirePackage{hypdoc}%
+ \pdfstringdefDisableCommands{%
+ \let\package\relax % grfguide.tex
+ }%
+ \addtolength{\textheight}{\headheight}%
+ \addtolength{\textheight}{\headsep}%
+ \setlength{\headheight}{0pt}%
+ \setlength{\headsep}{0pt}%
+ \begingroup
+ \edef\x{\jobname}%
+ \edef\y{\detokenize{encguide}}%
+ \expandafter\endgroup
+ \ifx\x\y
+ % encguide already enlarges \textheight
+ \addtolength{\topmargin}{-\baselineskip}%
+ \else
+ \addtolength{\topmargin}{-10mm}%
+ \addtolength{\textheight}{20mm}%
+ \fi
+}
+% Patch for grfguide.tex
+\AtBeginDocument{%
+ \@ifundefined{DeclareGraphicsExtensions}{%
+ }{%
+ \DeclareGraphicsExtensions{.pdf}%
+ \GPT@fix
+ \let\GPT@fix\relax
+ \define@key{Gin}{bb}{%
+ \setkeys{Gin}{viewport=15 10 35 45}%
+ }%
+ }%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/manual.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/manual.cfg
new file mode 100644
index 00000000000..e508a715000
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/manual.cfg
@@ -0,0 +1,43 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{manual.cfg}%
+ [2006/06/02 v1.0 latex-tds: manual.err configuration (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\usepackage[pdfusetitle]{hyperref}
+\setcounter{secnumdepth}{0}
+\makeatletter
+\let\SAVED@subsection\subsection
+\let\SAVED@subsubsection\subsubsection
+\renewcommand*{\subsection}{%
+ \@ifstar\ERR@subsection\ERR@subsection
+}
+\newcommand*{\ERR@subsection}[1]{%
+ \SAVED@subsection{%
+ \texorpdfstring{#1}{%
+ \ERR@strip #1\@nil
+ }%
+ }%
+}
+\def\ERR@strip Error#1 Corrected in the #2\@nil{#2}
+\renewcommand*{\subsubsection}{%
+ \@ifstar\SAVED@subsubsection\SAVED@subsubsection
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/psnfss2e.drv b/Master/texmf-dist/source/latex/latex-tds/tex/psnfss2e.drv
new file mode 100644
index 00000000000..9bb35d805e3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/psnfss2e.drv
@@ -0,0 +1,41 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{psnfss2e.drv}%
+ [2006/08/17 v1.1 Driver file for psnfss2e.tex (HO)]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\RequirePackage[patch]{kvoptions}[2006/08/17]
+\PassOptionsToPackage{colorlinks=false,pdfborder={0 0 0}}{hyperref}
+\AtBeginDocument{%
+ \utopiatrue
+}
+\let\SavedDocumentclass\documentclass
+\def\documentclass[#1]#2[#3]{%
+ \let\documentclass\SavedDocumentclass
+ \documentclass[{#1}]{#2}[{#3}]%
+ \addtolength{\textheight}{\headheight}%
+ \addtolength{\textheight}{\headsep}%
+ \setlength{\headheight}{0pt}%
+ \setlength{\headsep}{0pt}%
+ \addtolength{\textheight}{20mm}%
+ \addtolength{\topmargin}{-10mm}%
+}
+\input{\jobname.tex}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/tdsguide.cfg b/Master/texmf-dist/source/latex/latex-tds/tex/tdsguide.cfg
new file mode 100644
index 00000000000..cda0dd334ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/tdsguide.cfg
@@ -0,0 +1,38 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{tdsguide.cfg}%
+ [2006/08/17 v1.0 latex-tds: tdsguide.cls configuration (HO)]
+\PassOptionsToClass{a4paper}{article}
+\AtEndOfClass{%
+ \RequirePackage[
+ colorlinks,
+ bookmarksnumbered,
+ ]{hyperref}%
+ \let\SavedUrl\url
+ \def\url|#1|{%
+ \SavedUrl{#1}%
+ }%
+ \providecommand*{\appref}[1]{%
+ \hyperref[{#1}]{Appendix~\ref*{#1}}%
+ }%
+ \providecommand*{\secref}[1]{%
+ \hyperref[{#1}]{Section~\ref*{#1}}%
+ }%
+ \pdfstringdefDisableCommands{%
+ \let\abbr\@firstofone
+ \def\BibTeX{BibTeX}%
+ }%
+ \hypersetup{%
+ pdfauthor={Karl Berry},
+ pdftitle={A Directory Structure for TeX Files (TDS)},
+ pdfsubject={TUG Working Group on a TeX Directory Structure (TWG-TDS)},
+ }%
+ \addtolength{\topmargin}{-10mm}%
+ \addtolength{\textheight}{20mm}%
+ \let\saved@maketitle\@maketitle
+ \def\@maketitle{%
+ \null
+ \kern10mm\relax
+ \saved@maketitle
+ }%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/tools-overview.cls b/Master/texmf-dist/source/latex/latex-tds/tex/tools-overview.cls
new file mode 100644
index 00000000000..55c23ee943c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/tools-overview.cls
@@ -0,0 +1,114 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{tools-overview}
+ [2006/06/02 Overview for packages of latex/tools]
+%
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\nofiles
+\LoadClass[a4paper,12pt]{article}
+
+% page layout
+\RequirePackage[
+ ignoreall,
+ hmargin=1in,
+ vmargin={.75in,1in},
+]{geometry}
+
+\pagestyle{empty}
+
+\RequirePackage{calc}[2005/08/06]
+
+\RequirePackage{hyperref}
+\hypersetup{
+ colorlinks,
+ filecolor=blue,
+ pdftitle={LaTeX's Tools Bundle},
+ pdfsubject={Overview},
+ pdfauthor={Heiko Oberdiek},
+ pdfcreator={Project `latex-tds'},
+}
+\title{Contents of \LaTeX's Tools Bundle}
+
+\let\TO@document\document
+\let\TO@enddocument\enddocument
+\def\document{%
+ \TO@document
+ \maketitle
+ \toks@={}%
+ \setlength{\maxlen}{0pt}%
+}
+\newlength{\maxlen}
+\def\enddocument{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{\maxlen + \labelsep}%
+ \setlength{\labelwidth}{\maxlen}%
+ \setlength{\partopsep}{0pt}%
+ }%
+ \the\toks@
+ \end{list}%
+ \TO@enddocument
+}
+\newcommand{\entry}[2]{%
+ \outline{#1}%
+ \toks@\expandafter{%
+ \the\toks@
+ \item[%
+ \href{file:#1.pdf}{\printpackage{#1}}%
+ \hfill
+ ]%
+ #2%
+ }%
+ \setlength{\maxlen}{%
+ \maxof{\maxlen}{\widthof{\printpackage{#1}}}%
+ }%
+ \global\maxlen\maxlen
+}
+\newcommand*{\printpackage}[1]{%
+ \textbf{\large #1:}%
+}
+\newcommand*{\outline}[1]{%
+ \pdfoutline
+ attr {/C[0 0 1]}
+ user {%
+ <<%
+ /S/GoToR%
+ /F(#1.pdf)%
+ /NewWindow true%
+ /D[0/XYZ null null null]%
+ >>%
+ }%
+ {[#1]}\relax
+}
+\renewcommand*{\maketitle}{%
+ \begingroup
+ \par
+ \centering
+ \bfseries
+ \LARGE
+ \@title
+ \par
+ \endgroup
+ \vspace{2em}%
+}
+
+\providecommand*{\cs}[1]{%
+ \texttt{\textbackslash#1}%
+}
+\endinput
diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/tools.tex b/Master/texmf-dist/source/latex/latex-tds/tex/tools.tex
new file mode 100644
index 00000000000..777093c5b56
--- /dev/null
+++ b/Master/texmf-dist/source/latex/latex-tds/tex/tools.tex
@@ -0,0 +1,111 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{tools.tex}%
+ [2006/08/28 Tools overview (HO)]
+% Copyright 2006 Heiko Oberdiek
+%
+% This file is part of project `latex-tds'.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Heiko Oberdiek.
+%
+% See `readme.txt' for a list of all files belonging to the
+% project `latex-tds' and additional information.
+%
+\documentclass{tools-overview}
+\begin{document}
+\entry{afterpage}{%
+ Place text after the current page.
+}%
+\entry{array}{%
+ Extended versions of the environments array, tabular and tabular*.
+}%
+\entry{bm}{%
+ Access bold math symbols.
+}%
+\entry{calc}{%
+ Infix arithmetic expresions. Contributed to the distribution by
+ Kresten Krab Thorup and Frank Jensen.
+}%
+\entry{dcolumn}{%
+ Alignment on \emph{decimal points} in tabular entries. Requires array.
+}%
+\entry{delarray}{%
+ Adds \emph{large delimiters} around arrays. Requires array.
+}%
+\entry{enumerate}{%
+ Extended version of the enumerate environment.
+}%
+\entry{fileerr}{%
+ Suite of small files which may be used to control \TeX{}'s
+ missing file error loop.
+}%
+\entry{fontsmpl}{%
+ Package and test file for producing \emph{font samples}
+}%
+\entry{ftnright}{%
+ Place footnotes in the right hand column in two-column mode.
+}%
+\entry{hhline}{%
+ Finer control over horizontal rules in tables. Requires array.
+}%
+\entry{indentfirst}{%
+ Indent the first paragraph of sections etc.
+}%
+\entry{layout}{%
+ Produces an overview of the layout of the current document.
+}%
+\entry{longtable}{%
+ Multipage tables. (Does not require array, but uses the extended
+ features if both are loaded.)
+}%
+\entry{multicol}{%
+ Typeset text in columns, with the length of the final columns
+ \emph{balanced}.
+}%
+\entry{rawfonts}{%
+ Preload fonts under the old internal font names of \LaTeX{}2.09.
+ Not recomended for new packages, but may help when updating old
+ files.
+}%
+\entry{showkeys}{%
+ Draft mode showing the \emph{keys} used by \cs{label}, \cs{ref}, \cs{cite} etc.
+}%
+\entry{somedefs}{%
+ Selective handling of package options. (Used in rawfonts.sty.)
+}%
+\entry{tabularx}{%
+ Defines tabularx environment (similar to tabular*) but modifies
+ column widths, not inter-column space, to achieve a desired
+ table width.
+}%
+\entry{theorem}{%
+ Flexible definition of \emph{theorem-like} environments.
+}%
+\entry{trace}{%
+ The package helps to suppress and to control the amount of tracing
+ output (\cs{tracingall}) by taming calc and making NFSS less noisy.
+}%
+\entry{varioref}{%
+ \emph{Smart} handling of page references.
+}%
+\entry{verbatim}{%
+ Flexible version of verbatim environment.
+}%
+\entry{xr}{%
+ eXternall References. Extend \cs{ref} to access \cs{label} commands in
+ other documents.
+}%
+\entry{xspace}{%
+ Smart space command that avoids the common mistake of missing
+ spaces after command names.
+}%
+\end{document}