You need to enable JavaScript to run this app. 在LaTeX R Markdown文档中修改段落字体族的问题求助
优惠活动
大模型
产品
解决方案
定价
更多

在LaTeX R Markdown文档中修改段落字体族的问题求助

问题解决方法

1. 字体不生效的原因

你使用xelatex作为编译引擎且加载了fontspec包时,传统LaTeX的\fontfamily{字体简写}语法不兼容,必须使用fontspec提供的专属字体调用命令。

2. 局部修改字体的正确写法

你可以直接在需要修改字体的位置用\fontspec{字体名}调用系统已安装的字体,示例修改如下:

\begingroup
% 替换括号内的字体名为你系统中存在的字体即可
\fontspec{Microsoft YaHei}\fontsize{18}{22}\selectfont
\textcolor{black}{tasks}
\endgroup

如果需要频繁使用某款字体,可以在YAML的header-includes中预先定义字体族,简化后续调用:

header-includes:
- \usepackage{graphicx}
- \usepackage{fancyhdr}
- \usepackage{fontspec}
- \usepackage{xcolor}
- \pagestyle{fancy}
- \renewcommand{\headrulewidth}{0.0pt}
% 新增预定义字体,\yahei为自定义的命令名,后面跟系统字体名
- \newfontfamily\yahei{Microsoft YaHei}
- \newfontfamily\song{SimSun}

后续需要使用时直接调用自定义命令即可:

\begingroup
\yahei\fontsize{18}{22}\selectfont
\textcolor{black}{tasks}
\endgroup

3. 可用字体查询方法

不同系统的字体查询方式如下:

  • Windows:打开「控制面板-字体」,列表中显示的字体全名即为可调用的名称
  • Mac:打开「字体册」应用,选中目标字体后显示的全称即为可用名称
  • Linux:在终端执行fc-list命令,输出内容中冒号后标注的就是字体名

补充注意事项

  • 字体名要和系统显示完全一致,大小写、空格、特殊符号都不能出错
  • 如果要使用非系统自带字体,可以把字体文件放在Rmd文档同目录,通过路径参数调用:\fontspec[Path=./]{customfont.ttf}
  • \fontsize{字号}{行间距}的第二个参数建议比字号大2-4pt,避免行间距过小导致文字重叠

内容的提问来源于stack exchange,提问作者JK Lambert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 18:36:01