首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用xelatex和tikz编写针织品:关于最小示例的Ghostscript错误

用xelatex和tikz编写针织品:关于最小示例的Ghostscript错误
EN

Stack Overflow用户
提问于 2014-03-31 09:37:41
回答 1查看 730关注 0票数 3

我正在尝试使用XeLaTeX、针织品和tikz --但是由于一个幽灵脚本错误而失败了。我尝试过很多不同的方法,情况如下:

  1. XeLaTeX与针织品:作品
  2. PDFLaTeX与针织品:作品
  3. PDFLaTeX与针织和tikz:作品
  4. 针织品和tikz的XeLaTeX :失败

我制作的简单文档是这里的http://paste.lisp.org/+31GJ,主要部分是:

代码语言:javascript
复制
<<xetex-tikz, eval=FALSE, echo=FALSE>>=
options(tikzDefaultEngine='xetex')
@  
A plot: 
<<test, echo=FALSE,dev='tikz'>>=
plot(10,10) 
@

错误消息也在注释中,但我将粘贴到这里:

代码语言:javascript
复制
GPL Ghostscript 9.14: Unrecoverable error, exit code 1

** WARNING ** Filtering file via command -->rungs -q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile='/tmp/xdvipdfmx.45a08580e905757a9f5e6fc456cb9f8b' '/dev/null' -c quit<-- failed.
** WARNING ** Image format conversion for "/dev/null" failed...
** WARNING ** Image width=0.0!
** WARNING ** Image height=0.0!
** ERROR ** pdf_ref_obj(): passed invalid object.

为了避免旧包(例如,RHEL5有一个旧版本的texlive )出现任何问题,我在本地安装了以下内容:

2013年TeXlive:

代码语言:javascript
复制
$ type xelatex
xelatex is hashed (/usr/local/texlive/2013/bin/x86_64-linux/xelatex
$ xelatex -version
XeTeX 3.1415926-2.5-0.9999.3-2013060708 (TeX Live 2013)
kpathsea version 6.1.1

GNU R

代码语言:javascript
复制
$ type R
R is /usr/local/bin/R
$ R --version
R version 3.0.3 (2014-03-06) -- "Warm Puppy"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

Ghostscript

代码语言:javascript
复制
$ type ghostscript
ghostscript is /usr/local/bin/ghostscript
$ ghostscript --version
9.14

我将R_LATEXCMD设置为xelatex (在使用pdflatex之前,这意味着由于我使用XeTeX包就会失败),这是我所做的唯一的全局变量或附加设置;路径似乎是正确的,例如:

代码语言:javascript
复制
$ kpsewhich tikz
/usr/local/texlive/2013/texmf-dist/tex/plain/pgf/frontendlayer/tikz.tex

在R上,我更新了软件包,并安装了针织和tikzDevice (最新版本,通过install.package)。

任何指针都会受到欢迎;XeLaTeX+knitr+tikz组合并不特别奇特:在编织机图形手册中推荐使用tikz,并且需要使用与主文档相同的字体,而XeLaTeX是引擎的一个非常常见的选择--我需要它提供的unicode支持,以便使用Charis、IPA字符等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-08 04:22:41

我刚刚测试了和tikzDevice的CRAN版本,使用了R3.0.3和TeXLive 2013 (除了使用Ubuntu外,基本上与您的环境相同)。这似乎是一个非常简单的问题:您在第一个块上使用了eval=FALSE,因此没有对该块进行评估,基本上忽略了options(tikzDefaultEngine = 'xetex')。在我将eval=FALSE更改为TRUE (实际上它是默认值,所以可以省略它)之后,一切都可以工作。

代码语言:javascript
复制
\documentclass{article}
\usepackage{xltxtra} %used this to avoid pdflatex being used
\usepackage{tikz}
%\setmainfont{Charis SIL} %depends on xlxtra
\begin{document}
\title{Testing}
\maketitle

<<xetex-tikz, eval=TRUE, include=FALSE>>=
options(tikzDefaultEngine='xetex')
@

A plot:
<<test, echo=FALSE, dev='tikz'>>=
plot(10,10)
@
\end{document}

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22758249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档