[Tex/LaTex] How to slant variables when using eulervm

eulervmfontsfontspecitalicmath-mode

Using fontspec and xetex, when in text mode I can define:

\renewcommand{\textsl}[1]{{\fontspec[FakeSlant=0.2]{Neo Euler} #1}}

and I get slanted characters using Neo Euler (to fake the missing italics).

I want to do the same thing with eulervm in math mode, and redefine plain math variables to be slanted. Before even specifying that I want variables to use that format, I can't even get to use fontspec in math mode, e.g.:

\newcommand{\mathsl}[1]{{\fontspec[FakeSlant=0.5]{Neo Euler} #1}}

Does not produce a slanted font when I have $\mathsl{x}$. Any suggestions on how to get slanted text in math mode?

Once that's done, how would I go about requesting that all scalar variables be typeset in that format in math mode? (presumably using \DeclareMathAlphabet, but not sure how)

Thanks!

Best Answer

I don't know if I understand correctly. If your math font is Neo Euler, just use unicode-math options:

\documentclass{article}
\usepackage[math-style=upright]{unicode-math}

\setmathfont{Neo Euler}
\setmathfont[range=\mathit,FakeSlant=0.5]{Neo Euler}

\begin{document}
$xyz\ne\mathit{xyz}$
\end{document}

enter image description here

However, the result is really poor: the Euler fonts have specifically been designed as upright and slanting them destroys their beauty.