# [NTG-context] difference between TeX behavior and ConTeXt

Lars Huttar lars_huttar at sil.org
Tue Nov 25 22:21:00 CET 2008

Hello,

I've been reading through the TeXbook to solidify the foundations for
TeX programming. In an exercise on roman and italic text, ConTeXt seems
to behave differently from what the book specifies (Plain TEX) at a
fairly fundamental level.

Exercise 4.1 says, "Explain how to typeset a roman word in the midst of
an italicized sentence."
I wrote, and the solution in the appendix says,
{\it Explain how to typeset a\/ {\rm roman} word
in the midst of an italicized sentence.}

But when I typeset this using texexec, the word "roman" appears in
italic, just like the rest of the sentence.

I tried this on both Windows XP and Ubuntu Linux, with both PDFTex and
Xetex engines. On Windows I'm using ConTeXt minimal, and on Linux I'm
using ConTeXt from the TeXLive 2008 CD. The result is the same in all
cases: all the text is italicized.

Does this difference in behavior represent a known "feature" of ConTeXt?
If so, is it a difference in the defined behavior of \rm?

When I put \show\rm in the .tex file to display the definition of the
\rm macro, and run texexec, I get:
> \rm=\protected macro:
->\setcurrentfontstyle {rm}.
l.7 \show\rm
By contrast, according to
http://webpages.charter.net/davidlha/.trm/trmi.html, "Plain TeX defines
\rm to be \fam=0 \tenrm'."
So clearly the definition of the \rm macro is different in ConTeXt than
it is in Plain TeX.

I could understand ConTeXt possibly changing the details of \rm's
definition, e.g. a change in default font family; but it would really be
surprising to find that the logic of \rm's behavior has been changed.

`