Вяжем символы деванагари (хинди) в pdf, используя knit2pdf - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть файл R, в который мне нужно вставить несколько строк сценария деванагари (хинди), который я затем хочу вывести в pdf.Я могу скомпилировать хинди-скрипт в tex с использованием lualatex, но не могу заставить его работать с R.Несмотря на то, что я могу печатать символы хинди в RStudio, когда он печатает документ .tex, он возвращает юникод, который не печатает нужные мне символы.

Вот что я пробовал в 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 просто печатает бессмысленный юникод:

<U+0928><U+092E><U+0938><U+094D><U+0924><U+0947>

Мне нужен PDF для распечатки слова:

नमस्ते 

Обратите внимание, что я могу успешно скомпилировать из моего текстового редактора в pdf, используя lualatex, и этот код:

\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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...