Comprehensive TeX Archive Network

Direc­tory systems/tex-extensions/clasen

Last updated:   Fri Feb  7 11:00:13 CET 2003

This directory contains some proposals for extensions to TeX
which I have implemented in a series of change files.  These 
have only been tested with web2c 7.2 as contained on the 
TeX live III CD. 

glue/glue.ch and glue/glue-post-web2c.ch:
  Adapt Knuth's glue.web to replace all cases of floating-point
  arithmetic in TeX by fixed-point counterparts.  To make this 
  change file work, you must also apply the patch glue/glueratio.patch

  Implements hyphen classes.  There is a corresponding change file
  patgen-hyf.ch which enables patgen to produce patterns for multiple 
  hyphen classes.

  Implements demerits for more than 2 consecutive hyphens. 

  (The changes in classes.ch and count.ch are described in more detail
   in hyphenation/hyphenation.tex.  There is a combined change file

  Implements nestable and under math accents.

  Implements primitives to switch to cramped styles. 

  Implements generalized radicals with a left and right delimiter.  
  Implements \mathstyle and \fraction.

  (There is a combined change file math/math.ch.)

hz/hz.ch and hz/hz-post-web2c.ch: 
  Implement the hz-algorithm, ie using variants of a font to achieve
  better justification.

  Removes the floating-point operations reintroduced by hz.ch.
  This can only be used in conjunction with glue.ch. 

margin/margin.ch and margin/margin-post-web2c.ch:
  Implement \marginchar for hanging punctuation and hyphenation and
  optical margin correction.  This can currently only be used *after*

These change files can all be used together with the three change files
in this directory in the following order (assuming web2c.ch is the 
tex.ch change file coming with web2c): 

pre.ch classes.ch count.ch accent.ch cramp.ch radical.ch fraction.ch
glue.ch hz.ch hz-glue.ch margin.ch pre-web2c.ch web2c.ch post-web2c.ch 
glue-post-web2c.ch hz-post-web2c.ch margin-post-web2c.ch 
Since this list is rather long, you will need more than one 
run of tie/webmerge to create a single change file.  Alternatively,
it should be possible to use only a subset of the above list.

There are also some example files.  All example files are 
present with tex, dvi and log files.  To avoid messing with the 
fonts, you can also use the ps versions (generated with 
dvips -D600 -mode ljfive). 

  Multiple hyphen classes.  This file must be processed
  with initex, since it uses \patterns.  For this example, the
  log file is more interesting than the dvi file.
  Demerits for more than 2 consecutive hyphens.  LaTeX file.

  The various math features.  This LaTeX file uses the fonts
  tf5, tf7, and tf10 whose source can be found in the same 

  The hz-algorithm.  This LaTeX file uses the fonts 
  hz1cmr10,...,hz6cmr10 whose source can be found in the same
  There are also some gifs which compare glyphs at different
  extension factors.

  Hanging punctuation/hyphenation.  The LaTeX file uses the font
  ocmr10, whose source can be found in the same directory.

  Another example showing the hz-Algorithm.  This time demonstrating
  a prototype for a LaTeX-interface integrated with NFSS.

I'd be glad to hear comments on the ideas and their implementation!

Matthias Clasen                   maclas@gmx.de

Down­load the con­tents of this pack­age in one zip archive (217.8k).

tex-ex­ten­sions – Pro­pos­als for ex­ten­sions to

A bun­dle of pro­pos­als for ex­ten­sions to , im­ple­mented as change files to we­b2c v7.2. The ex­te­sions cover:

  • re­plac­ing float­ing point by in­te­ger arith­metic, in glue cal­cu­la­tions;
  • in­tro­duc­ing hy­phen­ation classes (with a cor­re­spond­ing change to pat­gen);
  • im­plent­ing de­mer­its for more than 2 con­sec­u­tive hy­phens;
  • pro­vid­ing ‘nestable’ and ‘un­der’ math ac­cents; a prim­i­tive to switch to ‘cramped’ styles; pro­vides gen­er­alised rad­i­cals with a left- and right-de­lim­iter; im­ple­men­ta­tion work for us­ing the hz al­go­rithm;
  • marginal to­kens for hang­ing punc­tu­a­tion and hy­phens.

Sev­eral files of­fer­ing ex­am­ples of use are also pro­vided.

Ver­sion 2003-02-07
Li­cense Un­known Sta­tus, No In­for­ma­tion Avail­able
Main­tainerMatthias Clasen
Topics (or -alike) type­set­ting en­gine
Guest Book Sitemap Contact Contact Author