[tex-eplain] boldface greek symbols
Karl Berry
karl at freefriends.org
Sun Aug 27 23:18:40 CEST 2023
(Well, Dan just wrote a reply with real examples along these lines, but
I'll send this anyway FWIW.)
First, I suspect that existing plain TeX font packages (there are quite
a few) have already solved this. For instance, this one:
https://www.ctan.org/pkg/font-change
General topic with more: https://www.ctan.org/topic/plain-ext
(I haven't actually tried working with any of them.)
I believe the issue with the bold math italic "sometimes" working is
plain.tex's math character definitions. In order to have \alpha, ...,
\omega, \vartheta, etc., respect \fam, their defns need to be changed to
have class 7 (variable) instead of 0 (ordinary). For instance, plain.tex
says: \mathchardef\vartheta="0123
That initial 0 means an ordinary symbol, and \fam does not apply.
Compare with \Delta:
\mathchardef\Delta="7001
The 7 means the symbol follows \fam. You can read more about this in
The TeXbook, or no doubt any other reasonable plain TeX book. (I expect
that Victor covers it in gory detail in TeX by Topic.)
Here's what Knuth says about bold math italic specifically (it's the
exercise at the top of page 156, if you have the book):
Assume that the control sequence
|\bmit| has been defined as an abbreviation for `|\fam=9|'; hence
`|{\bmit b}|' will give a boldface math italic~|b|. What change to the
definition of\/ |\alpha| will make |{\bmit\alpha}| produce a
boldface~alpha?
\answer |\mathchardef\alpha="710B|. Incidentally, |{\rm\alpha}| will
then give a spurious result, because character position \hex{0B} of
roman fonts does not contain an alpha; you should warn
your users about what characters they are allowed to type under the
influence of special conventions like ^|\rm|.
I can't undertake the research, or implement a solution, though. Sorry.
--hope this helps somehow, karl.
More information about the tex-eplain
mailing list.