这是我的第一个Markdown报告,我尝试将其直接写在PDF上。我需要使用Times New Roman字体,但导出失败:
function createTable (tableData) {
const table = document.createElement('table').appendChild(
tableData.reduce((tbody, rowData) => {
tbody.appendChild(
rowData.reduce((tr, cellData) => {
tr.appendChild(
document
.createElement('td')
.appendChild(document.createTextNode(cellData))
)
return tr
}, document.createElement('tr'))
)
return tbody
}, document.createElement('tbody'))
)
document.body.appendChild(table)
}
createTable([
['row 1, cell 1', 'row 1, cell 2'],
['row 2, cell 1', 'row 2, cell 2']
])
我已经尝试过这些代码
Package fontspec Error: The font "Times New Roman" cannot be found.
或
font-family: Times New Roman
或
mainfont: Times New Roman
但是这些代码都不起作用。
谢谢!
答案 0 :(得分:0)
如@RalfStubner所述,您可以使用TeX Gyre Termes
嵌入Times New Roman
之类的字体。
tex-gyre
要使用TeX Gyre Termes
,您需要从CTAN安装tex-gyre
软件包。如果您已安装@Yihui的TinyTeX
,请在R控制台中键入以下代码。
tinytex::tlmgr_install("tex-gyre")
上面的代码等同于在bash中执行下面的代码。
tlmgr install tex-gyre
.tex
文件以指定所需的字体在YAML标头中设置mainfont:
也应该起作用。但是,这里我展示了如何通过在YAML部分中包含一个.tex
文件(例如说font-config.tex
)来设置字体。通过font-config.tex
文件,您可以配置更详细的选项,例如Scale=MatchUppercase
。
在以下font-config.tex
,TeX Gyre Termes
或 Times New Roman 中将其设置为主字体(\rmfamily
)和TeX Gyre Heros
,因此称为 Helvetica 或 Arial 的字体被指定为San Serif字体(\sffamily
)。将文件保存在当前目录中。
\usepackage{fontspec}
%rmfamily
\setmainfont[Scale=MatchUppercase]{TeX Gyre Termes} %Times New Roman
%sffamily
\setsansfont[Scale=1]{TeX Gyre Heros} %So called Helvetica, Arial
font-config.tex
您可以从YAML标头中调用font-config.tex
,如下所示。
---
title: "The definitive MWE"
subtitle: "Oh, yeah"
author: "CLR"
output:
bookdown::pdf_document2:
number_sections: true
latex_engine: xelatex #or lualatex
keep_tex: true
includes:
in_header:
- font-config.tex
---
*Hellow world!* in Times New Roman.
\textsf{Hellow world!} in Helvetica.