2013-03-12 15 views
5

Windows 7、R2.15.3、RStudio 0.97.320とknitr 1.1を使用しています。私のpandocのバージョンは何か分かりませんが、数日前にダウンロードしました。エンコーディング:knitrファイルと子ファイル

のSessionInfo()
Rバージョン2.15.3(2013年3月1日) プラットフォーム:私はたいx86_64の-W64-MINGW32/x64(64ビット)

locale: 
[1] LC_COLLATE=Spanish_Argentina.1252 LC_CTYPE=Spanish_Argentina.1252 LC_MONETARY=Spanish_Argentina.1252 
[4] LC_NUMERIC=C      LC_TIME=Spanish_Argentina.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] tools_2.15.3 

htmlとWordの両方のレポートを取得するには、markdownとpandocを使用しています。 n:á-úñの母音とチルダのアクセント付きスペイン語で書いています。

私は多くの投稿を読んでいますが、私はknitrの新しいバージョンで解決されている問題に似ています。しかし、解決策が見つからないという問題が1つあります。

私が始めた

は、私が RStudioダイアログに表示されます 'system default'エンコーディング、すなわち ISO 8859-1を使用し、 RStudioプレビューはとてもうまくいきました。しかし、私がWord文書を取得しようとしたときに、アクセントの付いた母音には pandocが窒息していました。 iconvを使って解決する方法を示す記事を見つけました:

iconv -t utf-8 "myfile.md" | pandoc -o "myfile.docx" | iconv -f UTF-8

これは、このようなエラーで、私のプロットを見つけるいくつかの理由で、pandoc's認識できないutf-8文字の苦情を解決するpandoc停止をしたものの:

pandoc:イメージが見つかりませんでした`figure/Parent.png '、スキップ...

アクセントのない文字のみを使用する場合、pandocは問題のないイメージを見つけます。私がいることを確認した...
![plot of chunk Parent](figure/Parent.png)
を明らかに強調文字が全く異なっているが:私はhexエディタで2つの.mdのファイルを見て、私は数字を扱うセクションを比較したとき、私は何の違いを見ることができません画像ファイルは図のフォルダにあります

とにかく、多くの投稿を読んだ後、を使用するようにRStudioを設定することにしました。ファイルのレベルが1つであれば、うまく動作します。

Parent - SAVED WITH utf-8 encoding in RStudio 
======================================================== 

u with an accent: "ú" SAVED WITH utf-8 encoding in RStudio 

```{r fig.width=7, fig.height=6} 
plot(cars, main='Parent ú') 
``` 

別途:

Child - SAVED WITH utf-8 encoding in RStudio 
======================================================== 

u with an accent: "ú" Child file 

```{r fig.width=7, fig.height=6} 
plot(cars, main='One File Child ú') 
``` 

と私はRStudioと2完璧なWordの2完璧なprevuesの両方を取得するには、次の2つのRMDファイルをたとえば、私はニット-independently-ことができ、その後、Wordにpandoc pandocからの文書。

親パーツから子パーツを呼び出そうとすると問題が発生します。UTF-8ISO 8859-1として解釈beeingてたかのように文字化けになる子ファイル内

```{r CallChild, child='TestUTFChild.Rmd'} 

``` 

すべてのアクセント:他の言葉では、私は最初のファイルに次の行を追加した場合。 Pandocは、ファイルの読み込みを中止し、utf-8ではないと不平を言う。

誰もが正しい方向に私を指すことができれば、次のいずれか私はISO 8859-1にとどまればpandocはプロットを見つけないと

1.。私もWindows-1252を試しましたが、これはsessionInfoで見たものですが、結果は同じです。

または子ファイルを呼び出して

2.UTF-8が進むべき道ですか。子コールでエンコーディングを強制するオプションを設定する方法を探しましたが、まだ見つかりませんでした。

多くの感謝!

+0

は 'knitr'のバグのようですね。私はそれを見てよ –

+0

@ Yihuiありがとう!私はR、markdown、knitrの新人ですが、私はすでにコミュニティのエネルギーとあなたの貢献によって驚いています! – ap53

答えて

3

この問題は、最新の開発版で修正する必要があります。 develバージョンのインストール方法については、the development repositoryの説明を参照してください。次に、RStudioでUTF-8を選択し、UTF-8でエンコードされた出力ファイルを取得できます。

私はあなたが提供したエンコーディングで子出力を書きましたが、同じエンコーディングでは読み込まれなかったという理由で、失敗の理由は誰にでも分かりません。今私はちょうどchild documentsのための出力ファイルを書くことを避ける。

+0

素晴らしい作品です!再度、感謝します! – ap53

関連する問題