On 11/26/2008 2:41 AM, Marcin Borkowski wrote:
> 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.

I appreciate your time and the explanations, from an experienced TeX user.
(To all) please pardon the frustration apparent in my previous email,
from a TeX and especially ConTeXt newbie.

> 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".

This is good to know.
However what I'm getting at is not just its concrete definition
(implementation) in Plain TeX, but its general intent.

The reason I ask that question is this: Knuth makes clear in TeXbook ch.
4 that \rm and other macros are intended to be redefined according to
the needs of the book section. Therefore \rm is not intended to remain
defined always specifically as "switch to upright, serif font in 10pt
size". But it is *not* intended that \rm be defined to mean "reduce the
left margin to the dimension provided by the following argument", or
even "switch to italic, serif font in 10pt size". Sure you could define
\rm to mean anything, but your end users would string you up.

Somewhere between those extremes is an intended consistency of meaning
for \rm. If it were not so, macro packages would be gibberish,
intelligible to the executing processor but intractable for humans.

My contention is that the intended "invariant" of \rm semantics,
communicated in TeXbook (e.g. exercise 4.2 and the bottom of p. 15), is
that of "not italic".

> [helpful orientation on the major macro packages snipped]

> (and level of frustration), sometimes with LaTeX having more wtf per
> minute 

I had not heard of that metric before. :-)

> 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.

Except perhaps the documentation. I have yet to find a reference that
clearly describes what \rm is to do in ConTeXt. One responder pointed to
http://www.pragma-ade.com/general/manuals/cont-eni.pdf. The closest
thing to a definition of \rm there that I could find is on p. 111: "The
command \rm is used to switch to a roman/serif/regular style,..."
These three terms are not explicitly defined; they are given as names of
styles in an illustrative table above. One may apparently assume that
the meaning "serif" style here actually is intended to mean that the
typeface has serifs (not a trivial assumption: see 'regular'). However
the examples of serif/regular/roman in the illustrative table are also
all non-italic, and the word "regular" in typography usually (as far as
I can tell... please enlighten) means "upright" in contrast to italic.
Yet apparently \rm does not switch to "regular" (if that means or
includes "upright") in ConTeXt.

>> 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...

Again, I think we're talking about two different things: the original
macro definition in Plain TeX, vs. the communicated intended invariant
meaning over redefinitions of \rm in various "formats" (Knuth's term
which I take to mean macro packages or something like that).

>> 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.

See previous comment.

But even in plain TeX, "switch to cmr10 at 10pt" *does* include
switching to a non-italic typeface, which is what I meant here. I didn't
mean that in plain TeX \rm means *only* "switch to a non-italic
typeface." Sorry that wasn't clear.

And the jolt here with ConTeXt is that the meaning of \rm no longer
includes "switch to a non-italic typeface", and that this change is not
clearly documented.

Lars
___________________________________________________________________________________
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