マークダウンでレポートを作成し、関数render()
を使用してコードをPDFにコンパイルしました。 1か月前は問題なく動作していましたが、今すぐコードを実行するとエラーが発生します。
Latexmk:これは、Latexmk、John Collins、2016年4月22日、バージョン4.45です。作成される出力:output/Medborgerskabstabeller99.pdf
Tools :: file_path_as_absolute(output_file)のエラー:ファイル 'output/Medborgerskabstabeller99.pdf'は存在しません
PDFの作成に使用するレンダリングコマンドは次のようになります。
outfile <- file.path("output",paste0("Medborgerskabstabeller99"))
render(input = "Medborgerskabstabeller.Rmd",
encoding = "UTF-8",
output_file = paste0(outfile,".pdf"))
まず第一に、以前の「Latexmk」メッセージは、コードが機能したときに表示されませんでした。
第二に、「Medborgerskabstabeller99.pdf」が存在しないと言う理由がわからないが、ファイルを作成したばかりだと言ったとき。
問題に関する提案は大歓迎です!
より良い解決策は、tinytexを使用することです。
install.packages('tinytex')
tinytex::install_tinytex()
MikTexを使用してインストールする必要がある場合は、MikTexコンソールを開き、不足しているパッケージ設定を次のように変更します。
Always install missing packages on the fly
MikTexをまだインストールしていない場合は、インストール時に次を選択してください。
Install missing packages: Yes
最初にインストールしたとき、Ask me first
を選択しましたが、失敗しました。 MikTexの設定の変更とアンインストールの両方を試してみましたが、ニーズに合わせて少し軽量だったtinytexに落ち着きました。
一番下にソリューションを持つ元のスレッド: https://github.com/rstudio/rmarkdown/issues/1285
同様の問題がありました。インターネットで検索した後、 community r studio で解決策を見つけました
バグはrmarkdownの1.9バージョンに関連しているようですので、解決策は1.8バージョンに戻すことです
install.packages("devtools")
library(devtools)
install_version("rmarkdown",version=1.8)
再インストールした後、再度編成しようとすると、おそらくMiktexからパッケージをインストールするように求められます。問題がある場合は、適切なミラーを確認してください。お役に立てれば。
私もこれにこだわったので、出力の質問へのコメントだけです。outfile
は絶対パスでなければなりません。 dir.exists()
はローカルの作業ディレクトリを検索すると思います。私の場合、".\\"
を前に使用すると助かりました。あなたのものでは、paste0(".\\",outfile,".pdf")
を使用することになります。
MikTexを使用している場合、おそらくいくつかのパッケージが欠落しています(基本的なMiktexパッケージがインストールされています)。 texファイルをコンパイルして、不足しているパッケージを見つけ(コンパイルエラー)、インストールします。次に、rmdドキュメントを編むと動作するはずです。
その間、問題は開発バージョン1.10.11
で修正されたようです:
devtools::install_github('rstudio/rmarkdown')