![LaTeX 的数学模式使用什么字体?](https://linux22.com/image/315237/LaTeX%20%E7%9A%84%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%BC%8F%E4%BD%BF%E7%94%A8%E4%BB%80%E4%B9%88%E5%AD%97%E4%BD%93%EF%BC%9F.png)
出于兼容性和交互性的原因,我需要创建自己的简单系统来绘制公式。(所以我需要标准数学符号和类似的东西\mathcal{N}
。)
- 有没有办法使用 LaTeX 字体?
- 它们是“truetype”吗?
- 我可以在哪儿下载它?
- 它们可以免费用于(非)商业用途吗?
我认为 Unicode 包含所有这些符号,但我需要使用某种符号图片来绘制它们。我将使用 SDL2 和 OpenGL 来绘制它们。
答案1
我认为 LaTeX 使用的字体取决于documentclass
和其他设置,但默认情况下,它应该使用 Computer Modern 系列字体。这些字体可以从http://www.ctan.org/tex-archive/fonts/amsfonts/。我认为cmsy
-name 之类的字体包含数学符号,cmbsy
-name 之类的字体包含粗体数学符号,cmex
-name 之类的字体甚至包含更多符号,等等。只需下载字体并在字体编辑器中查看它们。我不是字体专家,但我认为它们不是 unicode,而且都只支持一组有限的字符。它们属于SIL 开放字体许可证,这应该使它们可以免费用于非商业用途(但最好自己检查一下,不要引用我的话^_^)。它们不是 truetype,但是磷酸二酯酶,例如可以在 Java 中加载,但似乎无法在 Windows 下本地打开。
但是,除非您需要文本看起来与 LaTeX 的输出完全一样,并且/或者您需要随包分发字体,否则我建议您使用 Unicode 字体,例如 Arial Unicode。使用 之类的工具charmap
,您可以找到您喜欢的数学符号的正确 Unicode 代码点,然后使用该符号。这样,您可以随时用支持符号的另一种 Unicode 字体替换该字体。
答案2
稍微纠正一下 Thomas Weise 的回答- 如果你编译一个简单的 LaTeX 文档而不加载任何额外的包,那么使用的字体将是电脑现代(不是AMS 字体)。Computer Modern 字体不是 TrueType 字体,它们通过“Knuth 许可证”. TrueType 版本作为巴科马,但它们拥有非自由许可证。
梅威瑟:
\documentclass{article}
\begin{document}
\(\mathcal{N}\)
\end{document}
输出pdffonts
:
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
HMBLMD+CMSY10 Type 1 yes yes no 4 0
SDXKYB+CMR10 Type 1 yes yes no 5 0