我有一个R
文件,需要在其中输入多行Devanagari(印地语)脚本,然后将其输出为pdf。我可以使用lualatex在tex中编译印地语脚本,但无法从R
开始使用它。即使我可以在RStudio中键入印地语字符,当它打印.tex文档时,它也会返回unicode,而该unicode不会打印我需要的字符。
这是我在R
中尝试过的事情:
library(knitr)
sink("testdevanagari.Rnw")
cat(paste0("\\documentclass{article} \n",
"\\usepackage{fontspec} \n",
"\\setmainfont{Times New Roman \n}",
"\\newfontscript{Devanagari}{deva,dev2} \n",
"\\newfontface{\\hindi}[Script=Devanagari]{Lohit-Devanagari.ttf} \n",
"\\begin{document} \n"))
cat(paste0("{\\hindi नमस्ते }"))
cat("\\end{document}")
sink()
knit2pdf(input = "testdevanagari.Rnw", compiler = 'lualatex')
这是随后在.tex文档中进行编译的关键部分:
\begin{document}
{\hindi <U+0928><U+092E><U+0938><U+094D><U+0924><U+0947> }\end{document}
因此,编译后的pdf只会打印出乱码的unicode:
<U+0928><U+092E><U+0938><U+094D><U+0924><U+0947>
我需要pdf来打印单词:
नमस्ते
请注意,我可以使用lualatex和以下代码从tex编辑器成功编译为pdf:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\newfontscript{Devanagari}{deva,dev2}
\newfontface{\hindi}[Script=Devanagari]{Lohit-Devanagari.ttf}
\begin{document}
{\hindi नमस्ते }
\end{document}
我如何直接从knit2pdf
将此词表达出来?