Hans van der Meer wrote:
I am confused about the behaviour of \cal and calligraphic. In a font where the calligraphic letters are in MathItalic all goes well. But, in a font where the calligraphic letters come from another font I get:
\definefontsynonym [Calligraphic] [FONT_OTHER_THAN_MathSymbol]
The font "Calligraphic" is not the same as the math alphabet for \cal, except when the only calligraphic alphabet available is the one in the math font. The confusion arises because in text mode, \cal is remapped to the \calligraphic command. (switching to math mode would be too hard to do reliably at this point). Two options are possible to sanitize this behaviour. A.: My guess is you would be less confused if: in text: \calligraphic{ABC} is ok in text: {\cal ABC} is ERROR: "missing _ inserted" in math: $\calligraphic{ABC}$ is ok in text: ${\cal ABC}$ is math cal alphabet But suddenly switching the current behaviour to an error message raises compatibility problems, so that is a no-no. After some messing about, I came up with a definition of \cal that implements this (but it is rather ugly): \def\cal% {\mathortext {\fam\purefamily{calligraphic}} {$\fam\purefamily{calligraphic}% \xdef\calfam{\fontname\textfont\fam}$% \font\dummy=\calfam \dummy}} B.: Or there could be: in text: \calligraphic{ABC} is ok in text: {\cal ABC} is ok in math: $\calligraphic{ABC}$ is ok in text: ${\cal ABC}$ is ok This needs an even weirder definition of \cal, but it can be done (note: this trashes a math family completely!): \def\cal% {\mathortext {\hbox{% \symbolicscaledfont{1}{Calligraphic}% \global\textfont\nnfam=\thedefinedfont \symbolicscaledfont{0.7}{Calligraphic}% \global\scriptfont\nnfam=\thedefinedfont \symbolicscaledfont{0.5}{Calligraphic}% \global\scriptscriptfont\nnfam=\thedefinedfont}% \fam\nnfam } {\symbolicfont{Calligraphic}}} Hans, what do you think? Cheers, Taco PS I assume there is a similar problem with the other families: os (OldStyle), frak (Fraktur), goth (Gothic), bbd (BlackBoard).