%20na%20fonte%20do%20texto%20para%20uso%20em%20siunitx%20por%20fontspec.png)
Sou forçado a usar um comercial (Universo) nas minhas apresentações, que obviamente não contém um \minus
sinal dedicado, que é chamado porsiunitx. (Embora eu não tenha certeza se é \minus
ou algo mais.) Então, se estou digitando
\SI{-1984}{m^{-42}}
Não recebo nenhum sinal de menos exibido. Infelizmente não encontrei nenhuma fonte gratuita com o mesmo comportamento. Mas espero que você entenda o que quero dizer.
Como posso incluir os que faltamSinal de menosde outra fonte para minha fonte de texto para obtersiunitxfuncionar corretamente?
Aqui está um MWE:
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage{siunitx}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{Univers 45 Light}
\setmathfont{XITS Math}
\setbeamerfont{normal text}{family=\rmfamily,series=\normalfont}
\AtBeginDocument{
\usebeamerfont{normal text}
\sisetup{detect-all}
\sisetup{math-rm=\mathrm, text-rm=\rmfamily}
\sisetup{per-mode=fraction,fraction-function=\sfrac}
}
\begin{document}
\begin{frame}
The dash - is working. But the minus sign in \alert{siunitx} (e.g. \SI{-1984}{m^{-42}}) isn't, apart from when it is used in math-mode (e.g. $\SI{-1984}{m^{-42}}$). But in text I'd like to use my text font.
\end{frame}
\end{document}
me dando a saída:
Não tenho problemas com outras fontes.
Tentei várias coisas, as duas primeiras me deram erros de sintaxe:
\setmainfont[\minus="2212]{XITS Math}
ou como costumo fazer com a fonte matemática:
\setmainfont[range={="2212}]{XITS Math}
E eu encontrei esse código também,
\newunicodechar{"2212}{{\fontspec{XITS Math}"2212}}
\newunicodechar{\minus}{{\fontspec{XITS Math}\minus}}
\newunicodechar{-}{{\fontspec{XITS Math}-}}
nenhum deles funcionando.
Mais alguma sugestão?
A fonte que usei contém o caractere \char"2013
, mas não contém \char"2212
, mas parece-me que esta é a chamada porsiunitxquando o sinal de menos é digitado.
sugestão de egreg
\usepackage{newunicodechar}
\newunicodechar{^^^^2212}{\char"2013}
funciona para a unidade
\SI{-1984}{m^{^^^^2212 42}})
mas não para o número, pois ^^^^2212
é um caractere numérico inválido.