Grego pequeno vertical via newtxmath sem substituir a fonte matemática

Grego pequeno vertical via newtxmath sem substituir a fonte matemática

Estou tentando estar em conformidade com o padrão internacional ISO 80000-2. O isomathpacote faz um bom trabalho, mas não resolve o problema da falta de pequenas letras gregas verticais/romanas, necessárias para pi, delta de Kronecker e o símbolo Levi-Civita. Isso pode ser conseguido de várias maneiras, mas geralmente as letras gregas resultantes são claramente de uma fonte diferente das letras em itálico (estou usando a fonte padrão Computer Modern).

O código a seguir implementa um delta vertical muito bom (todas as letras gregas podem ser obtidas de maneira semelhante).

\documentclass{article}
\usepackage[libertine]{newtxmath}
\DeclareMathSymbol{\deltaup}{\mathord}{lettersA}{14}

\begin{document}
$\delta\deltaup$
\end{document}

Ou seja, o código acima declara a macro desejada \deltaupusando a fonte de símbolo letrasA, que é carregada por newtxmath. Isso funciona corretamente, mas como efeito colateral indesejado, o carregamento newtxmathsubstitui a fonte matemática usada no documento, que não quero alterar.

Responder1

Você pode usar os CBfonts de Claudio Beccari, que são baseados no design Computer Modern.

\documentclass{article}
\usepackage[LGR,T1]{fontenc} % or OT1, if you prefer

\DeclareSymbolFont{upgreek}{LGR}{cmr}{m}{n}
\DeclareMathSymbol{\deltaup}{\mathord}{upgreek}{`d}
\DeclareMathSymbol{\piup}{\mathord}{upgreek}{`p}
\DeclareMathSymbol{\epsilonup}{\mathord}{upgreek}{`e}

\begin{document}
$\delta\deltaup$

$\pi\piup$

$\varepsilon\epsilonup$
\end{document}

insira a descrição da imagem aqui

Uma solução menos eficiente que não desperdiça uma família de fontes matemáticas é textalpha:

\documentclass{article}
\usepackage{amsmath}
\usepackage{textalpha}

\newcommand{\deltaup}{\text{\textdelta}}
\newcommand{\epsilonup}{\text{\textepsilon}}
\newcommand{\piup}{\text{\textpi}}

\begin{document}
$\delta\deltaup$

$\pi\piup$

$\varepsilon\epsilonup$
\end{document}

A saída é a mesma.

Se você quiser usar o grego vertical usado quando \usepackage[libertine]{newtxmath}está carregado, então aqui está o truque

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\let\iftx@libertine\iftrue
\let\iftx@minion\iffalse
\def\ntxmath@scaled{s*[1.02]}
\makeatother
\DeclareSymbolFont{upgreek}{U}{ntxmia}{m}{it}
\SetSymbolFont{upgreek}{bold}{U}{ntxmia}{b}{it}
\DeclareMathSymbol{\deltaup}{\mathord}{upgreek}{14}
\DeclareMathSymbol{\varepsilonup}{\mathord}{upgreek}{34}
\DeclareMathSymbol{\piup}{\mathord}{upgreek}{25}

\begin{document}
$\delta\deltaup$

$\pi\piup$

$\varepsilon\varepsilonup$
\end{document}

insira a descrição da imagem aqui

Na minha opinião, o resultado é decididamente pior.

informação relacionada