gpt4 book ai didi

r - 编码 : knitr and child files

转载 作者:行者123 更新时间:2023-12-03 20:26:36 26 4
gpt4 key购买 nike

我使用 Windows 7、R2.15.3 和 RStudio 0.97.320 和 knitr 1.1。不确定我的 pandoc版本是,但我前几天下载了它。

sessionInfo()
R version 2.15.3 (2013-03-01) Platform: x86_64-w64-mingw32/x64 (64-bit)


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 的新版本解决了。 .但是有一个问题我还没有找到解决方案。

当我开始时,我使用了 'system default'出现在 RStudio 中的编码对话框,即 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: Could not find image `figure/Parent.png', skipping...



如果我只使用非重音字符,pandoc 可以毫无问题地找到图像。我看了两个 .md带有 hex 的文件编辑器,当我比较处理数字的部分时,我看不出任何区别: ![plot of chunk Parent](figure/Parent.png)虽然显然强调的字符完全不同......我已经验证了图像文件确实存在于图形文件夹中

无论如何,在阅读了许多帖子后,我决定设置 RStudio使用 UTF-8编码。只有一层文件,一切都很好。例如,我可以独立地将以下 2 个 Rmd 文件编入 Word,然后将其 pandoc:
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 个来自 pandoc 的完美 Word 文档.

当我尝试从父部分调用子部分时出现问题。换句话说,如果我将以下几行添加到第一个文件中:
```{r CallChild, child='TestUTFChild.Rmd'}

```

然后子文件中的所有重音符号都变得乱码,好像 UTF-8被解释为 ISO 8859-1 . Pandoc也停止读取文件,提示它不是 utf-8 .

如果有人能指出我正确的方向,要么:

1. pandoc如果我留在 ISO 8859-1 就找不到图.我也试过 Windows-1252因为这是我在 sessionInfo 中看到的,但结果是一样的。



2. 随着对子文件的调用,如果 UTF-8是要走的路。我一直在寻找一种方法来设置一些选项来强制子调用中的编码,但我还没有找到。

非常感谢!

最佳答案

我认为这个问题应该在最新的开发版本中修复。请参阅 the development repository 中的说明关于如何安装开发版。然后你应该可以在 RStudio 中选择 UTF-8,并得到一个 UTF-8 编码的输出文件。

以防万一有人对血腥细节感兴趣:之前失败的原因是我使用您提供的编码编写了子输出,但没有使用相同的编码读取它。现在我只是避免为 child documents 写输出文件.

关于r - 编码 : knitr and child files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15352935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com