Received: by nummer-3.proteosys id <01C19443.498C283C@nummer-3.proteosys>; Thu, 3 Jan 2002 11:42:06 +0100 MIME-Version: 1.0 x-vm-v5-data: ([nil nil nil nil nil nil nil t nil][nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C19443.498C283C" X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message Subject: RE: LaTeX 2.09 beta-test Date: Tue, 22 Oct 1991 01:00:00 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Rainer Schoepf" Sender: "LaTeX-L Mailing list" To: "Rainer M. Schoepf" Reply-To: "LaTeX-L Mailing list" Status: R X-Status: X-Keywords: X-UID: 411 This is a multi-part message in MIME format. ------_=_NextPart_001_01C19443.498C283C Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Nicolas Brouard writes: At that point, how do we know wich languages are loaded? If the new LaTeX 2.09 was able to say: `french', `english' hyphenation patterns loaded just before the asterisk it will be ok. We will know that french = patterns have been loaded and english too, the last one being the default, and = we can change the default by \selectlanguage?french?. What do you think of that and where can it be done? When it finishes reading lplain.tex IniTeX stops and displays Input any local modifications here. So, you can add any necessary text there, e.g., by writing: \everyjob=3D\expandafter{\the\everyjob \typeout{patterns for xyz loaded} \typeout{use at your own risk}} I have also an old question related to the previous one. My opinion = is to re name hyphen.tex as hyphen.ori and don't change any other plain, lplain, = splain or whatever file, and to copy (either a masthyph.tex from Ferguson or = hyphen.do c from Braams) as hyphen.tex, each of the copied file describing its = original name like \message? version, date? to know what has been = loaded. In a second step, this new hyphen.tex will read in a loop a file = named by Braams as language.dat which looks like: % This is language.dat english hyphen.ori french frhyph.tex %german ghyphenmax.tex and will load english and french hyphenation patterns in the named = files. Where can i put an \everyjob?\message?#1 hyphenation patterns = loaded?, so th at doing latex, I will know the patterns loaded? Perhaps babel could automatically generate a message for every language it reads. Johannes, what do you think? Hyphen.ori contains only ascii characters but this is not the case = with languages with diacritical signs and characters used in the pattern = files even if written with ^^xx or \'e must have code 11 and the lccodes = must be defined before to be accepted. Should it be done in the same = frhyph.tex file or does the new latex have a special place? I have another subsidiary question. TeX has no real filters incorporated, and we need them for inputting = 8 bits characters which have different code than that of Cork (or 8859/1) = and also for output (in log, .aux, .bbl, etc file). I don't see any other = solution that what Mattes did in his emtex, that is to introduce filters or = conversio n tables in the tex web. This cannot be done with macros as far as I = know. Mattes uses option /c* to read a conversion table and option /o to = output th e characters as originally entered (during initex and all is coded in = the fmt) Now wait a moment. TeX *has* a builtin conversion table, namely the xord and xchr arrays to convert between internal and external character sets. All you have to do is to initialize them properly. Let us be more precise: If you are working on a PC or even on RS6000 with the stupid pc850 = code page , and after loading the patterns (in Cork notations), you can define = the pc co des as active and do a \let=3D but then you cannot do \def\thorme. If TeX has true filters incorporated you can do it, because the is = translate d to a . I definitely vote for the way emTeX does it. Besides, this is simply the abovementioned appropriate initialization of the xchr and xord arrays for input/output. I have discussed this issue with Uwe Untermarzoner (who made the RS 6000 implementation for DANTE) and he agreed to adapt the change file. I recommend that you contact him about that. For outputting characters it does not seem to exist any macro for = that, like \letoutput=3D or I am wrong? This is not = only a r eal problem in french but much more in greek where catcodes have nothing = to do with Cork. There is no problem here as the characters are output using the inverse mapping. (I can't remember whether xord is for input and xchr for output or vice versa.) In Paris, I heard that the Publisher was able to input and output 8 bits non Cork characters = with macros. Is it really true? As I said above: no problem, just initialize those arrays properly. That it isn't done normally does by no means mean that it can't be done. So, let's do it! Rainer Schoepf Konrad-Zuse-Zentrum ,,Ich mag es nicht, wenn fuer Informationstechnik Berlin sich die Dinge so frueh Heilbronner Strasse 10 am Morgen schon so D-1000 Berlin 31 dynamisch entwickeln!'' Federal Republic of Germany or ------_=_NextPart_001_01C19443.498C283C Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: LaTeX 2.09 <Oct 91> beta-test

Nicolas Brouard <BROUARD@FRINED51.bitnet> = writes:

   At that point, how do we know wich = languages are loaded?
   If the new LaTeX 2.09 was able to = say:
   `french', `english' hyphenation patterns = loaded
   just before the asterisk it will be ok. = We will know that french patterns
   have been loaded and english too, the = last one being the default, and we can
   change the default by = \selectlanguage?french?.

   What do you think of that and where can = it be done?

When it finishes reading lplain.tex IniTeX stops and = displays

Input any local modifications here.

So, you can add any necessary text there, e.g., by = writing:

\everyjob=3D\expandafter{\the\everyjob
          &nbs= p; \typeout{patterns for xyz loaded}
          &nbs= p; \typeout{use at your own risk}}

   I have also an old question related to = the previous one. My opinion is to re
name
   hyphen.tex as hyphen.ori and don't = change any other plain, lplain, splain or
   whatever file, and to copy (either a = masthyph.tex from Ferguson or hyphen.do
c
   from Braams) as hyphen.tex, each of the = copied file describing its original
   name like \message?<hyphen.doc> = version, date? to know what has been loaded.
   In a second step, this new hyphen.tex = will read in a loop a file named
   by Braams as language.dat which looks = like:
   % This is language.dat
   english hyphen.ori
   french frhyph.tex
   %german ghyphenmax.tex

   and will load english and french = hyphenation patterns in the named files.

   Where can i put an \everyjob?\message?#1 = hyphenation patterns loaded?, so th
at
   doing latex, I will know the patterns = loaded?

Perhaps babel could automatically generate a message = for every
language it reads. Johannes, what do you = think?

   Hyphen.ori contains only ascii characters = but this is not the case with
   languages with diacritical signs and = characters used in the pattern files
   even if written with ^^xx or \'e must = have code 11 and the lccodes must be
   defined before to be accepted. Should it = be done in the same frhyph.tex file
 or
   does the new latex have a special = place?

   I have another subsidiary = question.
   TeX has no real filters incorporated, = and we need them for inputting 8 bits
   characters which have different code = than that of Cork (or 8859/1) and also
   for output (in log, .aux, .bbl, etc = file). I don't see any other solution
   that what Mattes did in his emtex, that = is to introduce filters or conversio
n
   tables in the tex web. This cannot be = done with macros as far as I know.
   Mattes uses option /c* to read a = conversion table and option /o to output th
e
   characters as originally entered (during = initex and all is coded in the fmt)


Now wait a moment. TeX *has* a builtin conversion = table, namely the
xord and xchr arrays to convert between internal and = external
character sets. All you have to do is to initialize = them properly.

   Let us be more precise:
   If you are working on a PC or even on = RS6000 with the stupid pc850 code page
,
   and after loading the patterns (in Cork = notations), you can define the pc co
des
   as active and do a = \let<e-acute-pc850>=3D<e-acute-cork> but then you
   cannot do = \def\th<e-acute-pc850>or<e-grave-pc850>me. If TeX has = true
   filters incorporated you can do it, = because the <e-acute-pc850> is translate
d to
   a <e-acute-cork>.

I definitely vote for the way emTeX does it. Besides, = this is simply
the abovementioned appropriate initialization of the = xchr and xord
arrays for input/output. I have discussed this issue = with Uwe
Untermarzoner (who made the RS 6000 implementation = for DANTE) and he
agreed to adapt the change file. I recommend that you = contact him
about that.

   For outputting characters it does not = seem to exist any macro for that, like
   = \letoutput<e-acute-cork>=3D<e-acute-pc850> or I am wrong? = This is not only a r
eal
   problem in french but much more in greek = where catcodes have nothing to do
   with Cork.

There is no problem here as the characters are output = using the
inverse mapping. (I can't remember whether xord is = for input and xchr
for output or vice versa.)

   In Paris, I heard that
   the Publisher was able to input and = output 8 bits non Cork characters with
   macros. Is it really true?

As I said above: no problem, just initialize those = arrays properly.
That it isn't done normally does by no means mean = that it can't be
done. So, let's do it!



   Rainer Schoepf
   = Konrad-Zuse-Zentrum         =             &= nbsp; ,,Ich mag es nicht, wenn
    fuer Informationstechnik = Berlin            = sich die Dinge so frueh
   Heilbronner Strasse = 10            = ;          am Morgen schon = so
   D-1000 Berlin = 31            = ;            =     dynamisch entwickeln!''
   Federal Republic of Germany
   <Schoepf@sc.ZIB-Berlin.dbp.de> or = <Schoepf@sc.ZIB-Berlin.de>


------_=_NextPart_001_01C19443.498C283C--