Hello,

David Carlisle wrote:

>
> Inputenc currently enforces all characters to be declared as text or
> math, but not both. (Allowing use of both in general is very expensive
> as normally in text mode it uses \chardef, but \chardef'ed tokens
> don't work in math mode, so it would require twice as many csnames, so
> that some math-mode version could be declared as well (cf
> \textsterling and \mathsterling, and \pounds which uses one or the other)
> However it may be possible to do something in this case.

Consider the following LaTeX file:

\documentclass{article}

\usepackage[english,russian]{babel}
\usepackage[koi8-r]{inputenc}

\begin{document}

\chardef\newCYRA=128
\chardef\newCYRB=129
\chardef\newCYRV=130

$\cyrmathit{\newCYRA\newCYRB\newCYRV}$  % this works well

$\cyrmathit{\CYRA\CYRB\CYRV}$           % this produces warnings
% and does not work

\end{document}

If we simply define russian characters via \chardef, then we are able to
use them in math mode.
But when we declare them via \DeclareTextSymbol, we are not able to
use them in math mode. :-(

Probably, either the definition of \DeclareTextSymbol should be changed,
or the new \Declare* command should be added to avoid this bug'.

--
With best regards,
`