2017-01-24 2 views
1

Ich versuche, eine Tikz-Figur in R Markdown mit dem tufte_handout zu generieren Ich führe dies in RStudio. Hier ist meine sessionInfo():Verwendung von Tikz in tufte_handout mit 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 

Mein Beispiel (noch nicht in Betrieb) ist:

 --- 
    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} 
    ``` 

Als ich das stricken, bekomme ich folgende Fehlermeldung:

 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 

Ich habe die MacTeX -2016 Verteilung installiert

Antwort

0

Ich habe keinen Mac, aber ich erhielt den gleichen Fehler, der Sie waren hile, den von Ihnen bereitgestellten Code auszuführen. Um es zu beheben, alles, was ich tun musste, nehmen war diese Zeile:

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

und ändern Sie es auf die folgenden:

knitr::opts_chunk$set(echo = TRUE)

Mit dieser Änderung war es ganz gut mit dem, was ich Stellen Sie sich vor, welche Ausgabe Sie suchen. Hoffentlich funktioniert das auch auf einem Mac.

+0

Danke, aber kein Glück. Ich bekomme immer noch denselben Fehler, auch wenn ich 'dev = 'tikz' aus der Option chunk_set entferne. – user1849779