[comp.text.tex] multilanguage version for TeX/LaTeX: how?

rcpt@rw7.urc.tue.nl (Piet Tutelaers) (12/05/90)

I am desperately looking for some document describing how I can create 
TeX, LaTeX and SliTeX versions that can handle English, Dutch, German, etc.
Where is this clearly explained or who has succesfully done this already?
(I am using TeX-version 3.0.)

--Piet

rcpt@rw7.urc.tue.nl (Piet Tutelaers) (12/07/90)

rcpt@rw7.urc.tue.nl (Piet Tutelaers) writes:

>I am desperately looking for some document describing how I can create 
>TeX, LaTeX and SliTeX versions that can handle English, Dutch, German, etc.
>Where is this clearly explained or who has succesfully done this already?
>(I am using TeX-version 3.0.)

Because nobody has answered this question I will show my solution. A
product of trial and error and some advices from other people.

First the documentation: there seems no other documentation than appendix H
of the TeXbook (see TeXdoc/TeXbook.tex.Z on UNIX distribution), but still
the information herein is very scarce. It gives no advice how to set up a
production version of TeX, LaTeX and SliTeX for English, German, French,
Dutch etc.

My approach is to rename the default hyphen.tex (English hyphenation
patterns) into english-hyphen.tex. The file hyphen.tex is then changed into:
---------------------- hyphen.tex ---------------------------------
%
% Define constants for the different languages
%
\chardef\English=0
\chardef\German=1
\chardef\French=3
\chardef\Dutch=5
%
% And now input the available hyphen patterns for these languages
%
\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks
\language\English
\input english-hyphen
\language\Dutch
\input dutch-hyphen
\language\German
\input german-hyphen
---------------------- hyphen.tex ---------------------------------

Now `initex plain \\dump' creates a plain.fmt including knowledge about
how to hyphenate English, German and Dutch. The advantage of this approach
is that we don't need to change plain.tex, lplain.tex and splain.tex.

The default language is English. The language constants for non-english
languages are taken from `german.sty' and dutch.sty'. In these styles
there is even made a difference between USenglish and english, german
and austrian. This seems overdone to me (should the Dutch speaking people
claim constants for Flemmish and South-African?).
Standardisation is highly wanted here.

To switch to another language we can say:
	\language\Dutch
	Hier volgt nu wat in het nederlands.
	\language\German
	Hier folgt etwas im Deutsch.
	\language\French
	Maintenant quelque mots en franc/ais.

I hope I have helped other people by showing my current solution.

--Piet

(I have looked around to get a French hyphenation patterns but I could
not find one yet.)