4

我很难通过knitrpackage 和 pandoc 让我的表格打印出变音符号。我相信该Name.md文件是正确生成的,但在pandoc级别上给了我错误。我做错了什么?没有变音符号,它可以完美地工作。

这是我遵循的示例和步骤:

在 R 中复制表

SampleTable <- data.frame(Nazov=c("Kratkodobé záväzky (TA)","Dlhodobé záväzky 
                                 (LA)","Záväzky celkovo (TA)"))

我运行 *.Rmd 文件来创建 Name.md 文件

```{r, echo=FALSE, dpi=600, fig.width=12, fig.height=15, fig.cap="Finančná štruktúra"}
   print(xtable(SampleTable))
```

将 .md 转换为 .pdf

knit("Name.rmd")


system(paste("pandoc -V geometry:margin=1in -o", "Report", ".pdf ", "Name", ".md", 
              sep=""))

编辑:错误:

pandoc.exe: Cannot decode byte '\x20': Data.Text.Encoding.decodeUtf8: Invalid UTF-8
            stream

Warning message:
running command 'pandoc -V geometry:margin=1in -oReport7.pdf ReportNew.md' had status 1
4

1 回答 1

3

在“geany”之类的文本编辑器中查看文件后,您可以轻松查看文件编码(文件>属性),您将看到文件编码为 ISO-8859-1。

但是,正如 Pandoc 手册页所述:

Pandoc 对输入和输出都使用 UTF-8 字符编码。如果你的本地字符编码不是 UTF-8,你应该通过 iconv 管道输入和输出:

iconv -t utf-8 input.txt | pandoc | iconv -f utf-8

因此,我在终端上所做的是(假设您已更改为存储 .md 文件的目录):

iconv -f ISO-8859-1 -t UTF-8 md_file.md > new.md
pandoc new.md -o test.pdf

如果您希望从 R 中执行此操作,请将命令粘贴在一起,就像您在现有问题中所做的那样。

这是我得到的输出:

在此处输入图像描述

注意:我应该提到我在 Ubuntu 上,iconv 在 Unix 系统中是相当标准的。

于 2013-09-16T17:32:02.740 回答