# Re: Behaviour of \latinfamily

• To: Sebastian Rahtz <s.rahtz@elsevier.co.uk>
• Subject: Re: Behaviour of \latinfamily
• From: Rebecca and Rowland <rebecca@astrid.u-net.com>
• Date: Fri, 29 May 1998 03:44:26 +0100
• Cc: fontinst@cogs.susx.ac.uk
• References: <l03130300b191f8c36e0f@[194.119.133.49]><l03130301b1905e0e4f76@[194.119.133.41]><l03130305b18ff73776d2@[194.119.133.37]><6720-Tue26May1998103412+0100-s.rahtz@elsevier.co.uk><1562-Tue26May1998134654+0100-s.rahtz@elsevier.co.uk><l03130300b191f8c36e0f@[194.119.133.49]>

At 9:20 am +0100 28/5/98, Sebastian Rahtz wrote:
>Rebecca and Rowland writes:
>
> > The problem is that TeX code is *very* difficult to follow.  If there were
>
>the success of TeX over the last 15 years would tend to prove you
>wrong, surely?

The way in which TeX has been used over the last 15 years confirms this
view perfectly: a minority of experts produce vast amounts of code which
other people then use if they can work out how to use it.  Sometimes this
code does what's wanted, but I've known *lots* of LaTeX users who have
resorted to horrible simple-minded hackery rather than use a style file (as
they all were under 2.09) from CTAN to do the job because learning how to
use the external code was simply too difficult.  Despite knowing that the
hacks they were using were hideously inelegant, they used them because it
was several orders of magnitude easier than the alternatives.  All these
LaTeX users were in a computer labs in Manchester University's computer
science department: technically literate, computer literate, well-educated
people (stop laughing at the back: it's what it says here on the label).

> people swap code all the time. not as extreme as
>fontinst, usually, but sometimes

People swap code, but as Frank Mittelbach says in the doc package
documentation:

\begin{quotation}
But for one of the most complicated programming languages (TeX) the
documentation has however been neglected.  The TeX world seems to be
divided between:

* a couple of wizards', who produce many lines of completely unreadable
code off the cuff', and

* many users who are amazed that it works just how they want it to.  Or
rather, who despair that certain macros refuse to do what is expected of
them.

[...]

I can only advise anyone who thinks that they can cope without
documentationn to stop time' until he or she completely understands the
AMS-TeX source code.
\end{quotation}

The point being that plenty of code is swapped, but most of it is
incomprehensible to most users.  I've already had fan mail' about my
extremely simple-minded sectsty' package for changing LaTeX's sectional
heading styles.  It was *very* easy to write; a one cup of tea job even for
a bear with as little brain as me (turning it into a dtx/ins pair and
documenting it was a different matter).  I wrote it because the titlesec'
package, while well-documented and straight-forward, struck me as too
fiddly for what I wanted to do, so I wrote something else.  The fan mail'
suggests that my aim of making something easy-to-use is appreciated by
other people.

Note that virtually no LaTeX users are thick, and most of them are highly
technically literate.  Even so, the ease-of-use improvement from titlesec
to sectsty is appreciated.  Even if titlesec were undocumented, I could
work out how to use it effectively; it's a nice, well-documented,
easy-to-use package.  But...  Not as simple as it might be.

> > 1) What calls \latin_shapes and when.
> > 2) What \latin_shapes does.
>surely thats exactly what Ulrik just explained?????

Not in a way that gave me any useful information.  The problem (I think) is
that I'm trying to get to the bottom of what output fontinst produces from
what input without trying to understand the internals (I've tried that and
failed); but the honest attempts on the part of you, Ulrick, and Thierry to
help me (and I really do appreciate all the time you've spent on my behalf)
have tried to teach me about the internal operation of fontinst.  Given
that I don't understand *anything* useful about fontinst's operation (yet),
this is not very useful.  If I knew how fontinst responded to input, and
how the input related to the output, I might be in with a chance.  But at
the moment, I'm clueless[1].

Rowland.

[1] Not *strictly* true - I'm building up a model of operation which might
have some relationship to observed behaviour.  When it's a bit more
advanced, I might test the model.  This model didn't exist at the beginning
of the week.

`