带有大都市主题的rmarkdown幻灯片中的字体问题
我正在使用带有大都市主题的rmarkdown幻灯片中的字体问题,r,r-markdown,pandoc,xelatex,R,R Markdown,Pandoc,Xelatex,我正在使用rmarkdown软件包制作带有大都会主题的PDF幻灯片。最近,我注意到方程开始出现不同的情况——它们使用不同的字体 *.Rmd文件的最小示例: --- output: beamer_presentation: theme: "metropolis" latex_engine: xelatex keep_tex: true --- ## Problem with font $$f(x_i\mid\mu,\sigma^2) = \exp\left\{-\f
rmarkdown
软件包制作带有大都会主题的PDF幻灯片。最近,我注意到方程开始出现不同的情况——它们使用不同的字体
*.Rmd
文件的最小示例:
---
output:
beamer_presentation:
theme: "metropolis"
latex_engine: xelatex
keep_tex: true
---
## Problem with font
$$f(x_i\mid\mu,\sigma^2) = \exp\left\{-\frac{(x_i-\mu)^2}{2\sigma^2}\right\}$$
在RStudio中编织时,可产生:
这与使用Xeletex直接在LaTeX中编译同一张幻灯片时获得的结果不同:
\documentclass{beamer}
\usetheme{metropolis}
\begin{document}
\begin{frame}{Problem with font}
\[f(x_i\mid\mu,\sigma^2) = \exp\left\{-\frac{(x_i-\mu)^2}{2\sigma^2}\right\}\]
\end{frame}
\end{document}
产生:
这看起来差别不大,但在其他等式中,缺少了一些特殊字符,字体大小略有不同,影响了幻灯片的整体布局
经过一些调查,发现注释掉rmarkdown
生成的tex文件中的这两行会使它变得更好:
%\usepackage{unicode-math}
%\defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase}
unicode数学包是(唯一)罪魁祸首吗?如何解决此问题并确保Metropolis使用正确的字体,而无需手动更改tex文件
提前感谢您的帮助
系统配置:
- RStudio 1.2.1335
- R降价1.15
- pandoc 2.3.1(通过RStudio)
- 1.2
- 4.3
- XeTeX 3.14159265-2.6-0.99991(TeX Live 2019)
- 您看到的确实是unicode数学包的效果。有一种简单的方法可以解决这个问题,强制pandoc使用mathspec包。这可以通过在元数据中设置
mathspec:true
来实现
---
mathspec: true
output: …
---
或者在调用pandoc时设置相应的变量
---
output:
beamer_presentation:
theme: "metropolis"
latex_engine: xelatex
pandoc_args: ["--variable=mathspec"]
---
两者之间只有一个微小的、非常微妙的、几乎无关紧要的区别。我建议使用第一个版本,因为它更简单
请参阅TeX StackExchange以了解。似乎出于某种原因,rmarkdown设置了pandoc
mathspec
变量?试着把它弄乱。我在默认模板(pandoc-dletex
)中搜索了unicode数学
,结果。。。谢谢你的反馈。强制pandoc使用mathspec包解决了问题,正如@tarleb在下面建议的那样。这解决了我的问题,非常感谢!(我不知道unicode math和mathspec之间的差异。)