latex中的数学字体mathfont

最近遇到了调整latex中的数学字体的问题,虽然折腾一番发现我需要的就是默认字体(靓仔无语),但是还是了解到了不少内容,记录一下。

你想要的是什么字体?

1、要是有tex源码,又不想看cls文件,可以直接在你想查询的文本中用以下命令来显示字体信息(编译后可以看到)

\fontname\font

参考链接TeX/LaTeX 怎么查看当前字体信息?

2、找不出来的话,看一下overleaf的文档Font typefaces,主要是四个家族的字体:

  • Computer Modern (标准latex里默认字体,不需要额外设置)
  • Latin Modern
  • Post Script Fonts
  • TEX Gyre

3、更加详细的字体样式可参见🔗:The LaTeX Font Catalogue
4、其他相关🔗: 常见字体宏包how to select math font in document

如果需要times风格的字体

Elsevier提供了一种解决方案,正如它的说明文档中所说会用到txfonts.sty
在这里插入图片描述
在cls中具体代码如下:

\DeclareOption{times}{\IfFileExists{txfonts.sty}% 该步骤判断是否存在txfonts.sty
  {\AtEndOfClass{\RequirePackage{txfonts}%
  \gdef\ttdefault{cmtt}%
   \let\iint\relax
  \let\iiint\relax
  \let\iiiint\relax
  \let\idotsint\relax
  \let\openbox\relax}}{\AtEndOfClass{\RequirePackage{times}}}}%两个大括号,第一个是if成立使用,第二个是if不成立的时候使用

碎碎念:
1、elsevier这个cls文件只有在\documentclass后面声明times才会切换到times的字体,默认是computer modern roman的字体
2、一开始我以为这种情况文字和数学符号用的都是times new roman字体,去查了一下发现大家说times new roman里面缺少数学符号,最多是数学公式里面的文本使用了times new roman,至于数学符号只能用近似的times风格的字体实现LaTeX如何设置数学字体为Times New Roman?

其他参考链接:
在Mac中码LaTeX,如何修改数学字体到times风格?

setmathfont命令

这个应该是在unicode-math包里面用的,一开始没找到关于它里面的参数选项,搜了一下发现大家说这个兼容fontspec的参数选项Information About the Available Options Of The \setmathfont Command,这个命令可以用于自由设置字体,比如你自己有otf文件,可以用path对其进行调用

如果需要word默认的公式字体

word里面默认的公式字体是cambria,可下载相关otf文件,通过setmathfont命令进行设置

用了unicode-math之后mathbb和mathcal变得好奇怪?

在这里插入图片描述
想得到是左边,结果编译出来是右边?? 这个主要是因为unicode-math里面的字体和amssymb里面的字体不一致造成的,解决方法,在\begin{document}前面加几行命令:

\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
\let\mathbb\relax % remove the definition by unicode-math
\DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}

如果你有专门设置setmathfont,可以直接在cls里面为 \mathbb 更换字体,TeX Gyre Pagella Math 中提供了黑板体的支持:

\setmathfont{LatinModernMath-Regular}
\setmathfont[range={\mathbb,\mathcal}]{TeXGyrePagellaMath-Regular}

参考链接:
XeLaTeX, Latin Modern, \mathbb and \mathcal
使用 unicode-math 宏包时 \mathbb 黑板体字符的显示问题

如果需要更加花里胡哨的字体,可参阅链接:unicode-math: Double-struck math fonts

unicode-math一些不太一样的命令

比如LaTeX 传统使用粗正体表示向量和矩阵,所以只有一个 \mathbf 命令,但是这个命令对希腊字母无效。而国标要求使用粗斜体表示向量和矩阵,可以使用 bm 宏包的 \bm 得到粗斜体字母。unicode-math 可以设置 bold-style=ISO,并提供 \symbf 命令用于粗斜体的数学符号。
更加可参考链接:LaTeX 排版国标样式的数学符号

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值