表与变音符号与Pandoc& Knitr通过R

时间:2013-09-16 15:35:51

标签: r knitr pandoc

我很难通过knitr包和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

1 个答案:

答案 0 :(得分:3)

在“geany”等文本编辑器中查看文件后,您可以轻松查看文件编码(文件&gt;属性),您将看到文件编码为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中执行此操作,请像在现有问题中一样粘贴命令。

这是我得到的输出:

enter image description here

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