problem ze spacjami przy użyciu mathit z dodanym unicode-math

Sep 04 2020

Lubię używać Asana Mathpodczas kompilacji przy użyciu lualatex do pdf.

Ale aby użyć, Asana Mathmuszę załadować unicode-math, aby użyć \setmathfontpolecenia do załadowania czcionki.

Zauważyłem, że po dodaniu unicode-mathspacji po \mathit.

Kiedy komentuję unicode-mathi \setmathfontprzestrzeń wraca.

Dlaczego używanie unicode-mathsprawia, że ​​przestrzeń po \mathitznika? Czy jest coś nie tak z moim używaniem tych pakietów i czy istnieje obejście, dzięki mathitktóremu mogę używać matematyki Asna, ale nadal zachowuję spację po tym, jak było wcześniej?

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}

Zastąpienie powyższego kodu

\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}

Przestrzeń jest większa.

Ten obraz pokazuje różnicę

Aktualizacja

Oto przypadek testowy z sugestią odpowiedzi poniżej.

\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}

I

\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}

Korzystanie z TL 2020.

ps. Kod w powyższym równaniu został wygenerowany automatycznie przez zewnętrzne oprogramowanie i sam go nie napisałem.

Odpowiedzi

2 Davislor Sep 04 2020 at 18:55

Podczas ładowania unicode-math, ustawia \mathit, \mathrm, \mathbfi tak dalej do głównych czcionek tekstowych. Oznacza to, że po załadowaniu \mathitotrzymujesz korektę kursywy.

Jeśli chcesz wstawić dodatkową spację, możesz dodać \,lub zawinąć termin \mathop.

Można również spróbować zmienić \mathitsię \symit, czy ładowanie unicode-mathz opcją pakietu mathit=sym, albo którego załaduje kursywą matematyczne z matematyki zamiast czcionki. Jednak nie zawierają one podkreślenia ani cyfr.

To formatowanie, o którym mówisz, że jest generowane maszynowo, jest bardzo słabe. Po pierwsze, \rmjest przestarzały i chciałbyś użyć \symuplub \mathrm. Po drugie, Asana Math jest oparta na Palatino, więc wolisz ustawić czcionkę tekstu na Palatino (lub Pagella), aby ją dopasować, zamiast używać domyślnego Latin Modern. Jeśli składasz stałe w pozycji pionowej, prawdopodobnie używasz stylu ISO i możesz również chcieć załadować math-style=ISO. Używanie \mathittutaj nie jest tym, co bym polecał. Jeśli te terminy są zmiennymi programu, mogą to być \mathttlub \mathsf.