这是this和this的后续问题。我正在尝试将一些TikZ代码包含到rmarkdown文件中。first question解决了在节点标签中使用符号的问题,而second question则添加了varwidth而不是minipage环境。
添加fontspec包带来了另一个我似乎无法解决的问题。每当我将包添加到列表中时,就会引发以下错误:
! Fatal Package fontspec Error: The fontspec package requires either XeTeX or (fontspec) LuaTeX. (fontspec)
(fontspec) You must change your typesetting engine to, (fontspec) e.g., "xelatex" or "lualatex"instead of (fontspec) "latex" or "pdflatex".
在前面的回答之后,代码由以下两个文件组成:
Title.Rmd---
title: "Title"
author: "Me"
output:
bookdown::pdf_document2:
keep_tex: yes
latex_engine: xelatex
---
```{tikz tikz-ex, echo=FALSE, fig.cap = "Funky tikz", fig.ext = 'pdf', cache=FALSE, eval=TRUE, engine.opts = list(template = "tikz2pdf.tex")}图片库{
形状,
箭
}
开始{tikzpicture}
节点stile{
开始{迷你页}{2.5cm}
P
开始{myBullets}
第一项
第二项
结束{myBullets}
结束{minipage}
};
结束{tikzpicture}
tikz2pdf.tex\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\usepackage[utf8]{inputenc}
\usepackage[skins]{tcolorbox}
\usepackage{
tikz,
enumitem,
xcolor
}
\usepackage{fontspec} % new adding to previous answers
\setromanfont{Times New Roman}
\begin{document}
\definecolor{BulletsColor}{rgb}{0, 0, 0.9}
\definecolor{myColor}{rgb}{0.98, 0.94, 0.9}
\newlist{myBullets}{itemize}{1}
\setlist[myBullets]{
label=\textcolor{BulletsColor}{\textbullet},
leftmargin=*,
topsep=0ex,
partopsep=0ex,
parsep=0ex,
itemsep=0ex,
before={\color{BulletsColor}\itshape}
}
\tikzstyle {stile} = [
ellipse,
draw=BulletsColor,
fill=myColor,
thick,
inner sep=0pt,
text centered,
align=center
]
\begin{preview}
%% TIKZ_CODE %%
\end{preview}
\end{document}从上面的错误消息中,我了解到我处于pdflatex模式,而fontspec要求我处于xelatex或lualatex模式。考虑到我的标题中有latex_engine: xelatex,下面的问题会折磨我:
latex_engine: xelatex是不够的?knitr块不关心头中的latex_engine: xelatex吗?如果是这样的话,我该如何解决呢?我一直在搜索,其中一个建议(对我来说并不太复杂)是确保全局/项目设置设置为weave rnw files using: knitr,Typeset LateX into pdf using: XeLaTex。但是,这并没有真正帮助解决我的问题。
发布于 2019-06-24 07:36:57
正如在https://stackoverflow.com/a/51143900/8416610中解释的那样,您必须告诉tinytex::latexmk在设置块中使用options(tinytex.engine = 'xelatex')而不是pdflatex。
此外,为了与tikz2pdf.tex兼容,您应该更新您的XeTeX:
pdftex中删除选项previewinputenc。有了这些更改,您的文档就适合我了。
https://stackoverflow.com/questions/56710620
复制相似问题