Am 22.09.2008 um 15:00 schrieb Hans Hagen: > Taco Hoekwater wrote: >> >> Aditya Mahajan wrote: >>> Ah, so that is why it is lowlevel. I wonder why the following does >>> not >>> work. >>> >>> \setupbodyfontenvironment [default] >>> [em={\italic\color[red]}] >> >> The em key is a bit extra extra special: it has to be either >> 'italic' or 'slanted', everything else is ignored. This is because >> of the need to allow bold emphasis. (\bf\em == \bs or \bi). >> >> I would personally be happier if it would just use whatever was >> in the argument when it is *not* italic or slanted, instead of >> ignoring the argument, but that's how it is. > > > \def\doemphasistypeface#1#2% > {\doifelsevalue{\??ft\fontclass\normalizedbodyfontsize\c!em}\v! > slanted > {#1}% > {\doifelsevalue{\??ft\fontclass\normalizedbodyfontsize\c!em}\v! > italic > {#2}% > {\doifelsevaluenothing{\??ft\fontclass\normalizedbodyfontsize > \c!em} > {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}\v! > slanted > {#1}% > {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}\v! > italic > {#2}% > {\getvalue{\??ft\normalizedbodyfontsize\c!em}}}} > {\getvalue{\??ft\fontclass\normalizedbodyfontsize\c!em}}}}} > > however, this does not provide italic correction, so better is: > > \newtoks\everyemphasized > > \unexpanded\def\em > {\relax > \ifdim\slantperpoint>\zeropoint > \settrue\emneeded > \else > \setfalse\emneeded > \fi > \setemphasisboldface % new > \ifx\fontalternative\c!it % \ifnum\fam=\itfam > \def\emphasistypeface{\it}\tf > \else\ifx\fontalternative\c!sl % \ifnum\fam=\slfam > \def\emphasistypeface{\sl}\tf > \else\ifx\fontalternative\c!bf % \ifnum\fam=\bffam > \emphasisboldface > \else\ifx\fontalternative\c!bs % \ifnum\fam=\bsfam > \def\emphasisboldface{\bs}\bf > \else\ifx\fontalternative\c!bi % \ifnum\fam=\bifam > \def\emphasisboldface{\bi}\bf > \else > \emphasistypeface > \fi\fi\fi\fi\fi > \the\everyemphasized > \ifconditional\emneeded\relax > \else > \expandafter\aftergroup > \fi > \emphasiscorrection} > > which provides a hook, as in: > > > \appendtoks > \red > \to \everyemphasized
Be careful: this kills the ability of the emphasized word to be hyphenated! (... at least here with MKII) Steffen ___________________________________________________________________________________ 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 ___________________________________________________________________________________