1
readme.txt for project latex-tds, 2011/11/16
5
A. Abbreviations, Glossary
17
A. ABBREVIATIONS, GLOSSARY
18
==========================
20
Comprehensive TeX Archive Network.
21
FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives
22
For example, you can resolve the prefix `CTAN:' by using
23
`ftp://ftp.ctan.org/tex-archive/'.
25
The name of this project.
27
TeX Directory Structure.
28
FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds
29
Specification: CTAN:tds.zip
37
The project started as I wanted to install the new LaTeX release 2005/12/01
38
that was announced at 2006/04/27. However the files aren't packed in
39
TDS format, ready for unpacking in the destination directory. And
40
the documentation files were not yet generated or the provided
41
PDF files are lacking of basic features such as bookmarks or link support.
42
Thus this project has started. I thought it could be finished during
43
the afternoon at the day of the announcement ...
47
* From the sources a TDS compliant tree is constructed and populated.
48
The zipped result is distributed.
49
* All the documentation is generated from the sources. The PDF files
50
are user friendly and provide navigational support with bookmarks
52
* The PDF files are post-processed to reduce the file size.
56
I don't have the time to assemble a TeX distribution with
57
thousands of packages. Therefore I restricted myself to the
58
LaTeX base distribution and the required bundles.
59
In the following I will use the term `module' for a package bundle.
63
* base CTAN:macros/latex/base.zip
64
CTAN:macros/latex/doc.zip
65
http://www.latex-project.org/guides/lb2.err
66
http://www.latex-project.org/guides/lgc2.err
67
http://www.latex-project.org/guides/manual.err
68
http://www.latex-project.org/guides/tlc2.err
69
* tools CTAN:macros/latex/required/tools.zip
70
* cyrillic CTAN:macros/latex/required/cyrillic.zip
71
* amslatex CTAN:install/macros/latex/required/amscls.tds.zip
72
CTAN:install/macros/latex/contrib/amsrefs.tds.zip
73
CTAN:macros/latex/required/amslatex.zip
74
CTAN:macros/latex/contrib/amsrefs.zip
75
ftp://ftp.ams.org/pub/tex/amslatex.zip
76
ftp://ftp.ams.org/pub/tex/amslatex/amsrefs-tds.zip
77
ftp://ftp.ams.org/pub/tex/amscls.zip
78
ftp://ftp.ams.org/pub/tex/amsmath.zip
79
* psnfss CTAN:macros/latex/required/psnfss.zip
80
* babel CTAN:macros/latex/required/babel.zip
82
* knuth CTAN:systems/knuth/dist/errata.zip
83
CTAN:systems/knuth/dist/etc.zip
84
CTAN:systems/knuth/dist/mfware.zip
85
CTAN:systems/knuth/dist/texware.zip
86
CTAN:systems/knuth/dist/web.zip
87
CTAN:systems/knuth/dist/tex.zip
88
CTAN:systems/knuth/dist/mf.zip
93
Heiko Oberdiek <heiko.oberdiek at googlemail.com>
99
The home of the project is located at:
100
CTAN:macros/latex/contrib/latex-tds/
102
The following files can be downloaded:
103
* readme.txt (this file)
104
* The module distribution files, see the module list above
105
for the available modules, e.g:
109
* The sources, mainly the build script, configuration and
110
driver files, and patches:
112
Some of the used tools are not provided, see section
114
* And the universe, the contents of all the ZIP files above,
119
C. INSTALLATION HINTS
120
=====================
122
Hopefully the result of this project helps you in the installation
123
process. You get a TDS compliant tree just by unpacking.
128
or unzip's option `-d':
129
unzip latex-tds -d /some/where/texmf
131
Instead of the universe ZIP files single modules can be selected.
133
Important to remember, point your unpack process right in
134
the root directory of your TDS tree. The directory structure
135
in the ZIP files start with the top-level directories:
139
Rationale: The root directory of a TDS tree can have different
140
names, such as texmf-dist, texmf-local, ...
144
* Refresh the file name database.
145
* Be aware that unpacking can insert and update files, but never
146
deletes obsolete ones. Remainders of previous releases can
148
* Depending on the module further installation steps can be
149
necessary, consult the module's own documentation.
152
* The default texsys.cfg that LaTeX provides is put
153
into tex/latex/base. It must be removed, if you need
154
a specialized version. Consult your TeX distribution
155
and doc/latex/base/source2e.pdf (module ltdirchk).
156
Usually changes are not required for many TeX distributions
157
such as Unix (web2c), MikTeX, ...
158
* Formats need rebuilding (e.g., fmtutil).
160
* Most hyphenation patterns aren't provided here. Usually you can
161
find them somewhere below CTAN:language/hyphenation.
162
* Language configuration (language.dat), see the documentation of
163
your TeX distribution.
164
* Formats need rebuilding.
166
* The map files need further configuring (e.g., updmap).
168
* Module graphics doesn't provide all driver files, because some are
169
developed independently (pdftex.def, ...).
171
* The changes of latex-tds are merged into the official sources
172
of expl3. Also expl3 is provided as TDS package:
173
CTAN:install/macros/latex/contrib/expl3.tds.zip
174
There is nothing left for latex-tds to do. Therefore
175
expl3 is removed from module latex3.
176
* The same happened to xpackages, thus the whole module is removed.
179
D. COPYRIGHT, LICENSE
180
=====================
182
Copyright 2006-2011 Heiko Oberdiek.
184
License is LPPL 1.3c:
186
This work may be distributed and/or modified under the
187
conditions of the LaTeX Project Public License, either version 1.3
188
of this license or (at your option) any later version.
189
The latest version of this license is in
190
http://www.latex-project.org/lppl.txt
191
and version 1.3c or later is part of all distributions of LaTeX
192
version 2005/12/01 or later.
194
This work has the LPPL maintenance status `maintained'.
196
The Current Maintainer of this work is Heiko Oberdiek.
198
See the following section `Manifest' for a list of all files
199
belonging to the project `latex-tds'.
205
Included are the projects `adjust_checksum' and `ziptimetree'.
206
They are projects of their own.
214
license/lppl.txt LPPL (The LaTeX Project Public License)
215
for latex-tds and adjust_checksum
216
license/ziptimetree/lgpl.txt LGPL (GNU Lesser General Public License)
221
build.pl main script for building the distribution
222
lib/adjust_checksum.pl Perl script that runs a DTX file through
223
LaTeX and corrects its \Checksum if necessary
224
lib/ziptimetree.pl Perl script that generates a ZIP file from
225
a directory tree with sorted entries (LGPL)
229
tex/docstrip.cfg enables TDS feature and creates directories
230
tex/errata.cfg for errata lists of latex/base
231
tex/hyperref.cfg hyperref configuration file
232
tex/ltnews.cfg for LaTeX News of latex/base
233
tex/ltxdoc.cfg setup for class ltxdoc
234
tex/ltxguide.cfg setup for the guide manuals in latex/base
236
tex/ltugboat.cls setup for class ltugboat
237
tex/lualatex-tds.ini init file for format generation for LuaTeX
238
tex/lualatex-tds2.ini init file for LuaTeX format without LM Math
239
tex/manual.cfg setup for errata list of the LaTeX manual
241
tex/pdflatex-tds.ini init file for format generation for pdfTeX
242
tex/tdsguide.cfg setup for class tdsguide.cls
246
tex/ams.drv generic doc driver for files from the
247
amslatex and babel bundle
248
tex/babel.tex doc driver with patches for babel.drv
249
tex/doc_lppl.tex doc driver for base/lppl.tex
250
tex/errata.all doc driver for knuth/errata/errata.pdf
251
tex/errata.drv doc driver for knuth/errata/errata_*.pdf
252
tex/errorlog.drv doc driver for knuth/errata/errorlog.tex
253
tex/etex_man.drv doc driver for etex/etex_man.tex
254
tex/greek-usage.tex doc driver with patches for babel/usage.tex
255
tex/knuth.drv doc driver for knuth/{texware,mfware,etc}/*.web
256
tex/ltnews.tex master file that merges all base/ltnews*.tex
257
tex/ltxcheck.drv doc driver with patches for ltxcheck.tex
258
tex/psnfss2e.drv doc driver with patches for psnfss2e.tex
259
tex/tools-overview.cls class for tools.tex
260
tex/tools.tex master file for tools overview, generated
261
by the build.pl script from tools/manifest.txt
265
patch/amsclass.dtx.diff patch for amslatex/amsclass.dtx
266
patch/amsldoc.tex.diff patch for amslatex/amsldoc.tex
267
patch/changes.tex.diff patch for amslatex/amsrefs/changes.tex
268
patch/encguide.tex.diff patch for base/encguide.tex
269
patch/hebrew.fdd.diff patch for babel/hebrew.fdd
270
patch/lb2.err.diff patch for base/lb2.err
271
patch/logmac.tex.diff patch for knuth/errata/logmac.tex
272
patch/source2e.tex.diff patch for base/source2e.tex
273
patch/tlc2.err.diff patch for base/tlc2.err
274
patch/tripman.tex.diff patch for knuth/tex/tripman.tex
275
patch/trapman.tex.diff patch for knuth/mf/trapman.tex
276
patch/utf8ienc.dtx.diff patch for base/utf8ienc.dtx
277
patch/webman.tex.diff patch for knuth/web/webman.tex
283
* Compliance with the latest TDS specification.
285
* User friendly PDF files with navigational support:
288
* Complete documentation. The documentation generation with
289
enhanced PDF files is the tricky part and should be saved
291
* Output format of generated documentation is PDF, see above.
292
Other formats such as DVI or PS are not generated and provided.
293
* Documentation bundles are preferred to many partial documentation
294
files (e.g. source2e.pdf or ltnews.pdf).
295
* If several expansion stages of a documentation are available,
296
then just the most complete expansion stage should be used.
297
* Files that do not fit in a program sub tree of TDS stay below
298
TDS:source (e.g. latexbug.el from latex/base). Then they do not
300
* Page layout: a4paper with reduced vertical margins (exception: ltnews).
301
(This also decreases the page number usually.)
310
* source2e.pdf is used instead of many single lt*.pdf files.
311
* ltnews.pdf is introduced to avoid cluttering the doc directory
312
with many single sheet ltnews*.pdf files.
313
* Patch for ltfssdcl.dtx: Checksum fixed.
318
* Added: tools.pdf as overview/contents/index file with links
319
and short descriptions of the single packages. (It uses
320
the data from manifest.txt).
325
* The distribution from the AMS ftp site is used, because
326
the files are already sorted in TDS:
327
ftp://ftp.ams.org/pub/tex/amslatex.zip
328
ftp://ftp.ams.org/pub/tex/amsrefs.zip
333
* Babel's TeX files consists of three groups of files:
334
1. Hyphenation pattern, see below
336
*.ldf (language definition files)
337
*.sty (from bbcompat.dtx, these are plain-TeX files,
338
LaTeX user have the package babel)
339
babel.def, switch.def
345
*enc.def (for package fontenc)
346
cp*.def, 8859-8.def, si960.def (for package inputenc)
349
athnum.sty, grmath.sty, grsymb.sty (greek.ins)
351
Full TDS compliance would use different format subtrees
352
for the generic and LaTeX files. However practice (TeX Live, teTeX,
353
VTeX, ...) put them in `generic', mainly because of maintenance issues.
354
Also babel's *.ins files specify \usedir{tex/generic/babel}.
355
There can be problems, if different TDS trees have different
356
babel versions installed and the same file can be found both
357
in generic and latex. The natural search strategy for TDS compliant
358
trees would be to look first in tex/latex across the trees, then
359
in tex/generic. Thus it can happen to use files from the same
360
package, but different versions.
361
--> Therefore latex-tds put theses files in the generic subtree.
362
* Babel already contains babel.pdf as documentation. It is a superset
363
of user.pdf. Thus I have dropped the latter one to avoid redundancy.
364
Also the name `babel.pdf' is much more useful (texdoc).
369
* Current used CTAN -> TDS mapping:
370
CTAN:systems/knuth/dist --> TDS:<toplevel>/knuth
371
* Unsure where to put trip/trap files. Currently they are
372
put in TDS:source, because the documentation files
373
(tripman.pdf, trapman.pdf) are in TDS:doc. They lists the
374
trip/trap files already.
376
CTAN:systems/knuth/dist/lib/
377
In TeX Live 2007/2008 the files are installed at different
379
texmf-dist/fonts/source/public/mflogo/logo10.mf
380
texmf-dist/fonts/source/public/mflogo/logo8.mf
381
texmf-dist/fonts/source/public/mflogo/logo9.mf
382
texmf-dist/fonts/source/public/mflogo/logobf10.mf
383
texmf-dist/fonts/source/public/mflogo/logo.mf
384
texmf-dist/fonts/source/public/mflogo/logosl10.mf
385
texmf-dist/fonts/source/public/misc/grayf.mf
386
texmf-dist/fonts/source/public/misc/manfnt.mf
387
texmf-dist/fonts/source/public/misc/slant.mf
388
texmf-dist/metafont/base/expr.mf
389
texmf-dist/metafont/base/io.mf
390
texmf-dist/metafont/base/null.mf
391
texmf-dist/metafont/base/plain.mf
392
texmf-dist/metafont/misc/3test.mf
393
texmf-dist/metafont/misc/6test.mf
394
texmf-dist/metafont/misc/rtest.mf
395
texmf-dist/metafont/misc/test.mf
396
texmf-dist/metafont/misc/waits.mf
397
texmf-dist/metafont/misc/ztest.mf
398
texmf-dist/mft/base/cmbase.mft
399
texmf-dist/mft/base/plain.mft
400
texmf-dist/tex/generic/misc/null.tex
401
texmf-dist/tex/plain/base/manmac.tex
402
texmf-dist/tex/plain/base/mftmac.tex
403
texmf-dist/tex/plain/base/plain.tex
404
texmf-dist/tex/plain/base/story.tex
405
texmf-dist/tex/plain/base/testfont.tex
406
texmf-dist/tex/plain/base/webmac.tex
407
texmf/tex/generic/hyphen/hyphen.tex
411
* Only the manual `etex_man' is covered by this module.
417
The most important advice I can give: `forget it'!
418
The purpose of the source files are rather to show, what was
420
The *.zip with TDS trees are the goal of the project, not the
421
build process. Some remarks, if someone wants to build the
423
* TeX compiler: recent pdfTeX, below 1.30 some of the packages
425
* An up-to-date LaTeX installation is recommended.
426
* Additional packages can be necessary, e.g. I had to install
427
language/armenian, fonts/tipa, fonts/wsuipa, fonts/fc,
428
fonts/utopia, fonts/greek/cbfonts, ...
429
Probably TeX Live would be a good idea (I haven't tested).
430
* Some new packages of mine I will put on CTAN, but at time
431
of writing, they aren't available yet.
432
* Most of the PDF files are generated using lualatex and package
433
`fontspec' that uses the Latin Modern fonts as default. They
434
are available as OpenType fonts. LuaTeX generates with OpenType
435
fonts considerably smaller PDF files. Also PDF object stream
436
compression is used (PDF 1.5). Therefore the further
437
post-processing of PDF files are currently dropped.
438
* (Outdated since 2011-07-01) PDF post-processing, I have used two steps:
439
1. a) I have written a tool that analyzes page stream contents and
440
optimizes them (removal of unnecessary color settings, minimize
441
translation operations, ...).
442
--> pdfbox-rewrite.jar
443
b) For reading and writing the PDF file I have used PDFBox
444
--> PDFBox-0.7.2.jar (http://www.pdfbox.org/)
445
c) To get better results I patched some of the classes
446
of PDFBox (especially the write module).
447
--> pdfbox-rewrite.jar
448
2. The final conversion step was done by Multivalent, because
449
it makes a very good job in PDF compression:
450
--> Multivalent20060102.jar (http://multivalent.sourceforge.net/)
451
Multivalent and PDFBox are available, pdfbox-rewrite.jar, however,
452
is just a first prototype, not ripe for a release.
453
Therefore this step of post-processing is optional for the
454
project latex-tds. The build script looks for the library and
455
skips this steps automatically if necessary.
456
If you give the build script the option --nopostprocess,
457
then it will skip the postprocess steps (building is faster,
458
the pdf files a little larger).
459
Install the jar files in the directory 'lib' where
460
they are expected by the build script.
461
* Unix, Perl background is expected.
462
* No support or documentation.
469
* Start of the project (without babel, amslatex, psnfss).
471
* Module amslatex added.
473
* Modules psnfss and babel added, now all modules are covered.
475
* The project uploaded to CTAN.
477
* Index added to base/classes.dtx.
478
* ZIP files renamed: '*-tds.zip' -> '*.zip'
479
* Comment added to ZIP files.
480
* Update of readme.txt.
482
* Module tds for CTAN:tds/ added.
483
* Obsolete hyphenation patterns added to babel's source directory
484
to avoid violation of LPPL.
485
* Script adjust_checksum added and scripts are put below TDS:scripts.
486
* TDS:makeindex/base/ renamed to TDS:makeindex/latex/
487
* Exception for sample2e.tex and small2e.tex that now go into
490
* Default texsys.cfg is generated.
491
* adjust_checksum.pl and ziptimetree.pl now moved from the scripts
492
branch to TDS:source/latex/latex-tds/lib/.
494
* Fix of ltxguide.cfg that had loaded doc.sty that disturbs the
495
verbatim stuff in fntguide.tex.
497
* Fix for documentation of longtable.
499
* Patch for babel/latin.dtx added (babel/3922).
501
* A minor update on CTAN regarding babel:
502
iahyphen.tex, icehyph.tex, and lahyph.tex are now symbolic links
503
to their location in CTAN:language/hyphenation/. Therefore also
504
lahyph.tex is now installed in TDS:tex/generic/hyphen/.
506
* Update of module amslatex because of updated package amsrefs.
507
* Fix in latin.dtx.diff.
510
* Update of amsrefs (TDS:tex/latex/amscls -> TDS:tex/latex/amsrefs).
512
* Update of babel (2008/03/17).
514
* Fix: latex/base/*.err added to TDS:source/latex/base/.
516
* Using .tds.zip instead of .zip to follow CTAN:install's naming
519
* Update of babel (2008/06/01).
520
* Babel documentation: table of contents reformatted.
522
* Update of babel (2008/07/06).
524
* Module knuth added.
525
* Update of babel (2008/07/07).
527
* Fixes and additions for module knuth.
529
* Module amslatex: instr-l.tex vanished from CTAN (but not at AMS side).
530
* Some unwanted spaces in generated PDF files fixed.
531
(Caused by a wrong package file that was found on my system first.)
533
* Module latex3 added.
534
* Module base: CTAN hyperlinks fixed.
535
* Module amslatex: Outdated URL fixed in amsldoc.tex.
536
* Module babel: Problem with already defined \meta in tb1604.tex fixed.
539
* Using uptodate versions from LaTeX project page for errata lists.
540
* lgc2.err added (LaTeX Graphics Companion, 2. ed.).
541
* Various fixes in errata lists.
542
* Module tools/array.dtx: documentation fixed (tools/4044).
544
* Module base: Missing title date for utf8ienc.pdf fixed.
546
* Module amslatex: updated.
547
* Module latex3: xpackages updated.
548
* Module latex3: expl3 removed, because nothing to do.
550
* Module amslatex: updated.
551
* Module babel: updated.
552
* Update of LaTeX, release 2009/09/24.
554
* Module amslatex: Unhappily the .zip files are quite a mess,
555
because they contain a mixup of old and new versions.
556
Tried to sort this out and fix the last update.
557
* Module latex3: xpackages removed, because nothing to do.
558
* Module latex3 removed, nothing left to do.
560
* Module base: page layout for source2e fixed (changes, index).
561
* Module base: update of .err files.
563
* Module amslatex: amscls and amsrefs updated.
564
* Module etex added (only for etex_man).
567
* Module base: patch for latex/4148 (Missing \label and \ref in lppl.tex'')
569
* Module amslatex: There is an outdated version of amsthm.sty in
570
CTAN:install/macros/latex/required/amslatex/amscls.tds.zip.
571
The package amsthm.sty is now generated from the source.
572
* Using TDS tree for missing packages that are not part of TeX Live.
573
Module base: CTAN:language/armenian/armtex.zip
575
* Module amslatex: Two downloads from AMS server removed, because
576
the files are not longer available (and they are on CTAN).
577
* Module amslatex: 00readme.txt and amsrefs.dtx taken from
578
CTAN:macros/latex/contrib/amsrefs.zip instead of
579
CTAN:install/macros/latex/contrib/amsrefs.tds.zip because
580
the later archive file is out of sync.
583
* Update of LaTeX, release 2011/06/27.
584
* Patch ltpatch.ltx to match the kernel version.
585
* Patch lppl.tex.diff removed (no longer needed).
586
* Patch ltfssdcl.dtx.diff added (checksum fixed).
587
* Module tools: Release 2011/06.
588
* Module babel: Release 2011/06.
591
* Use of LuaTeX instead of pdfTeX for most of the files.
592
* Use of package `fontspec' with Latin Modern fonts as
593
default in OpenType format (smaller PDF file sizes).
594
The post-processing of PDF files is skipped.
595
* Various patches and fixes for LuaLaTeX and package `fontspec'.
598
* Patches ltpatch.ltx.diff and ltfssdcl.dtx.diff removed
600
* Module tools: Update.
603
* Caching for PDF generation added.
604
* `FINAL' markers in the output of build.pl
605
for final (Lua|pdf)TeX runs.
607
* PDF generation: Use of package unicode-math with Latin Modern Math
612
* Update of tools (varioref).