基于user3143179的answser,我创建了custom.sty来指定用于使用rmarkdown
呈现PDF的字体和LaTeX包。
以下 custom.sty 的内容:
% custom.sty
\usepackage{sectsty} \sectionfont{\centering} \chaptertitlefont{\centering}
\usepackage{xcolor}
% fonts
\usepackage{fontspec}
\setmainfont{LiberationSerif-Regular.ttf}[
BoldFont = LiberationSerif-Bold.ttf,
ItalicFont = LiberationSerif-Italic.ttf,
BoldItalicFont = LiberationSerif-BoldItalic.ttf ]
\setsansfont{LiberationSans-Regular.ttf}[
BoldFont = LiberationSans-Bold.ttf,
ItalicFont = LiberationSans-Italic.ttf,
BoldItalicFont = LiberationSans-BoldItalic.ttf ]
\setmonofont{LiberationMono-Regular.ttf}[
BoldFont = LiberationMono-Bold.ttf,
ItalicFont = LiberationMono-Italic.ttf,
BoldItalicFont = LiberationMono-BoldItalic.ttf ]
\endinput
我使用fontspec手册创建了上面关于特定系统字体的代码。
我运行了以下R代码:
rmarkdown::render("custom.Rmd", pdf_document(highlight = "kate",
fig_caption = FALSE, latex_engine = "lualatex", keep_tex = TRUE, includes
= includes(in_header = "custom.sty")))
这是运行R代码的输出:
processing file: custom.Rmd
|.................................................................| 100%
ordinary text without R code
output file: custom.knit.md
/usr/bin/pandoc +RTS -K512m -RTS custom.utf8.md --to latex
--from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures
--output custom.tex --template /rmarkdown/rmd/latex/default.tex --highlight-style kate
--latex-engine lualatex --include-in-header custom.sty --variable graphics=yes
/usr/bin/pandoc +RTS -K512m -RTS custom.utf8.md --to latex
--from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures
--output custom.pdf --template /rmarkdown/rmd/latex/default.tex --highlight-style kate
--latex-engine lualatex --include-in-header custom.sty --variable graphics=yes
错误
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.95 \setmainfont{LiberationSerif-Regular.ttf}[
pandoc: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
我还有原始的.tex文件,以防您需要查看它。 .tex文件中有\begin{document}
。
.sty文件中还需要哪些其他组件,以便使用rmarkdown将LaTeX文件正确呈现为PDF格式?
拨打rmarkdown::render
还需要其他什么吗?
答案 0 :(得分:1)
当我从\endinput
移除custom.sty
时,它适用于我。问题是includes
就像TeX中的\include
一样输入文件。因此,将custom.sty
重命名为header.tex
会更有意义。