\polyset and greek letters

The polynom style (version “2006/04/20 0.17 (CH,HA)” from texlive 2012) has to be told about which tokens represent variables. The manual has an example like this:

\polyset{vars=XYZ\xi,  % make X, Y, Z, and \xi into variables
delims={[}{]}}% nongrowing brackets


When I try to typeset this in a minimal document

\documentclass{article}
\usepackage{polynom,amsmath,amssymb}
\begin{document}
\polyset{vars=XYZ\xi,delims={[}{]}}
\polylongdiv{\xi^2-1}{\xi-1}
\end{document}


I get the following error message:

! Missing \endcsname inserted.
\xi
l.4 \polyset{vars=XYZ\xi,delims={[}{]}}


So there appears to be a problem trating greek letters as variable tokens. Can anyone suggest a way to resolve this, i.e. to actually typeset a ξ or similar greek letter as a variable in a polynom long division?

-

\documentclass{article}
\usepackage{polynom,amsmath,amssymb}
\begin{document}

\begingroup\mathcodeA=\xi
\polyset{vars=A}
\polylongdiv{A^2-1}{A-1}
\endgroup

\end{document}


Just choose an unused letter for your Greek one, et voilà.

A bit of explanation is in order. When TeX is in math mode, it looks at letters (more precisely, character tokens of category 11 or 12) as math characters, which have a mathcode attached to them. Control sequences can denote a mathcode and this is the case for the Greek letters: the definition one finds in fontmath.ltx

\DeclareMathSymbol{\xi}{\mathord}{letters}{"18}


ultimately boils down to the primitive statement

\mathchardef\xi="0118


where the first digit 0 tells TeX \xi is an ordinary symbol; the second digit is the "math group" (1 corresponds to letters); the third and fourth digits tell the slot in the font where the symbol should be taken from.

With

\mathcodeA=<number>


we assign A a mathcode with the same specifications; actually we don't need to know what mathcode is associated to \xi, because any control sequence defined with \mathchardef can be used as a number when the syntax of TeX requires one. So with

\mathcodeA=\xi


we're saying that any A in a math formula, from that point on, will just behave like \xi. Of course this respect grouping, so all of this takes place in a group; I delimited it with \begingroup and \endgroup, { and }` would be good too, but the former delimiters pose less problems than the latter in certain situations.

-
I would +1 this 10 times! I just spent 1 hour looking for the source of this error. Thanks! –  willem Mar 6 '13 at 16:55