problema de espaçamento usando mathit com unicode-math adicionado

Sep 04 2020

Eu gosto de usar Asana Mathao compilar usando lualatex para pdf.

Mas para usar Asana Matheu tenho que carregar unicode-mathpara usar o \setmathfontcomando para carregar a fonte.

Notei ao adicionar unicode-matho espaço é perdido depois \mathit.

Quando eu comento unicode-mathe \setmathfonto espaço volta.

Por que usar unicode-mathfaz com que o espaço \mathitvá embora? Há algo errado com o meu uso desse pacote e há uma solução alternativa para que eu possa usar a matemática Asna, mas ainda manter o espaço depois de mathitcomo era antes?

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}

Substituindo o código acima por

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

O espaço é maior.

Esta imagem mostra a diferença

Atualizar

Aqui está um caso de teste com sugestão de resposta abaixo.

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

E

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

Usando TL 2020.

ps. O código dentro da equação acima foi gerado automaticamente por um software externo e eu não o escrevi sozinho.

Respostas

2 Davislor Sep 04 2020 at 18:55

Quando você carrega unicode-math, ele define \mathit, \mathrm, \mathbfe assim por diante para as principais fontes de texto. Isso significa que, ao carregar \mathit, você obtém correção do itálico.

Se desejar inserir algum espaço extra, você pode adicionar um \,ou envolver o termo em \mathop.

Você também pode tentar mudar \mathitpara \symitou carregar unicode-mathcom a opção de pacote mathit=sym, qualquer uma das quais carregará as letras matemáticas em itálico da fonte matemática. No entanto, eles não incluem sublinhados ou dígitos.

Essa formatação, que você diz ser gerada por máquina, é extremamente pobre. Por um lado, \rmestá obsoleto e você gostaria de usar \symupou \mathrm. Por outro lado, o Asana Math é baseado no Palatino, então você deve definir a fonte do texto como Palatino (ou Pagella) para corresponder a ela, em vez de usar o Latim Moderno padrão. Se você está escrevendo constantes na vertical, provavelmente está usando o estilo ISO e também pode querer carregar math-style=ISO. Usar \mathitaqui não é o que eu recomendaria. Se esses termos forem variáveis ​​de programa, eles podem ser \mathttou \mathsf.