problème d'espacement en utilisant mathit avec unicode-math ajouté

Sep 04 2020

J'aime utiliser Asana Mathlors de la compilation en utilisant lualatex en pdf.

Mais pour utiliser, Asana Mathje dois charger unicode-mathafin d'utiliser la \setmathfontcommande pour charger la police.

J'ai remarqué lors de l'ajout de unicode-mathl'espace est perdu après \mathit.

Quand je commente unicode-mathet que \setmathfontl'espace revient.

Pourquoi l'utilisation unicode-mathfait-elle disparaître l'espace après \mathit? Y a-t-il quelque chose qui ne va pas avec mon utilisation de ces packages, et existe-t-il une solution de contournement pour que je puisse utiliser les mathématiques Asna tout en conservant l'espace après mathitcomme avant?

MWE

\documentclass[12pt]{article}
\usepackage{unicode-math} %needed to use \setmathfont
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]

\begin{document}

\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)+\mathit{\_C2} {\rm e}^{3 x} \cos \left(2 x \right)
\end{equation}

\end{document}

Remplacement du code ci-dessus par

\documentclass[12pt]{article}
\usepackage{amsmath}    
\begin{document}

\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)+\mathit{\_C2} {\rm e}^{3 x} \cos \left(2 x \right)
\end{equation}

\end{document}

L'espace est plus grand.

Cette image montre la différence

Mettre à jour

Voici le cas de test avec la suggestion de la réponse ci-dessous.

\documentclass[12pt]{article}

\usepackage[mathit=sym]{unicode-math}
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]    
\begin{document}    

\begin{equation}
\mathit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)
\end{equation}    
\end{document}

Et

\documentclass[12pt]{article}    
\usepackage{unicode-math}
\usepackage{amsmath}
\setmathfont{Asana Math}[Scale=MatchLowercase]    
\begin{document}

\begin{equation}
\symit{\_C1} {\rm e}^{3 x} \sin \left(2 x \right)
\end{equation}    
\end{document}

Utilisation de TL 2020.

ps. Le code à l'intérieur de l'équation ci-dessus a été généré automatiquement par un logiciel externe et je ne l'ai pas écrit moi-même.

Réponses

2 Davislor Sep 04 2020 at 18:55

Lorsque vous chargez unicode-math, il définit \mathit, \mathrm, \mathbfet ainsi de suite aux polices texte principal. Cela signifie que, lorsque vous chargez \mathit, vous obtenez une correction en italique.

Si vous souhaitez insérer un espace supplémentaire, vous pouvez ajouter un \,ou insérer le terme \mathop.

Vous pouvez également essayer de changer \mathità \symit, ou le chargement unicode-mathavec l'option de package mathit=sym, soit qui chargera les lettres de mathématiques italique de la police mathématique à la place. Cependant, ceux-ci n'incluent pas de trait de soulignement ou de chiffres.

Ce formatage, que vous dites généré par la machine, est extrêmement médiocre. D'une part, \rmest obsolète et vous voudriez utiliser \symupou \mathrm. Pour un autre, Asana Math est basé sur Palatino, vous voudrez donc définir la police du texte sur Palatino (ou Pagella) pour la faire correspondre, plutôt que d'utiliser le Latin Modern par défaut. Si vous composez des constantes à la verticale, vous utilisez probablement le style ISO et vous voudrez peut-être également les charger math-style=ISO. L'utilisation \mathitici n'est pas du tout ce que je recommanderais. Si ces termes sont des variables de programme, ils peuvent être \mathttou \mathsf.