diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-30 00:06:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-30 00:06:56 +0000 |
commit | a6fa0993dd81043316c9ca002611684a40c29d6d (patch) | |
tree | 5c16bc6b87ffb51fe1e8f5fd10165adda96011e9 /Master/texmf-dist | |
parent | 36f25afc3c202a82f7f7a7f846b1d39247c4cada (diff) |
latex-tds, via latex-tds (27oct10)
git-svn-id: svn://tug.org/texlive/trunk@20251 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
6 files changed, 294 insertions, 65 deletions
diff --git a/Master/texmf-dist/source/latex/latex-tds/build.pl b/Master/texmf-dist/source/latex/latex-tds/build.pl index a0a2141e449..86580737003 100755 --- a/Master/texmf-dist/source/latex/latex-tds/build.pl +++ b/Master/texmf-dist/source/latex/latex-tds/build.pl @@ -4,10 +4,10 @@ $^W=1; my $prj = 'latex-tds'; my $file = 'build.pl'; -my $version = cvs('$Revision: 1.150 $'); -my $date = cvs('$Date: 2009/12/07 13:18:23 $'); +my $version = cvs('$Revision: 1.154 $'); +my $date = cvs('$Date: 2010/10/27 04:46:52 $'); my $author = 'Heiko Oberdiek'; -my $copyright = "Copyright 2006-2009 $author"; +my $copyright = "Copyright 2006-2010 $author"; chomp(my $license = <<"END_LICENSE"); % $copyright % @@ -50,7 +50,8 @@ my @pkg_list = ( $prj, 'source', 'tds', - 'knuth' + 'knuth', + 'etex', ); my $zip_comment = <<'END_ZIP_COMMENT'; @@ -93,8 +94,9 @@ my $prg_curl = 'curl'; my $prg_docstrip = 'tex -shell-escape'; my $prg_epstopdf = 'epstopdf'; my $prg_find = 'find'; -my $prg_java = '/work/java-1.5.0/bin/java'; - # java 1.6 don't work with the used version of Multivalent +# my $prg_java = '/work/java-1.5.0/bin/java'; +# java 1.6 don't work with the used version of Multivalent +my $prg_java = 'java'; my $prg_kpsewhich = 'kpsewhich'; my $prg_ls = "ls"; my $prg_makeindex = 'makeindex'; @@ -121,6 +123,8 @@ $ENV{'VFFONTS'} = 'texmf/fonts/vf//:'; # psnfss $ENV{'INDEXSTYLE'} = '.:texmf/makeindex//:'; # babel sub install ($@); +sub final_begin (); +sub final_end (); ### Print title { @@ -227,6 +231,8 @@ if (@list_modules > 0) { download_ctan('babel', 'macros/latex/required'); download_ctan('amslatex', 'macros/latex/required'); download_ctan('amsrefs', 'macros/latex/contrib'); + download_ctan('amsrefs.tds', 'install/macros/latex/contrib'); + download_ctan('amscls.tds', 'install/macros/latex/required/amslatex'); download_ctan('psnfss', 'macros/latex/required'); download_ctan('tds', ''); download_ctan('texware', 'systems/knuth/dist'); @@ -236,12 +242,13 @@ if (@list_modules > 0) { download_ctan('tex', 'systems/knuth/dist'); download_ctan('mf', 'systems/knuth/dist'); download_ctan('errata', 'systems/knuth/dist'); + download_ctan('etex_doc', 'systems/e-tex/v2.1'); download_ams('amscls', ''); download_ams('amsmath', ''); # download_ams('amsrefs', ''); download_ams('amslatex', ''); download_ams('amsrefs-tds', 'amslatex/amsrefs'); - download_ams('amsrefs-ctan', 'amslatex/amsrefs'); + # download_ams('amsrefs-ctan', 'amslatex/amsrefs'); download_err('manual'); download_err('lb2'); download_err('lgc2'); @@ -268,10 +275,18 @@ section('Unpacking'); sub unpacking ($$$) { my $pkg = shift; + $modules{$pkg} or return 1; my $zipfile = shift; my $dir = shift; run("$prg_unzip $zipfile -d$dir"); } + sub unpacking_flat ($$$) { + my $pkg = shift; + $modules{$pkg} or return 1; + my $zipfile = shift; + my $dir = shift; + run("$prg_unzip -j $zipfile -d$dir"); + } sub unpack_ctan ($) { my $pkg = shift; $modules{$pkg} or return 1; @@ -279,13 +294,14 @@ section('Unpacking'); "$dir_incoming_ctan/$pkg.zip", $dir_build); } - sub unpack_ams ($) { + sub unpack_ams ($$) { my $name = shift; + my $zip = shift; $modules{'amslatex'} or return 1; - ensure_directory($texmf_ams); - unpacking('amslatex', - "$dir_incoming_ams/$name.zip", - "$texmf_ams"); + unpacking('amslatex', $zip, "$texmf_ams"); + my $src = "$dir_build/amslatex/$name"; + ensure_directory($src); + run("$prg_cp $texmf_ams/source/latex/$name/* $src/"); } sub unpack_psnfss ($) { my $name = shift; @@ -305,18 +321,18 @@ section('Unpacking'); ensure_directory($dir_build); unpack_ctan('base'); - # replace .err files - foreach my $name (qw[ - lb2 - lgc2 - manual - tlc2 - ]) { - my $file = "$dir_incoming_ltxprj/$name.err"; - my $dest = "$dir_build/base/$name.err"; - run("$prg_cp $file $dest"); - } if ($modules{'base'}) { + # replace .err files + foreach my $name (qw[ + lb2 + lgc2 + manual + tlc2 + ]) { + my $file = "$dir_incoming_ltxprj/$name.err"; + my $dest = "$dir_build/base/$name.err"; + run("$prg_cp $file $dest"); + } run("$prg_rm -rf $dir_build/base/doc"); unpacking('base', "$dir_incoming_ctan/doc.zip", @@ -325,23 +341,9 @@ section('Unpacking'); } map { unpack_ctan($_); } @required_list; if ($modules{'amslatex'}) { - unpack_ams('amsrefs-tds'); - run("$prg_rm -rf $dir_build/amslatex/amsrefs"); - unpacking('amslatex', - "$dir_incoming_ams/amsrefs-ctan.zip", - "$dir_build/amslatex"); - unpack_ams('amslatex'); - -f "$dir_build/amslatex/classes/instr-l.tex" or - run("$prg_unzip -j $dir_incoming_ams/amslatex.zip" - . " source/latex/amscls/instr-l.tex" - . " -d $dir_build/amslatex/classes/"); - run("$prg_rm -rf $texmf_ams/{doc,source,tex}/latex/amscls"); - run("$prg_rm -rf $texmf_ams/bibtex/bst/ams"); - unpack_ams('amscls'); - run("$prg_cp $dir_build/amslatex/classes/amsmidx.{dtx,ins}" - . " $texmf_ams/source/latex/amscls/"); - run("$prg_cp $dir_build/amslatex/classes/amsmidx.sty" - . " $texmf_ams/tex/latex/amscls/"); + unpack_ams('amscls', "$dir_incoming_ctan/amscls.tds.zip"); + unpack_ams('amsrefs', "$dir_incoming_ctan/amsrefs.tds.zip"); + unpack_ams('amsmath', "$dir_incoming_ams/amsmath.zip"); } unpack_psnfss('lw35nfss'); unpack_psnfss('freenfss'); @@ -353,6 +355,9 @@ section('Unpacking'); unpack_knuth('tex'); unpack_knuth('mf'); unpack_knuth('errata'); + unpacking_flat('etex', + "$dir_incoming/ctan/etex_doc.zip", + "$dir_build/etex"); } ### Patches @@ -387,7 +392,7 @@ section('Patches'); } if ($modules{'amslatex'}) { - patch("amslatex/math/amsldoc.tex"); + patch("amslatex/amsmath/amsldoc.tex"); } # if ($modules{'babel'}) { @@ -571,6 +576,7 @@ section('Patches after source install'); chdir $cwd; patch('base/encguide.tex'); + patch('base/source2e.tex'); patch('base/utf8ienc.dtx'); } @@ -588,7 +594,7 @@ section('Patches after source install'); } if ($modules{'amslatex'}) { - patch("amslatex/classes/amsclass.dtx"); + patch("amslatex/amscls/amsclass.dtx"); } } @@ -644,13 +650,6 @@ section('TDS cleanup'); # CTAN:macros/latex/required/amslatex/other/* run("$prg_cp $dir_build/amslatex/other/amsbooka.sty" . " $dir_build/amslatex/texmf/tex/latex/amscls/amsbooka.sty"); - cleanup_tds 'source/latex/amsltx2', qw[ - 00readme.txt - install.txt - ]; - cleanup_tds 'source/latex', qw[ - amsltx2 - ]; } if ($modules{'babel'}) { @@ -783,6 +782,18 @@ section('Install tex doc'); chdir $cwd; } + if ($modules{'etex'}) { + chdir "$dir_build/etex"; + my $doc_dir = 'texmf/doc/etex/base'; + my $src_dir = 'texmf/source/etex/base'; + ensure_directory($doc_dir); + ensure_directory($src_dir); + install($src_dir, qw[ + etex_man.tex etex_man.sty + ]); + chdir $cwd; + } + my $dummy = <<'END_DUMMY'; if ($modules{'babel'}) { chdir "$dir_build/babel"; @@ -1108,11 +1119,13 @@ if ($modules{'amslatex'}) { run("$prg_pdflatextds -draftmode $doc.drv"); makeindex($doc); run("$prg_pdflatextds -draftmode $doc.drv") if $doc eq 'amsrefs'; + final_begin; run("$prg_pdflatextds $doc.drv"); + final_end; install_pdf($amspkg, $doc); } - chdir "$dir_build/amslatex/math"; + chdir "$dir_build/amslatex/amsmath"; symlink '../texmf', 'texmf'; map { generate_doc 'amsmath', $_; } qw[ amsldoc subeqn technote testmath @@ -1120,7 +1133,7 @@ if ($modules{'amslatex'}) { ]; chdir $cwd; - chdir "$dir_build/amslatex/classes"; + chdir "$dir_build/amslatex/amscls"; symlink '../texmf', 'texmf'; map { generate_doc 'amscls', $_; } qw[ amsthdoc instr-l thmtest @@ -1132,6 +1145,7 @@ if ($modules{'amslatex'}) { symlink '../texmf', 'texmf'; map { generate_doc 'amsrefs', $_; } qw[ cite-xa cite-xb cite-xh cite-xs + amsrdoc changes amsrefs amsxport ifoption mathscinet pcatcode rkeyval textcmds ]; chdir $cwd; @@ -1376,6 +1390,23 @@ if ($modules{'knuth'}) { chdir $cwd; } +### Generate documentation for etex +if ($modules{'etex'}) { + section('Documentation: etex'); + + chdir "$dir_build/etex"; + + my $entry = 'etex_man'; + my $etex_man_drv = "$cwd/$dir_tex/$entry.drv"; + symlink $etex_man_drv, "$entry.drv"; + run("$prg_pdflatextds -draftmode $entry.drv"); + run("$prg_pdflatextds -draftmode $entry.drv"); + run("$prg_pdflatextds $entry.drv"); + install_gen_pdf('etex', 'base', $entry); + + chdir $cwd; +} + ### Module source if ($modules{'source'}) { section('Module source'); @@ -1554,6 +1585,13 @@ sub section ($) { 1; } +sub final_begin () { + print "\n--- FINAL BEGIN ---\n"; +} +sub final_end () { + print "--- FINAL END ---\n\n"; +} + sub run ($) { my $cmd = shift; diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/source2e.tex.diff b/Master/texmf-dist/source/latex/latex-tds/patch/source2e.tex.diff new file mode 100644 index 00000000000..0f8d7c15fe7 --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/patch/source2e.tex.diff @@ -0,0 +1,68 @@ +*** source2e.tex.org 2009-09-25 09:56:20.000000000 +0200 +--- source2e.tex 2010-05-04 22:17:43.000000000 +0200 +*************** +*** 71,76 **** +--- 71,81 ---- + + \documentclass{ltxdoc} + ++ \newdimen\OldHeadHeight ++ \OldHeadHeight=\headheight ++ \newdimen\OldHeadSep ++ \OldHeadSep=\headsep ++ + \listfiles + + % Do not index some TeX primitives, and some common plain TeX commands. +*************** +*** 301,306 **** +--- 306,325 ---- + \clearpage + \pagestyle{headings} + ++ \makeatletter ++ \headheight=\OldHeadHeight ++ \headsep=\OldHeadSep ++ \addtolength{\textheight}{-\headheight} ++ \addtolength{\textheight}{-\headsep} ++ \addtolength{\textheight}{\footskip} ++ \newdimen\OldFootSkip ++ \OldFootSkip=\footskip ++ \footskip=\z@ ++ \vsize=\textheight ++ \@colht\textheight ++ \@colroom\textheight ++ \makeatother ++ + % Make TeX shut up. + \hbadness=10000 + \newcount\hbadness +*************** +*** 315,320 **** +--- 334,359 ---- + + \clearpage + ++ \makeatletter ++ \footskip=85pt ++ \addtolength{\footskip}{\OldFootSkip} ++ \addtolength{\footskip}{-\baselineskip} ++ \addtolength{\textheight}{-\footskip} ++ \vsize=\textheight ++ \@colht=\textheight ++ \@colroom\textheight ++ \newsavebox\FileKeyBox ++ \g@addto@macro\index@prologue{% ++ \sbox\FileKeyBox{% ++ \parbox[b]{\textwidth}{\strut\footnotesize ++ \raggedright{\bfseries File Key:} \filekey}% ++ }% ++ \typeout{FileKeyBox: ht=\the\ht\FileKeyBox, dp=\the\dp\FileKeyBox}% ++ \gdef\@oddfoot{\copy\FileKeyBox}% ++ \let\@evenfoot\@oddfoot ++ }% ++ \makeatother ++ + % makeindex needs a symbol between the parts of composite page numbers + % but we dont want one, so: + \typeout{% diff --git a/Master/texmf-dist/source/latex/latex-tds/readme.txt b/Master/texmf-dist/source/latex/latex-tds/readme.txt index 06757084c44..d2a0cc96090 100644 --- a/Master/texmf-dist/source/latex/latex-tds/readme.txt +++ b/Master/texmf-dist/source/latex/latex-tds/readme.txt @@ -1,4 +1,4 @@ -readme.txt for project latex-tds, 2009/12/07 +readme.txt for project latex-tds, 2010/10/27 TABLE OF CONTENTS ================= @@ -68,7 +68,9 @@ Module list http://www.latex-project.org/guides/tlc2.err * tools CTAN:macros/latex/required/tools.zip * cyrillic CTAN:macros/latex/required/cyrillic.zip -* amslatex CTAN:macros/latex/required/amslatex.zip +* amslatex CTAN:install/macros/latex/required/amscls.tds.zip + CTAN:install/macros/latex/contrib/amsrefs.tds.zip + CTAN:macros/latex/required/amslatex.zip CTAN:macros/latex/contrib/amsrefs.zip ftp://ftp.ams.org/pub/tex/amslatex.zip ftp://ftp.ams.org/pub/tex/amslatex/amsrefs-tds.zip @@ -84,10 +86,11 @@ Module list CTAN:systems/knuth/dist/web.zip CTAN:systems/knuth/dist/tex.zip CTAN:systems/knuth/dist/mf.zip +* Author ------ -Heiko Oberdiek <oberdiek at uni-freiburg.de> +Heiko Oberdiek <heiko.oberdiek at googlemail.com> C. DOWNLOAD @@ -170,7 +173,7 @@ Hints CTAN:install/macros/latex/contrib/expl3.tds.zip There is nothing left for latex-tds to do. Therefore expl3 is removed from module latex3. - * The same happend to xpackages, thus the whole module is removed. + * The same happened to xpackages, thus the whole module is removed. D. COPYRIGHT, LICENSE @@ -245,6 +248,7 @@ Documentation driver tex/errata.all doc driver for knuth/errata/errata.pdf tex/errata.drv doc driver for knuth/errata/errata_*.pdf tex/errorlog.drv doc driver for knuth/errata/errorlog.tex + tex/etex_man.drv doc driver for etex/etex_man.tex tex/greek-usage.tex doc driver with patches for babel/usage.tex tex/knuth.drv doc driver for knuth/{texware,mfware,etc}/*.web tex/ltnews.tex master file that merges all base/ltnews*.tex @@ -260,6 +264,7 @@ Patches patch/amsldoc.tex.diff patch for amslatex/amsldoc.tex patch/encguide.tex.diff patch for base/encguide.tex patch/logmac.tex.diff patch for knuth/errata/logmac.tex + patch/source2e.tex.diff patch for base/source2e.tex patch/tripman.tex.diff patch for knuth/tex/tripman.tex patch/trapman.tex.diff patch for knuth/mf/trapman.tex patch/utf8ienc.dtx.diff patch for base/utf8ienc.dtx @@ -394,12 +399,9 @@ Knuth texmf-dist/tex/plain/base/webmac.tex texmf/tex/generic/hyphen/hyphen.tex -LaTeX3 ------- -* This module tries to cover the stabler stuff that reached CTAN - from `LaTeX3 project'. -* Sorting into the TDS tree is already done by the `LaTeX3 project'. -* Documentation is regenerated to add bookmarks, ... +e-TeX +----- +* Only the manual `etex_man' is covered by this module. H. BUILD HINTS @@ -541,3 +543,10 @@ I. HISTORY Tried to sort this out and fix the last update. * Module latex3: xpackages removed, because nothing to do. * Module latex3 removed, nothing left to do. +2010/05/04 + * Module base: page layout for source2e fixed (changes, index). + * Module base: update of .err files. +2010/10/27 + * Module amslatex: amscls and amsrefs updated. + * Module etex added (only for etex_man). + * Erratas updated. diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv b/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv index b614ff6a5ba..4768dfe82f1 100644 --- a/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv +++ b/Master/texmf-dist/source/latex/latex-tds/tex/ams.drv @@ -1,6 +1,6 @@ % ams.drv -% 2008/08/02 v1.2 Driver file for amslatex documentation files -% Copyright 2006-2008 Heiko Oberdiek. +% 2010/10/27 v1.3 Driver file for amslatex documentation files +% Copyright 2006-2010 Heiko Oberdiek. % % This file is part of project `latex-tds'. % @@ -22,6 +22,10 @@ % 2006/06/02 v1.0 % 2007/10/17 v1.1: Fix for subeqn, amsmath before hyperref. % 2008/08/02 v1.2: Destination of bookmark "Index" fixed for amsldoc. +% 2010/10/27 v1.3 +% * Update/fix for instr-l.tex. +% * Adding missing macro definitions for amsrefs.dtx. +% * Fix for changes.tex. % \NeedsTeXFormat{LaTeX2e} \makeatletter @@ -47,6 +51,15 @@ \endinput } +%%% Patch for amsrefs/changes.tex +\AtBeginDocument{% + \@ifundefined{pdfstringdefDisableCommands}{}{% + \pdfstringdefDisableCommands{% + \def\cs#1{\textbackslash#1}% + }% + }% +} + %%% Patch \documentclass \let\PATCH@ORG@documentclass\documentclass \renewcommand*{\documentclass}[2][]{% @@ -119,6 +132,7 @@ \@onelevel@sanitize\y \expandafter\endgroup \ifx\x\y + \PassOptionsToPackage{dvipsnames,usenames}{color}% \PassOptionsToPackage{% pdfusetitle,% pdftex,breaklinks=true,colorlinks,% @@ -131,6 +145,13 @@ pdfkeywords={latex, AMS, amslatex, ams-latex, author instructions},% pdftitle={Instructions for Preparation of Papers and Monographs}% }% + \let\ORG@title\title + \let\ORG@thepage\thepage + \def\title{% + \let\thepage\ORG@thepage + \ORG@title + }% + \renewcommand*{\thepage}{\roman{page}}% }% \fi @@ -169,6 +190,41 @@ }% } +%%% Patch for amsrefs.dtx +% Adding missing macro definitions (from amsrdoc.tex) +\begingroup + \edef\x{\jobname}% + \def\y{amsrefs}% + \@onelevel@sanitize\y +\expandafter\endgroup +\ifx\x\y + \AtBeginDocument{% + \providecommand{\cnbreak}{\penalty999\hskip0pt\relax}% + \providecommand{\cnm}[2]{\cn{#1}\cnbreak\embrace{#2}}% + \providecommand{\cnmm}[3]{% + \cn{#1}% + \cnbreak + \embrace{#2}% + \cnbreak + \embrace{#3}% + }% + \providecommand{\cnom}[1]{\cn{#1}\cnbreak\ommitude}% + \providecommand{\ommitude}[2][]{{\ntt[#1]}\cnbreak\embrace{#2}}% + \providecommand{\cnmsm}[4]{% + \cn{#1}\cnbreak\embrace{#2}\cnbreak *\embrace{#4}% + }% + \@ifundefined{lbracechar}{% + \DeclareTextSymbol{\lbracechar}{OT1}{123}% + \DeclareTextSymbolDefault{\lbracechar}{OT1}% + \DeclareTextSymbol{\rbracechar}{OT1}{125}% + \DeclareTextSymbolDefault{\rbracechar}{OT1}% + }{}% + \providecommand{\embrace}[1]{% + \begingroup\ntt\lbracechar#1\rbracechar\endgroup + }% + }% +\fi + \makeatother %%% Load document source file diff --git a/Master/texmf-dist/source/latex/latex-tds/tex/etex_man.drv b/Master/texmf-dist/source/latex/latex-tds/tex/etex_man.drv new file mode 100644 index 00000000000..5f8c14f75e3 --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/tex/etex_man.drv @@ -0,0 +1,58 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{etex_man.drv}% + [2010/10/27 v1.0 Driver file for etex_man.tex (HO)] +% +% Copyright 2010 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{% + \let\documentclass\SavedDocumentclass + \documentclass{#1}% + \addtolength{\textheight}{\headheight}% + \addtolength{\textheight}{\headsep}% + \setlength{\headheight}{0pt}% + \setlength{\headsep}{0pt}% + \addtolength{\textheight}{20mm}% + \addtolength{\topmargin}{-10mm}% + % \RequirePackage[dvipsnames,usenames]{color}% + \RequirePackage[unicode,colorlinks]{hyperref}[2010/05/13]% + \hypersetup{% + pdftitle={The \eTeX\ manual},% + pdfauthor={The NTS Team, Peter Breitenlohner},% + pdfkeywords={\eTeX, manual},% + % citecolor=ForestGreen,% + }% + \RequirePackage{bookmark}% + \bookmarksetup{% + open,% + openlevel=2,% + numbered,% + }% +} +\AtBeginDocument{% + \let\SavedSection\section + \def\section{% + \let\section\SavedSection + \tableofcontents + \section + }% +} +\input{\jobname.tex} +\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 index 7c8123bf870..e1be214e3a2 100644 --- a/Master/texmf-dist/source/latex/latex-tds/tex/tools.tex +++ b/Master/texmf-dist/source/latex/latex-tds/tex/tools.tex @@ -1,7 +1,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesFile{tools.tex}% - [2009/12/07 Tools overview (HO)] -% Copyright 2006-2009 Heiko Oberdiek + [2010/10/27 Tools overview (HO)] +% Copyright 2006-2010 Heiko Oberdiek % % This file is part of project `latex-tds'. % |