tikzDevice没有使用emacs

时间:2014-11-08 22:56:18

标签: r emacs

我在linux终端中使用R运行以下代码并且工作正常

td <- tempdir()
tf <- file.path(td, "examplelast.tex" )
oldwd <- getwd()
setwd(td)
library(tikzDevice)
# Minimal plot
tikz(tf,standAlone = T)
plot(1,main="\\TeX")
dev.off()
# View the output
tools::texi2dvi(tf,pdf=T)
system(paste(getOption("pdfviewer"),file.path("examplelast.pdf")))
setwd(oldwd)

但是在emacs上运行会给我以下错误:

## (/home/DJJ/.emacs.d/elpa/auctex-11.87.2/latex/preview.sty
## Package: preview 2010-02-14 CVS-1.126 (AUCTeX/preview-latex)
## \pr@markerbox=\box35
## (/home/DJJ/.emacs.d/elpa/auctex-11.87.2/latex/prtightpage.def
## \PreviewBorder=\dimen148
## )
## \pr@snippet=\count107
## \pr@box=\box36
## \pr@output=\toks24
## )
## ! Missing = inserted for \ifnum.
## <to be read again> 

## ...

## !  ==> Fatal error occurred, no output PDF file produced!
## Error in getMetricsFromLatex(TeXMetrics) : 
## TeX was unable to calculate metrics for the following string
## or character:

##         m

我怀疑与preview.sty存在一些冲突,但我不确定。

以下是我关于R的.emacs的一部分:

;(add-to-list 'load-path "~/R/ess-5.13/lisp")
(require 'ess-site)

我的sessioninfo()

## R version 3.1.1 (2014-07-10)
## Platform: x86_64-redhat-linux-gnu (64-bit)

## locale:
##  [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C             
##  [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8    
##  [5] LC_MONETARY=en_US.utf8    LC_MESSAGES=en_US.utf8   
##  [7] LC_PAPER=en_US.utf8       LC_NAME=C                
##  [9] LC_ADDRESS=C              LC_TELEPHONE=C           
## [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C      

## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     

## other attached packages:
## [1] tikzDevice_0.7.0 filehash_2.2-2  

## loaded via a namespace (and not attached):
## [1] grid_3.1.1  tools_3.1.1

更新 解决方案here建议更新来自Auctex附带的preview.sty包。怎么办呢?

1 个答案:

答案 0 :(得分:0)

它给了我一段时间,但我设法了解this帖子的含义。如果您使用Fedora,也可以查看this帖子。

基本上我从fedora存储库安装了preview.sty

yum install tex-preview

然后我用tex-live中的preview.sty切换Auctex的preview.sty。

kpsewhere preview.sty可以帮助您从tex-live(安装后)找到preview.sty。就我而言,它在这里:

 /usr/share/texlive/texmf-dist/tex/latex/preview/.

然后从auctex中找到preview.sty非常简单:它在我粘贴在问题中的日志中。就我而言,它是:

/home/DJJ/.emacs.d/elpa/auctex-11.87.2/latex/preview.sty