As fontes postscript como libertine
(do libertine-legacy
pacote) ou mathpazo possuem um sinal de menos que pode ser acessado no modo de texto? O que estou tentando fazer é substituir o traço normal por um símbolo de menos, seguindo esteresponderde David Carlisle.
Sua solução funciona perfeitamente ao usar fontes de tipo aberto, pois a maioria delas possui um caractere de menos que pode ser facilmente acessado:
\def\yyy{%
\bgroup\uccode`\~\expandafter`\string-%
\uppercase{\egroup\edef~{\noexpand\text{\char"2212\relax}}}%
\mathcode\expandafter`\string-"8000 }
No entanto, minhas tentativas de fazer algo semelhante com pdfLaTeX
Libertine ou Pagella foram inúteis. Usar um símbolo como hífen ( \textendash
) funciona perfeitamente:
\def\yyy{%
\bgroup\uccode`\~\expandafter`\string-%
\uppercase{\egroup\edef~{\noexpand\text{\llap{\textendash}\relax}}}%
\mathcode\expandafter`\string-"8000 }
Mas não é exatamente o que eu quero. Como posso acessar o símbolo de menos dessa fonte? Ou, se isso não for possível, é possível redimensionar o hífen para “falsificar” um símbolo de menos?
Editar: egreg forneceu a solução abaixo. Incorporado em minha estrutura, o código é:
\def\yyy{% Thanks to egreg
\begingroup\uccode`~=`-
\uppercase{\endgroup\def~}{\mathbin{\text{\llap{\textminus}}}}
\mathcode`-="8000 }
Responder1
O travessão está em posição "15
na codificação T1:
\begingroup\uccode`~=`-
\uppercase{\endgroup\def~}{\mathbin{\text{\char"15 }}}
\AtBeginDocument{\mathcode`-="8000 }
Alternativamente, existe \textminus
na codificação TS1:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage{textcomp}
\usepackage{amsmath}
\begingroup\uccode`~=`-
\uppercase{\endgroup\def~}{\mathbin{\text{\textminus}}}
\AtBeginDocument{\mathcode`-="8000 }
\begin{document}
$-$
\end{document}