如上图所示,有很多字体或字体样式可以在数学模式下使用。
在数学模式下我可以使用哪些字体或字体样式,使用它们需要哪些包?
假设我使用的是标准 Computer Modern 或 Latin Modern ( lmodern
) 字体。
编辑:很高兴看到例子不同风格的外观,可能是通过图片。
我对这张照片的复制品不感兴趣,可以在这是什么类型的字体?;图片仅供参考。此外,对于前面提到的问题,这应该成为一个一劳永逸的问题。如果我真的在寻找这些字体,我不会只是懒洋洋地在这里问,而是看看 LaTeX2e 的简短介绍,首先是表 3.14 和 6.4。)
答案1
在texdoc symbols
里面全面的 LaTeX 符号列表)你可以找到表 348:
脚注已在文档中解释。表 327 将对粗体数学进行额外解释。
哦,不用说,如果你问这个问题是因为你需要更多的数学符号,那么综合列表就是你的文档。希腊语变体、希伯来语、表 139 至 147 都是字母符号……你可能永远不会再用完符号了。
编辑:读完这个答案后https://tex.stackexchange.com/a/60018/13450我觉得有必要指出mathalfa
这里引用的包,提供了比上面显示的更多的替代方案。
编辑2:这个答案似乎很受欢迎,所以我决定也把 Mathalfa 表作为图片。这是从mathalfa 文档并且有些字体是商业字体或需要从外部来源安装。如果您考虑使用其中任何一种字体,请参阅文档以获取更多信息。警告,前面的表格非常长(由多页表格拼接而成)。
编辑3:由于这个帖子如此受欢迎,我不知道完全理解,我不得不说,除了常规、粗体、斜体、手写/书法(我甚至不会混合使用它们)和黑板粗体之外,使用更多的样式几乎没有意义。这些表格真正展示的是你可以用于这些样式的字体,而不是大量的样式(这无论如何都是毫无意义和丑陋的)。然而,如果你只是在寻找与你的主要字体搭配的数学字体,那么在查阅这些表格之前,你可能真正想要的概述是LaTeX 字体目录中的数学字体列表。
答案2
LaTeX 内核
LaTeX 内核定义了几个数学字母在fontmath.ltx
\DeclareSymbolFontAlphabet{\mathrm} {operators}
\DeclareSymbolFontAlphabet{\mathnormal}{letters}
\DeclareSymbolFontAlphabet{\mathcal} {symbols}
\DeclareMathAlphabet {\mathbf}{OT1}{cmr}{bx}{n}
\DeclareMathAlphabet {\mathsf}{OT1}{cmss}{m}{n}
\DeclareMathAlphabet {\mathit}{OT1}{cmr}{m}{it}
\DeclareMathAlphabet {\mathtt}{OT1}{cmtt}{m}{n}
这必须由先前的声明完成
\DeclareSymbolFont{operators} {OT1}{cmr} {m}{n}
\DeclareSymbolFont{letters} {OML}{cmm} {m}{it}
\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n}
这样我们就能准确地知道每个数学命令对应的字体:
\mathrm
是正常的直立罗马字体\mathnormal
是正常的数学斜体字体:$\mathnormal{a}$
并$a$
给出相同的结果\mathcal
是只适用于大写字母的特殊书法字体\mathbf
给出直立罗马粗体字母\mathsf
给出直立的无衬线字母\mathit
使文本呈现斜体字母:$different\ne\mathit{different}$
\mathtt
给出打字机字体的直立字母
应该注意到,每个命令的参数都是以数学模式排版的,因此空格会被忽略,连字符会变成减号。如果使用这些命令的参数不只是由普通字母组成,则会产生意想不到的(有时甚至很奇怪)结果。
不必须加载包才能使用这些字母。
AMS字体
使用amsfonts
自动加载的包,amssymb
也可以访问
\mathfrak
用于 Fraktur(又名 Gothic)字母,大写和小写\mathbb
用于“黑板粗体”大写字母
远程教育系统
该软件包mathrsfs
提供“Ralph Smith's Formal Script”字体作为数学字母,使用命令\mathrsfs
,同时calrsfs
将执行相同操作,但也会转动\mathcal
以选择 RSFS 字体(仅大写字母)。
Zapf 的欧拉脚本
该包euscript
将加载由 Hermann Zapf 设计的不同书法字母,即 Euler Script。根据选项,它将提供\mathscr
(与原始字体配合使用\mathcal
)或更改\mathcal
为使用 Zapf 的字体:
\usepackage{eucal}
\usepackage[mathcal]{eucal}
\usepackage[mathscr]{eucal}
前两个调用是等效的,\mathcal
并将使用欧拉脚本;最后一个调用将提供\mathscr
欧拉脚本并保持\mathcal
原样。
我认为只有一应该使用某种类型的书法字母,可以是 Knuth 字体、RSFS 字体或 Euler 字体。
答案3
我认为您的问题(故意)是介绍性或基础性的。如果这不是您的本意,请见谅。初步说明:您展示的大部分文本片段实际上是文本模式(分别是斜体和直立粗体),并且我不会对文本模式字母表发表任何评论。
数学斜体:自(至少?!)18 世纪中叶或晚期(欧拉的影响?)以来,许多数学文本中的变量和字母符号都按照惯例以倾斜的或更确切地说是倾斜的字体排版。斜体样式。在 TeX 的数学模式中,除非明确选择不同的样式,否则字母会自动设置为数学斜体。数学斜体和普通斜体之间的一个非常重要的区别是,后者遵循与数学无关(事实上是不可取的)的字距和连字符规则。当使用
f
(在斜体模式下)同时具有上升部和下降部的字母时,这一点尤其明显。在 TeX 的 Computer Modern 字体系列中,小写希腊符号在数学中也设置为倾斜模式——我想这是为了与任何附近的斜体拉丁字母很好地协调。
使用 LaTeX 时,
\mathit{}
指示 TeX 将参数排版为文本模式斜体。(相反,Plain TeX
指令中的\mit
斜体用于将其参数设置为数学斜体。)在的参数中\mathit{}
,空格被忽略。要在数学模式下生成包含空格的文本片段,请改用命令\textit{}
。
数学罗曼:在数学模式下,同样按照惯例,诸如
sin
、cos
、tan
、等运算符的缩写ln
,以及许多其他运算符的缩写,都设置为直立或“罗马”样式,以区别于普通符号和字母(设置为斜体,见上文)。数学罗马字体和文本罗马字体通常看起来非常相似,但在涉及连字和字距调整规则时可能会有所不同。在数学模式下,\mathrm{}
指示 TeX 以数学罗马字体排版参数;与 一样\mathit
,\mathrm
忽略空格。(使用\textrm
生成直立文本和空格。粗体版本mathrm 和 mathit:为了进一步帮助符号的视觉定义,可以加粗字母。这通常(但并非总是!)用于矢量。在 Computer Modern 数学字体世界中,通过生成的粗体字母
\mathbf
仅以直立或“罗马”样式提供;不过,其他数学字体系列也为数学提供粗体斜体。数学无衬线和数学打字机:在数学设置中使用无衬线字体并不常见,但它可用于在视觉上突出具有特殊含义的某些实体。在您的示例中,、
gen
和enc
使用dec
排版\mathsf{}
,而Combine
和Reveal
使用 排版\mathtt
。特殊数学字母:除了前四种数学字母外,还有一些特殊字母,例如“Math Blackboard Bold”(使用 调用)
\mathbb{}
、“Math Caligraphic”(使用 调用\mathcal{}
)和“Math Fraktur”(使用 调用)mathfrak
)。它们经常用于套(例如,\mathbb{R}
对于\mathbb{C}
实数和复数的集合)以及作者希望在视觉上与周围材料区分开的其他实体。在具有 Computer Modern 字体的基本 TeX 发行版中,只有大写数学黑板粗体字母、书法字母和 Fraktur 字母;但是,也有一些软件包为这些数学字母提供小写字母。- 在 LaTeX 中使用 Computer Modern 字体时,通常需要加载一个或多个专门的包,例如
amsfonts
,以便访问一些特殊的数学字母。
- 在 LaTeX 中使用 Computer Modern 字体时,通常需要加载一个或多个专门的包,例如
与文本模式字母表不同的是(准确地说,自 1994 年 LaTeX2e 及其“新字体选择系统”问世以来),数学模式字母表无法组合,至少在使用 CM 字体的“基本”LaTeX 中无法组合。例如,命令
\mathcal{\mathbb{}}
和\mathbf{\mathsf{}}
无法按预期(或希望?)工作。
好的,这无疑是对 TeX 中数学字母的一个非常基本的介绍。
答案4
我创建了一个名为短符号它为不同字体的数学符号提供宏。它使用前缀,例如\BA
表示粗体A
。
这项工作仍在进行中,但我认为将来不会有重大变化。
阅读文档以获取所有信息(编译 shortsym.tex)。以下是拉丁字母可用的前缀: