/ LaTeX  

LaTeX札记(四):字体

LaTeX\LaTeX 札记(四)——字体

今天讨论几个最近碰到的字体问题。后续碰到有新的字体问题的可能也会更新。

首先注意,你的字体必须是为全体安装的!!! 目前我这些问题出现在 TeXLive\TeX Live 2022版本,部分问题在2020、2021就有出现。

🌟推荐下载开源免费商用字体的网站:猫啃网(猫啃网,最新最全的可免费商用中文字体下载网站!喵啃~ (maoken.com)),好多人来问题江城哪里下载,就在这上面!都是开源免费商用的字体,冲!真的是非常良心的网站!!

简历模板中“思源黑体 Light”、“江城斜黑体 200W”无法识别

这其实是两个问题:

“思源黑体 Light”无法识别

请大家看清自己安装的是“思源黑体”(中日韩全字库版本,较大),还是“思源黑体 CN”(仅中文字库),如果安装的是CN版稍作修改即可。

1
\setCJKsansfont{思源黑体 CN Light}

“江城斜黑体 200W”无法识别,TeXLive2021以后版本无法识别中文文献名字体

这个问题很早之前就有人来问我,但我一直也没碰到就没有解决,直到我自己从 TeXLive\TeX Live 2020更新到 TeXLive\TeX Live 2022后,我也遇到了这个问题🤔。根据网上的猜测应该是由 TeXLive\TeX Live 2021大版本更新带来的。。。

网络上有的一些解决办法:

(25条消息) window11 latex 解决找不到字体的问题_问题生产商的博客-CSDN博客_texlive 找不到字体

Win10+TeXLive2021无法识别新安装字体解决方法_zorchp的博客-CSDN博客_texlive 找不到字体

原因:由于“江城斜黑体”等字体名为中文,例如“江城斜黑体 200W.ttf”,这种中文文件名的字体在 TeXLive\TeX Live 2021版以后就经常找不到了。

1
2
\setCJKmainfont[ItalicFont={江城斜宋体 300W}]{思源宋体}
\setCJKmainfont[ItalicFont={江城斜黑体 200W}]{思源黑体 Light}

解决方法

  • 方法一(可以尝试,但在我的TeXLive2022版本行不通):将上述字体名直接加上文字名称的后缀名.ttf,也许可以缓解该问题,例如

    1
    2
    \setCJKmainfont[ItalicFont={江城斜宋体 300W.ttf}]{思源宋体}
    \setCJKmainfont[ItalicFont={江城斜黑体 200W.ttf}]{思源黑体 Light}
  • 方法二(我就是这样解决的):其实就是重装字体,同时重装之前先把文件名改成中文英文*(感谢郑同学指出原来的错误)*,例如江城斜黑体改成这样image-20220414111433042

    然后重新为全体用户安装即可,中间如果说字体已经安装过了,这样选就可以啦!
    image-20220414111610966

    这样安装完,直接原来的应该就可以用了

    1
    2
    \setCJKmainfont[ItalicFont={江城斜宋体 300W}]{思源宋体}
    \setCJKmainfont[ItalicFont={江城斜黑体 200W}]{思源黑体 Light}

Github上StickCui版毕业设计模板中xelatex如何输出公式字体为Times风格

问题: Github上StickCui/XDUthesis-personal: XDUthesis 西安电子科技大学学位论文模板 Xidian University thesis template (github.com)版本(该版本已不再维护)的毕设模板中,pdflatex可以编译出Times风格数学公式字体,而xelatex不可以。在“不改备注别进群”、“匿名毕设交流群”中的模板已经进行了替换,具体替换如下,这样的修改对于 TeXLive\TeX Live 2020和 TeXLive\TeX Live 2021早期版本,overleaf均是适用的:

1
2
3
4
% \setmainfont[NFSSFamily=entextrm]{Times New Roman}%
% \setsansfont[NFSSFamily=entextsf]{Times New Roman}%
\RequirePackage{newtxtext}
\RequirePackage[cmintegrals]{newtxmath}

但如果对 TeXLive\TeX Live 2021的宏包进行了更新或使用 TeXLive\TeX Live 2022版本,则会出现找不到“SimHei”字体的错误,这主要是newtxtext宏包引起的,具体解决方案是回退newtxtext版本。

解决方案

  • 方法一:回退newtxtext版本,并加上[nofontspec]

  • 方法二:下载newtxtext早期版本(提供一个早期版本的🔗链接,下载了记得解压,蓝奏云无法直接上传sty文件),并在XDUthesis.cls文件的newtxtext引用部分加上[nofontspec](全局搜索\RequirePackage{newtxtext},都改成\RequirePackage[nofontspec]{newtxtext}即可),

    1
    2
    \RequirePackage[nofontspec]{newtxtext}
    \RequirePackage[cmintegrals]{newtxmath}

    直接放置在毕设文件夹下,具体放在这个位置,记得重新编译前把之前生成的临时文件(Demo开头除了tex以外的文件)删掉
    image-20220414112658599

  • 方法三:换用overleaf,使用overleaf中TeXLive2021+xelatex编译是没有问题的

  • 方法四:换用其他模板,如大佬最新推出的可能会持续的更新的模板

    新的本科毕设latex模板发布了

    睿思:https://rs.xidian.edu.cn/forum.php?mod=viewthread&tid=1136781&extra=
    GitHub:https://github.com/note286/xduts

beamer中如何全篇使用CM风格非衬线体,即使用sansmathfonts宏包

尝试了好多次,经常报NFSS异常的错。有几点注意事项:

  • 请使用ctexbemaer文档类,而非beamer文档类+ctex宏包,会报NFSS错

  • 不要使用sansmathfonts宏包的onlymathnottext等命令,会报NFSS错

  • 建议使用T1字体族 OT1字体族,不然会报错

    1
    \usepackage[OT1]{fontenc}
  • 使用sansmathfonts宏包后数字等字符会显示为衬线体,在引用该宏包前先引用CM宏包,即cmbright宏包,但是注意部分加粗字体采用的是sansmathfonts的加粗而非cmbright的加粗,看起来有点区别,我也不会调整 改成OT1字体族就可以了

    1
    2
    3
    \usepackage[OT1]{fontenc}
    \usepackage{cmbright}
    \usepackage{sansmathfonts}

大家对beamer有什么别的疑惑的话可以去读文档,有中文版的,比较通俗。提供一个自用的beamer导言区,见LaTeX模板分享 | Levitate_ (levitate-qian.github.io)

本文标题:LaTeX札记(四):字体

文章作者:Levitate_

发布时间:2022年04月14日 - 10:36:34

原始链接:https://levitate-qian.github.io/2022/04/14/latex-note-04/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。