LaTeX 数式モードと Python で生成された図の間でフォントを一致させるにはどうすればよいでしょうか?

LaTeX 数式モードと Python で生成された図の間でフォントを一致させるにはどうすればよいでしょうか?

私は、テキストが Latex の数式モード フォントに (少なくとも近い) 一致する図を Python で作成しようとしています。しかし、特にギリシャ文字に関して、希望するフォントに近い結果を提供するオンラインの情報が見つかりません。たとえば、Latex では次のものが生成されます。

\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}

$test\theta\tau\mu$

\end{document}

ラテックス出力

2 行目のテキストを複製しようとしています。SE の他の回答やオンラインで見つけた情報に基づいて、次のフォントを試しましたが、次の問題が発生しました。

コンピュータモダン: 曲線/筆記体が多すぎる

コンピュータモダンサンズ:異なるスタイル、タウで最も顕著

新しいコンピュータモダン10:あまりにも曲線的/筆記体的

新しいコンピュータ現代数学: 斜体ではない

ラテン現代数学: イタリック体ではない

何か見落としている点があるのでしょうか? 数学フォントの斜体バージョンが見つからないだけでしょうか、それとも数学モードではまったく別のフォントが使用されているのでしょうか? ヒントがあればありがたいです。ダウンロードへのリンクがあれば大変ありがたいです。

答え1

クラシックTeXでは使用されない1つの数学フォント。フォントには 127 文字しかなく、数式ごとに多数の (最大 16 個の) フォントが使用されます。(システムではフォントごとに 256 文字を使用できますが、1980 年には 8 ビットの使用は過激すぎると考えられたため、各フォントの下半分のみが使用されます)

それで

\documentclass{article}
\showoutput
\begin{document}

$test\theta\tau\mu+1$

\end{document}

cmmi10.pfbは を使用しますtest(文字は標準の ASCII 位置にあります)。同じフォントを使用しますがCtrl-RCtrl-\、の位置はCtrl-Vギリシャ語では で、cmr10.pfbおよび では+を使用します1

このため、他のシステムで Type 1 フォントを使用できる場合でも、他のシステムの TeX 数式フォントを使用することは非常に困難になります。

Unicode 数学フォントには、これらすべての文字が 1 つのフォントに標準の位置で含まれているため、他のシステムでの使用がはるかに簡単になります。

LuaLaTeXで処理する

\documentclass{article}
\usepackage{unicode-math}
\showoutput
\begin{document}

$test\theta\tau\mu+1$

\end{document}

すべての文字はlatinmodern-math.otf標準のUnicodeスロットのラテン現代数学( )から来ています。数学斜体は文字。

結果の文字列は、Latin Modern だけでなく、任意の Unicode 数学フォントで機能します。

たとえば、このサイトでは、ローカルにインストールされているフォントが選択されます (ここでは Windows フォント Segoe UI Symbol を使用します)

答え2

(コメントするには長すぎるので、回答として投稿しました)

この回答では、主に、ラテン現代数学 (LMM) には「[数学] イタリック体がないようだ」という OP の主張について取り上げます。私はこの主張に困惑しています。実際、XeLaTeX または LuaLaTeX のいずれかでコンパイルする必要がある次の例は、LMM に数学イタリック体のラテン文字とギリシャ文字があることを示しています。

もちろん、テキスト モードの斜体で何かを書きたい場合は、数式斜体グリフではなくテキスト斜体グリフを使用する必要があります。

このパッケージは、記号を直立モードで書き込むunicode-mathコマンドを提供します。\symup

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

\documentclass{article}
\usepackage{unicode-math} % for '\setmathfont' macro; load 'fontspec' package automatically
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}

\begin{document}

\textit{abcxyz} $abcxzy$ $\theta\tau\mu$ abcxyz $\symup{\theta\tau\mu}$

\end{document}

答え3

この投稿では、他の良い回答に加えて別のツールも紹介されています。以下はMWEに基づいています

\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}%ϑ

