Comment puis-je obtenir des caractères Latin Modern / Computer Modern serif double-frappés / blackboard-bold qui copient / collent en tant qu'unicode lors de l'utilisation d'unicode-math?

Jan 05 2021

Je souhaite que mes caractères soient copiés-collés au format Unicode lorsque je les copie à partir du PDF. Je veux aussi qu'ils ressemblent à la police traditionnelle latine moderne. Pour des raisons indépendantes, je dois utiliser LuaLaTeX plutôt que pdflatex. Le unicode-mathpaquet fonctionne bien dans la plupart des cas, mais produit d'étranges caractères à double frappe sans empattement. Comment puis-je réparer ça?

Exemple:

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

en lualatexdonne

tandis que

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

en lualatexdonne

Alors que la plupart des caractères sont identiques sont presque identiques, les caractères majuscules à double frappe ne le sont clairement pas. Ils n'ont même pas d'empattements, contrairement au reste des personnages. C'est cool que je puisse maintenant obtenir des caractères à double frappe minuscules, mais cela ne compense pas les caractères à double frappe en majuscules discordants et stylistiquement très différents. La réponse àhttps://tex.stackexchange.com/a/360609/2066donne les caractères corrects, mais les caractères ne sont pas copiés-collés en double frappe. Comment récupérer les caractères à double frappe Latin Modern / Computer Modern sans perdre la fonction unicode-copier-coller de unicode-math?

(Je suis également curieux de connaître l'histoire ici; pourquoi ces personnages sont-ils si différents? https://tex.stackexchange.com/a/525235/2066 dit "Latin Modern Math est un clone de Computer Modern de Knuth, et unicode-math produit une sortie presque identique avec les paramètres par défaut (avec quelques mises en garde: l'alphabet \ mathcal est basé sur Euler Calligraphic au lieu du LaTeX traditionnel).")

Réponses

4 DavidCarlisle Jan 05 2021 at 07:51

La police classique à double frappe TeX que vous affichez dans le premier bloc de code n'est pas du tout dérivée de Computer Modern, il s'agit de la police de symboles AMS msbm10 (et les deux premières lignes sont définies en Computer Modern, pas en Latin Modern)

Le deuxième bloc utilise une police cohérente pour les trois lignes, Latin Modern Math Opentype.

Il existe d'autres polices OpenType Math inspirées de Computer Modern, notamment NewComputerModernMath. Vous pouvez préférer les mathématiques à double frappe dans cette police:

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