Dnia Tue, Nov 25, 2008 at 10:30:51PM -0600, Lars Huttar napisał(a):
> It makes sense for "italicness" and "serifity" to be independently
> changeable.
> What's discouraging to me as a entrant to the whole TeX world (but an
> experienced programmer) is the (apparently undocumented) redefinition of
> a well-established control sequence that used to mean "non-italic" to
> mean something different (maybe "serif" -- I still don't know for sure).

Hi,

and welcome to the TeX world;).

Me not being an experienced programmer, but (some kind) of more or less
experienced TeX user, I'd add the following.

In general, there are three 'mainstream' TeX macropackages: plain TeX
(say, plus AMSTeX), LaTeX and ConTeXt.

It seems that the majority of the TeX world uses LaTeX; most people,
when they say "TeX", mean essentially "LaTeX".  LaTeX is a a big beast,
and if you are new to TeX _and_ don't want to submit papers to math/cs
journals (which are seldom aware of ConTeXt, I'm afraid), learning LaTeX
may not be exactly what you want.

There is also a very small minority using plain TeX (including Knuth,
who doesn't use LaTeX; he was once asked why, and said: "I'm afraid of
large systems";)).  The TeXbook is about two things: plain TeX and using
the TeX engine itself.

Then there is another minority (but growing, I believe) of ConTeXt
users.  For example, I am a plain-to-LaTeX and then (after 5 years or
so) LaTeX-to-ConTeXt convert (still using LaTeX when writing papers
which I want to submit somewhere, though, and plain TeX when doing
something really atypical).

It is probably true that plain TeX is weird and "incomplete" in a sense.
What \rm means in plain TeX is: "switch to upright, serif font in 10pt
size".  It _might_ be modified (in the TeXbook spirit) to, e.g., "switch
to upright, serif font in _current_ size" - but please note that plain
TeX itself has _no_ notion of "current size" (or, in other words,
"current size" in plain TeX is fixed at 10pt).  What Knuth mentions in
the TeXbook is that you might want to write some macros to introduce
something like a flexible "current size" - he even shows how to do it in
Appendix E - but it is no longer plain vanilla TeX then!  So what you
did was to extrapolate plain TeX's meaning of \rm to a situation outside
plain TeX itself (although in Knuthian spirit).

So, everything I said above is trivial when applied just to \rm, but I
wanted to try to explain the differences between plain TeX, LaTeX and
ConTeXt.  So to finish this explanation, I would say the following:

* Plain TeX is a DIY thing.  Cross-references, automatic numbering of
chapters etc., bibliographies, including graphics, etc., etc. -
forget it, it just isn't there.  This is very fine if you're doing
something really unusual (and this happens from time to time) and don't
need such features, but you want to _exactly_ know what is happening
where: plain TeX is small and easy to grasp (at least, when compared to
LaTeX or ConTeXt).

* LaTeX is what they call a "document preparation system", but that's a
lie.  LaTeX is a "scientific paper/monograph preparation system"; you
_may_ typeset a cookbook, a school test, or a software manual in LaTeX,
but it is a (sometimes small, sometimes big) pain.  It is just not the
best tool.  Of course, it flexible, extensible, even Turing complete, so
you can do everything - but it is sometimes like simulating recursion in
BASIC using arrays as a stack: possible, but no-one would like to do it.
The popularity of LaTeX caused, however, the situation when there is a
LaTeX package for everything (and sometimes even three of them, each
with different set of features and bugs...), so the pain is (usually)
not that big, but still sometimes writing stuff in LaTeX is not very
comfortable.

* ConTeXt is something much more universal than LaTeX - without the
scientific bias - but probably less stable than LaTeX, less documented
and with smaller userbase (but: smaller does not mean less active nor
less helpful!).  The flexibility of plain TeX, LaTeX and ConTeXt is
obviously similar (well, with ConTeXt actually bigger since the advent
of luatex), but it is sometimes _very_ different in terms of easiness
(and level of frustration), sometimes with LaTeX having more wtf per
minute and sometimes ConTeXt.  It seems, however, that Hans considered
much more special cases when writing ConTeXt, so many thing are more
natural in ConTeXt than in LaTeX (where even simplest things sometimes
need an external package - for example, changing the style of
enumerations).

> If I were choosing a TeX macro package at this point, I would definitely
>  look for one that kept semantics of basic TeX command sequences
> consistent with the intent expressed in the TeXbook... to avoid package
> lock-in, as well as to make the learning curve easier and to be able to
> use the resources of the whole TeX community.

As said - almost no-one uses plain TeX.  Both LaTeX and ConTeXt claim to
be "built on top of plain TeX", but in both cases it does _not_ mean
"saving the meaning of each and every plain TeX command" (and that is
clearly stated in both sources!).

> That being said, I appreciate the design goals of ConTeXt, including the
> desire to have independent controls for +/- italic, +/- serif, etc. I'm
> also amazed at the energy that Hans still devotes to answering questions
> on this mailing list, 18 years after ConTeXt was written! That's dedication.

That's right.  I would add one more point: if everyone called the
software of ConTeXt quality "beta", then Windows would be pre-alpha and
a typical GNU/Linux probably something between alpha and beta.

> Sorry if the above sounds too negative. After all, the TeXbook itself
> does not make the semantics of \rm obvious.

Well, it does, but _not_ in the context of changing sizes/styles/etc...

> However, once you dig deep enough it becomes clear that \rm does mean
> "switch to a non-italic typeface" in Plain TeX.

I'll stress it again: no.  In plain TeX, it means "switch to cmr10 at
10pt", full stop.

Greets

-- 
Marcin Borkowski (http://mbork.pl)

Walka trwa!
Nie przeciw ciału i krwi, lecz przeciw złym siłom.
Naszym ogniem Miłość Boga, naszym mieczem wierność Jego!
Walka trwa!
                        (Izaiash)
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to