私はRStudio内でXeLaTeXでknitrを使用しています。ドキュメントをコンパイルするたびに特定のコードを再実行する必要がないように、チャンクキャッシュを使用しています。この最小限の例は、fontspec
パッケージがロードされた場合にキャッシュが壊れているように見えることを示しています。
\documentclass{article}
\usepackage{fontspec} % Appears to somehow conflict with caching.
\begin{document}
<<pre_load, cache=TRUE>>=
library(tikzDevice)
options(tikzDefaultEngine="xetex")
@
\section{Test}
<<test_block, dev='tikz', dependson='pre_load'>>=
plot(1:10,main='Test')
@
\end{document}
このドキュメントを初めてPDFにコンパイルすると、キャッシュが使用されないため、機能します。ただし、チャンクに変更が加えられtest_block
、コードが2回実行されると、失敗します。たとえば、PDFに一度コンパイルした後test_block
、チャンクを次のように変更します。
<<test_block, dev='tikz', dependson='pre_load'>>=
plot(1:10,main='Test Modified')
@
現在、PDFへのコンパイルは次のエラーで失敗します。
!
********************************************
* XeTeX is required to compile this document.
* Sorry!
********************************************.
\RequireXeTeX ...********************************}
\endgroup \fi
l.18 \RequireXeTeX
このエラーは、options(tikzDefaultEngine="xetex")
が設定されていないことを示します。興味深いことに、fontspec
パッケージがロードされていない場合、このエラーは発生しません。
私の質問は:これはバグですか、それとも私のコードに何か問題がありますか?
R(R開発中(不安定)(2012-11-10 r61101))からRStudio(0.97.246)(RStudioサーバーからブラウザー経由でアクセス)でtikzDevice(0.6.3)を使用してknitr(1.1)を使用しています。 Ubuntu(12.04.2 LTS)で実行されています。私のLaTeX2eの日付は<2009/09/24>です。