В R у меня есть символьные объекты, которые содержат определения макросов LaTeX. Задача состоит в том, чтобы использовать эти объекты в документах R Markdown, чтобы определения макросов правильно отображались при преобразовании файлов .Rmd в LaTeX (а затем в PDF). Это сложная задача, потому что Pando c (v2.9.1 и 2.9.2) не в состоянии правильно отобразить некоторый макрос-генерирующий код, даже если этот код является допустимым LaTeX.
Вот минимальный пример. Сначала рассмотрим этот Rmd-файл:
---
title: "Rendering LaTeX Macros from R Objects"
output:
pdf_document:
keep_md: true
keep_tex: true
---
```{r}
withoutBraces <- "\\newcommand\\withoutBraces{This is a sentence.}"
withBraces <- "\\newcommand{withBraces}{This is a sentence.}"
```
```{r, results = "asis"}
writeLines(withoutBraces)
writeLines(withBraces)
```
При связывании этого .Rmd-файла из RStudio создается файл .tex, который содержит следующий вывод:
\newcommand\withoutBraces{This is a sentence.}
, но
\textbackslash newcommand\{withBraces\}\{This is a sentence.\}
Другими словами, команда \withoutBraces
правильно отображается в документе .tex, а команда \withBraces
- нет. Инспекция показывает, что rmarkdown::render()
часть процесса вязания в порядке, в том смысле, что он создает файл c .md без проблем. Проблема заключается в pando c: когда он преобразует файл .md в файл .tex, команда \withBraces
отображает неправильно.
Если бы я писал файлы .md вместо .Rmd файлы, я мог бы использовать «generi c raw attribute» в своих фрагментах кода, чтобы правильно определить определение макроса \withoutBraces
, как в этом примере от @ mb21 . Но я не вижу способа сделать это при работе с файлами R Markdown. Могу ли я что-нибудь сделать, чтобы определение \withoutBraces
правильно отображалось, когда я вяжу файл .Rmd в LaTeX и PDF?