$test\theta\tau\mu$

\end{document}

使えるかもしれないpdfフォント任意のシェルで、PDF のすべてのフォントのテーブルを生成します (一部を [...] に置き換えました)。

$ pdflatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
[...]
Output written on Example.SE.pdf (1 page, 39405 bytes).
Transcript written on Example.SE.log.

Table for Ryan White:
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
MSKRKD+CMTI10                        Type 1            Builtin          yes yes yes      4  0
TPJLSH+grmi1000                      Type 1            Builtin          yes yes yes      5  0
OIWUEJ+SFTI1000                      Type 1            Custom           yes yes yes      6  0
RYTSZC+CMMI10                        Type 1            Builtin          yes yes yes      7  0
SDXKYB+CMR10                         Type 1            Builtin          yes yes yes      8  0

同様の表は次のようになります$ latex Example.SE.tex; vipdfm Example.SE.dvi; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf:

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BGNOPA+CMTI10                        Type 1C           Builtin          yes yes yes      4  0
DOYMNM+grmi1000                      Type 1C           Builtin          yes yes yes      5  0
VQMNVE+SFTI1000                      Type 1C           WinAnsi          yes yes yes      6  0
SIZLWA+CMMI10                        Type 1C           Builtin          yes yes yes      7  0
ZIUSPE+CMR10                         Type 1C           Builtin          yes yes yes      8  0

略語の説明は以下をご覧ください。CMTI10(コンピュータモダンイタリック、「より凝縮され、わずかに薄い」、サイズ10pt)https://ctan.org/tex-archive/fonts/cm/mfその他の情報は以下をご覧ください。https://eng.m.fontke.com/font/10030505/detail/SFTI1000Computer ModernのSFTI1000に「Postscript名」として記載されています。グリミ1000イタリック体の1つであると思われるクラウディオ・ベッカリ ギリシャフォントについては、 https://ctan.org/tex-archive/fonts/greek/cbfonts/fonts/tfm/cbgreekそしてhttps://ctan.org/pkg/cbgreek-complete\usepackage{textgreek}ファイルからと を削除し\textit{testθτμ}て再度コンパイルすると、CMMI10 (Computer Modern Italic、「凝縮されておらず、それほど軽くもない」、10pt) と CMR10 (Computer Modern Italic、「基本」、10pt) のみが残ります。

したがって、あなたの質問(編集前)「Latexの数式モードフォントは何ですか?」に対する正確なオタクの答えは次のとおりです。CMMI10 (コンピュータ モダン イタリック、「凝縮されておらず、それほど軽くもない」、10 ポイント)上記の設定に関して。

違いを観察してルアテックス:

$ lualatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf 
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023) 
[...]
Output written on Example.SE.pdf (1 page, 12154 bytes).
Transcript written on Example.SE.log.

Table for Ryan White:
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
EJJTSY+LMRoman10-Italic              CID Type 0C       Identity-H       yes yes yes      4  0
RYTSZC+CMMI10                        Type 1            Builtin          yes yes no       5  0
JFRMQG+LMRoman10-Regular             CID Type 0C       Identity-H       yes yes yes      6  0

LMローマンラテンモダンです。

コンパイル

\documentclass{article}
\usepackage{textgreek}
\usepackage{unicode-math} % ADDED
\begin{document}
\textit{testθτμ}

$test\theta\tau\mu$

\end{document}

与える

$ lualatex Example.SE.tex; echo "\nTable for Ryan White:"; pdffonts Example.SE.pdf 
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023) 
[...]
Output written on Example.SE.pdf (1 page, 6180 bytes).
Transcript written on Example.SE.log.

Table for Ryan White:
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
EJJTSY+LMRoman10-Italic              CID Type 0C       Identity-H       yes yes yes      4  0
WLUBUQ+LatinModernMath-Regular       CID Type 0C       Identity-H       yes yes yes      5  0
JFRMQG+LMRoman10-Regular             CID Type 0C       Identity-H       yes yes yes      6  0

関連情報