我很难通过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
答案 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中执行此操作,请像在现有问题中一样粘贴命令。
这是我得到的输出:
注意:我应该提到我在Ubuntu上,而且iconv在Unix系统中是相当标准的。