数式フォントを置き換えずに、newtxmath 経由で直立小ギリシャ文字を作成する

数式フォントを置き換えずに、newtxmath 経由で直立小ギリシャ文字を作成する

私は国際標準 ISO 80000-2 に準拠しようとしています。このisomathパッケージはうまく機能しますが、円周率、クロネッカーのデルタ、レヴィ・チヴィタ記号に必要な直立/ローマンの小さなギリシャ文字が欠落しているという問題は解決されません。これはさまざまな方法で実現できますが、通常、結果として得られるギリシャ文字は、イタリック体の文字とは明らかに異なるフォントになります (私は標準の Computer Modern フォントを使用しています)。

次のコードは、非常に優れた直立デルタを実装します (すべてのギリシャ文字を同様の方法で実現できます)。

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

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

つまり、上記のコードは、\deltaupシンボル フォント lettersA を使用して必要なマクロを宣言しており、それ自体は によってロードされますnewtxmath。これは正しく機能しますが、望ましくない副作用として、ロードnewtxmathによってドキュメントで使用されている数式フォントが置き換えられますが、これは変更したくありません。

答え1

Computer Modern デザインに基づいた Claudio Beccari による CBfonts を使用できます。

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

ここに画像の説明を入力してください

数式フォント ファミリを無駄にしない、あまり効率的ではない解決策は次のとおりです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}

出力は同じです。

がロードされているときに使用される直立ギリシャ語を使用する場合は\usepackage[libertine]{newtxmath}、次のトリックを使用します。

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

ここに画像の説明を入力してください

私の意見では、結果は明らかに悪いです。

関連情報