¿Las fuentes postscript como libertine
(del libertine-legacy
paquete) o mathpazo tienen un signo menos al que se puede acceder en modo texto? Lo que estoy tratando de hacer es sustituir el guión normal con un símbolo menos, siguiendo estorespuestade David Carlisle.
Su solución funciona perfectamente cuando se utilizan fuentes de tipo abierto, ya que la mayoría de ellas tienen un carácter menos al que se puede acceder fácilmente:
\def\yyy{%
\bgroup\uccode`\~\expandafter`\string-%
\uppercase{\egroup\edef~{\noexpand\text{\char"2212\relax}}}%
\mathcode\expandafter`\string-"8000 }
Sin embargo, mis intentos de hacer algo similar con pdfLaTeX
Libertine o Pagella han sido inútiles. Usar un símbolo como guión ( \textendash
) funciona perfectamente:
\def\yyy{%
\bgroup\uccode`\~\expandafter`\string-%
\uppercase{\egroup\edef~{\noexpand\text{\llap{\textendash}\relax}}}%
\mathcode\expandafter`\string-"8000 }
Pero no es exactamente lo que quiero. ¿Cómo puedo acceder al símbolo menos de esa fuente? O, si eso no es posible, ¿es posible cambiar el tamaño del guión para "falsificar" un símbolo menos?
Editar: egreg proporcionó la solución a continuación. Integrado en mi marco, el código es:
\def\yyy{% Thanks to egreg
\begingroup\uccode`~=`-
\uppercase{\endgroup\def~}{\mathbin{\text{\llap{\textminus}}}}
\mathcode`-="8000 }
Respuesta1
El guión final está en posición "15
en la codificación T1:
\begingroup\uccode`~=`-
\uppercase{\endgroup\def~}{\mathbin{\text{\char"15 }}}
\AtBeginDocument{\mathcode`-="8000 }
Alternativamente, hay \textminus
en la codificación 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}