1

非標準のフォント ファミリを使用するテキスト要素を含む図を生成foo.Rnwするためのパッケージを使用するファイルがあります。Knitr がドキュメントで pdflatex を呼び出した後、結果のファイルextrafontで実行したいと思います。extrafont::embed_fontsfoo.pdf

これを手動で行うことはできますが、knitr 内からこれを行う方法はありますか? extrafont::embed_fonts(たとえば、ファイルを編んでpdflatexで実行した後に自動的に呼び出すように設定できるknitrパッケージオプション)

4

1 に答える 1

3

この回答で説明されているように、YAML オプションを設定することで、RStudio の [Compile PDF] ボタンの動作を変更できますknit。これにより、「Knit」ボタンを押したときに任意のコードを実行できます。コードはワンライナーとしてフォーマットする必要があり、文字データには一重引用符を使用する必要があることに注意してください (二重引用符は機能しません)。

パッケージがわからないextrafontので、生成されたPDFをトリミングする例を次に示します。呼び出しextrafont::embed_fontsも同様に機能するはずです。

---
knit: (function(inputFile, encoding) { rmarkdown::render(input = inputFile, encoding = encoding); knitr::plot_crop(paste0(basename(tools::file_path_sans_ext(inputFile)), '.pdf')) } )
output: pdf_document
---

```{r}
print("Hello world!")
```

実際には非常に単純です。最も複雑な部分は、出力ファイル名を構成することです: (paste0(basename(tools::file_path_sans_ext(inputFile)), '.pdf')(こちらを参照)。

于 2016-09-29T08:17:47.157 に答える