unicode-mathを使用するときに、Unicodeとしてコピー/貼り付けするラテンモダン/コンピューターモダンセリフのダブルストライク/黒板太字を取得するにはどうすればよいですか?

Jan 05 2021

PDFから文字をコピーするときに、文字をUnicodeとしてコピーアンドペーストしたい。また、従来のLatinModernフォントのように見せたいです。関係のない理由で、pdflatexではなくLuaLaTeXを使用する必要があります。unicode-mathパッケージには、ほとんどの場合、罰金を動作しますが、奇妙なサンセリフダブル打た文字を生成します。これを修正するにはどうすればよいですか?

例:

\documentclass{article}
\usepackage{amssymb}
\begin{document}
\[\alpha\beta\gamma\pi\sum\prod1+2+3+4+5+6+7+8+9+0/1!\]
\[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\]
\[\mathbb{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\end{document}

lualatex与える

一方、

\documentclass{article}
\usepackage{amssymb}
\usepackage{unicode-math}
\begin{document}
\[\alpha\beta\gamma\pi\sum\prod1+2+3+4+5+6+7+8+9+0/1!\]
\[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\]
\[\mathbb{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\end{document}

lualatex与える

ほとんどの文字は同一ですが、大文字のダブルストライク文字は明らかにそうではありません。他のキャラクターとは異なり、セリフすらありません。小文字のダブルストライク文字を取得できるようになったのはすばらしいことですが、これは、耳障りでスタイル的に非常に異なる大文字のダブルストライク文字を補うものではありません。での答えhttps://tex.stackexchange.com/a/360609/2066正しい文字が表示されますが、文字はダブルストライクとしてコピーアンドペーストされません。のunicode-copy-paste機能を失うことなく、Latin Modern / Computer Modernのダブルストライク文字を元に戻すにはどうすればよいunicode-mathですか?

(私はここの歴史にも興味があります;なぜこれらのキャラクターはそれほど違うのですか? https://tex.stackexchange.com/a/525235/2066 「LatinModernMathはKnuthのComputerModernのクローンであり、unicode-mathはデフォルト設定でほぼ同じ出力を生成します(いくつかの注意点があります:\ mathcalアルファベットは従来のLaTeXではなくEulerCalligraphicに基づいています)」)

回答

4 DavidCarlisle Jan 05 2021 at 07:51

最初のコードブロックに表示されている従来のTeXダブルストライクフォントは、Computer Modernから派生したものではなく、AMSシンボルフォントmsbm10です(最初の2行はLatinModernではなくComputerModernで設定されています)

2番目のブロックは、3行すべてに一貫したフォントであるLatin Modern MathOpentypeを使用しています。

他にも、ComputerModernにインスパイアされたOpenTypeMathフォント、特にNewComputerModernMathがあります。このフォントのダブルストライク数学を好むかもしれません:

\documentclass{article}
\usepackage{amssymb}
\usepackage{unicode-math}
\setmathfont{New Computer Modern Math}
\begin{document}
\[\alpha\beta\gamma\pi\sum\prod1+2+3+4+5+6+7+8+9+0/1!\]
\[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\]
\[\mathbb{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\end{document}