2017-01-24 9 views
1

Я пытаюсь создать цифру tikz в R Markdown, используя tufte_handout Я запускаю это в RStudio. Вот мой sessionInfo():Использование Tikz в tufte_handout с RMarkdown

R version 3.3.2 (2016-10-31) 
    Platform: x86_64-apple-darwin16.1.0 (64-bit) 
    Running under: macOS Sierra 10.12.2 

    locale: 
    [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

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

    loaded via a namespace (and not attached): 
    [1] backports_1.0.4 magrittr_1.5 tufte_0.2  rprojroot_1.1 htmltools_0.3.5 tools_3.3.2  yaml_2.1.14  Rcpp_0.12.8  
    [9] stringi_1.1.2 rmarkdown_1.3 knitr_1.15.1 stringr_1.1.0 digest_0.6.11 evaluate_0.10 

Мой пример (пока не работает) является:

 --- 
    title: "TikzTest" 
    output: 
     tufte::tufte_handout: default 
    --- 

    This is a test of the R Markdown tufte_handout.^[This is a sidenote in the tufte_handout] To use the tikz package, you have to include this code chunk: 
    ```{r setup, include=FALSE} 
    knitr::opts_chunk$set(echo = TRUE,dev = 'tikz') 
    library(tikzDevice) 
    ``` 

    But it doesn't work?: 
    ```{r,engine='tikz'} 
    \begin{tikzpicture}[line width=0.05cm] 

    \node [align=center] (x) at (0,0) {$X$}; 
    \node [align=center] (y) at (2.55,0) {$Y$}; 

    \begin{scope}[line width=.05cm,shorten >= 5pt, shorten <= 5pt] 
    \draw[->,color=black] (x) to (y); 
    \end{scope} 
    \end{tikzpicture} 
    ``` 

Когда я вязать это, я получаю следующее сообщение об ошибке:

 Error in tools::texi2dvi(texf, pdf = !to_svg, clean = TRUE) : 
     Running 'texi2dvi' on './tikz145322b8f468.tex' failed. 
    Messages: 
    sh: /usr/local/opt/texinfo/bin/texi2dvi: No such file or directory 
    Calls: <Anonymous> ... call_block -> block_exec -> in_dir -> engine -> <Anonymous> 
    Execution halted 

У меня есть MacTEX -2016 Установленный дистрибутив

ответ

0

У меня нет Mac, но я получал ту же ошибку, что и вы hile запускает код, который вы указали. Чтобы исправить это, все, что я должен был сделать это взять эту строку:

line:knitr::opts_chunk$set(echo = TRUE,dev = 'tikz')

и изменить его на следующее:

knitr::opts_chunk$set(echo = TRUE)

С этим изменением, он работал нормально с тем, что я Представьте, это результат, который вы ищете. Надеюсь, это будет работать и на Mac.

+0

Спасибо, но не повезло. Я по-прежнему получаю ту же ошибку, даже когда я удаляю 'dev = 'tikz'' из параметра chunk_set. – user1849779