我正在尝试用 Python 创建一个图形,其文本与 Latex 的数学模式字体匹配(至少非常接近)。但是,我在网上找不到任何信息可以提供接近所需字体的结果,尤其是希腊字符。例如,Latex 产生以下内容:
\documentclass{article}
\usepackage{textgreek}
\begin{document}
\textit{testθτμ}
$test\theta\tau\mu$
\end{document}
我正在尝试复制第二行文本。根据 SE 上的其他答案以及我在网上找到的信息,我尝试了以下字体,但遇到了以下问题:
计算机现代:太卷曲/草书了
Computer Modern Sans:风格不同,在 tau 上最为明显
新电脑现代 10:太卷曲/草书
新计算机现代数学:不是斜体
拉丁现代数学:非斜体
我是不是漏掉了什么?我是不是没找到数学字体的斜体变体,还是数学模式使用的是完全不同的字体?如能提供任何线索,我将不胜感激;如能提供任何下载链接,我将不胜感激。
答案1
经典 TeX 不使用A数学字体。字体只有 127 个字符,因此每个数学表达式使用很多字体(最多 16 个)。(系统允许每个字体有 256 个字符,但在 1980 年使用 8 位被认为过于激进,因此只使用每个字体的下半部分)
所以
\documentclass{article}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
使用cmmi10.pfb
(test
字母位于标准 ascii 位置)。它使用相同的字体,但Ctrl-R
、Ctrl-\
和Ctrl-V
的位置与希腊字母不同,它使用cmr10.pfb
和。+
1
这使得使用其他系统的 TeX 数学字体变得非常棘手,即使它们可以使用 Type 1 字体。
Unicode 数学字体将所有这些字符都包含在单一字体中,并且位于标准位置,这使得它在其他系统中更易于使用。
使用 LuaLaTeX 进行处理
\documentclass{article}
\usepackage{unicode-math}
\showoutput
\begin{document}
$test\theta\tau\mu+1$
\end{document}
所有字符均来自latinmodern-math.otf
标准 Unicode 插槽中的拉丁现代数学 (),请注意数学斜体是分离人物。
生成的字符串可以与任何 Unicode 数学字体一起使用,而不仅仅是 Latin Modern。
例如,在此网站上,它将选择您在本地安装的任何字体(这里使用 Windows 字体 Segoe UI Symbol)
答案2
(评论太长,因此作为答案发布)
在这个回答中,我主要针对 OP 的说法,即拉丁现代数学 (LMM)“似乎没有 [数学] 斜体”。我对这个说法感到困惑。事实上,下面的例子需要用 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字体在您选择的 shell 中生成 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(Computer Modern Italic,“更紧凑,略浅”,10pt 大小)https://ctan.org/tex-archive/fonts/cm/mf. 其他信息请访问https://eng.m.fontke.com/font/10030505/detail/。SFTI1000在 SFTI1000 中被列为 Computer Modern 的“Postscript 名称”。grmi1000似乎是斜体字之一克劳迪奥·贝卡利 希腊字体,请参阅
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(Computer Modern Italic,“不紧凑,也不太轻”,10pt)关于上面提到的设置。
观察差异LuaTeX:
$ 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