2017-09-13 2 views
0

Akzente in Absätzen funktionieren einwandfrei. Text in Zahlen ist im Plot-Viewer korrekt, aber sobald ich das PDF kompiliert habe, verschwinden die Akzente von den Figuren.Produzieren von PDF mit Knitr und Rmarkdown: Akzente im Text erscheinen, aber nicht in Zahlen.

Hier ist ein Beispiel, das das Problem reproduziert.

--- 
title: 'Some title' 
author: 'This be me' 
date: '`r format(Sys.Date(), "%B %Y")`' 
lang: es 
header-includes: 
    - \usepackage{tikz} 
output: 
    pdf_document: 
    fig_caption: yes 
--- 


```{r global options, echo = F, message=F} 
library(knitr) 
opts_chunk$set(fig.width=6, fig.height=3.5, dev = 'tikz') 
``` 

I have some paragraphs that include cool accents like áspid. 

If I run the next chunk in the R console I see the accent on the figure it generated. But the accent is missing in the pdf. 


```{r} 
plot(pressure, main= "áspid") 
``` 
+1

Ich denke, es ist eine einfache Codierung, die Sie für die Verwendung dieses älteren Vorschlags aus den Stapeln Konto..try: https://stackoverflow.com/questions/18146409/accent-in-knitr – sconfluentus

+0

Vielen Dank für den Vorschlag. Würde sich die Codierung nicht auf das gesamte Dokument auswirken? Würde falsches Codieren nicht auch die Akzente in Absätzen durcheinander bringen? – Zentaur

+1

Es kann ... es hängt von der Sprache ab, die Sie für das gesamte Dokument verwenden, Sie können Optionen mit und ohne Akzente haben. – sconfluentus

Antwort

1

Das sieht wie ein Fehler im R tikzDevice Paket aus. Er erzeugt eine .tikz Datei, um die UTF-8-Codierung verwenden, aber so etwas wie nicht

\usepackage[utf8]{inputenc} 

darin enthalten die Codierung zu erklären. Es gibt eine Reihe von Verweisen in seiner Dokumentation zum Abschnitt "Unicode" des Hilfethemas ?tikzDevice, aber es gibt keinen solchen Abschnitt. Möglicherweise möchten Sie ein Problem auf der Github-Seite für das Paket https://github.com/yihui/tikzDevice melden.

Edited hinzufügen:

Nach einigen Experimenten, kann ich nicht sehen, wie man diese Zeile in die .tikz Datei hinzufügen, aber xelatex anstelle der Standard-LaTeX-Engine anfordert scheint zu funktionieren. Sie können das tun, indem Sie den R-Code

options(tikzDefaultEngine = "xetex") 

in Ihrem frühen Code-Chunk hinzufügen. Das wird xelatex für die Zahlen, pdflatex für den Rest verwenden. ("xetex" ist kein Tippfehler, das ist, wie Sie xelatex anfordern.)

Wenn Sie möchten, können Sie auf xelatex für den Rest wechseln latex_engine: xelatex im YAML-Header verwendet wird, aber die Zahlen werden noch pdflatex verwenden, wenn Sie auch die Möglichkeit hinzufügen Rahmen.

Verwandte Themen