如何使用R将字符从标记转换为乳胶

如何使用R将字符从标记转换为乳胶,r,text,latex,r-markdown,knitr,R,Text,Latex,R Markdown,Knitr,我有一个变量x,它是一个使用标记设置格式的字符: x <- "Here is some _great_ text in a **variable** and some blank spaces ____." 是否有一个R函数可以实现这一点?反斜杠本身可能需要避开,但你明白了。我确信这是存在的,因为将.Rmd转换为.pdf很容易,但我不希望创建和编写中间的.tex文件,因为这需要重复很多次 我已经翻遍了knitr和RMarkdown的小插曲、文档和源代码,但找不到我要找的内容 编辑 所以我

我有一个变量x,它是一个使用标记设置格式的字符:

x <- "Here is some _great_ text in a **variable** and some blank spaces ____."
是否有一个R函数可以实现这一点?反斜杠本身可能需要避开,但你明白了。我确信这是存在的,因为将.Rmd转换为.pdf很容易,但我不希望创建和编写中间的.tex文件,因为这需要重复很多次

我已经翻遍了knitr和RMarkdown的小插曲、文档和源代码,但找不到我要找的内容

编辑


所以我找到了knitr::pandoc,它几乎就在那里,但需要输入和输出文件。

只要将字符串写入一个临时文件,并将其转换即可。我建议使用rmarkdown::render而不是knitr::pandoc;它们都称为pandoc,但前者为您设置了所有选项:

x <- "Here is some _great_ text in a **variable** and some blank spaces ____."
infile <- tempfile(fileext=".md")
writeLines(x, infile)
outfile <- rmarkdown::render(infile, rmarkdown::latex_fragment(), quiet = TRUE)
readLines(outfile)
为了保持整洁,您可以删除末尾的两个临时文件:

unlink(c(infile, outfile))

只需将字符串写入临时文件,并将其转换。我建议使用rmarkdown::render而不是knitr::pandoc;它们都称为pandoc,但前者为您设置了所有选项:

x <- "Here is some _great_ text in a **variable** and some blank spaces ____."
infile <- tempfile(fileext=".md")
writeLines(x, infile)
outfile <- rmarkdown::render(infile, rmarkdown::latex_fragment(), quiet = TRUE)
readLines(outfile)
为了保持整洁,您可以删除末尾的两个临时文件:

unlink(c(infile, outfile))

使用commonmark软件包,有一个更干净、更简单的解决方案:

commonmark::markdown_latex("Here is some _great_ text in a **variable** and some blank spaces ____.")

使用commonmark软件包,有一个更干净、更简单的解决方案:

commonmark::markdown_latex("Here is some _great_ text in a **variable** and some blank spaces ____.")

是的,我想这是我必须做的。是否有一个推荐的位置用于使用R存储临时文件?或者当前工作目录是否足够?请使用tempfile。cwd可能会踩到一些重要的东西。我现在明白了。谢谢。所以看起来rmarkdown::render在72个字符处断行或者类似的东西。所以你能做到是的,我想这是我必须要做的。是否有一个推荐的位置用于使用R存储临时文件?或者当前工作目录是否足够?请使用tempfile。cwd可能会踩到一些重要的东西。我现在明白了。谢谢。所以看起来rmarkdown::render在72个字符处断行或者类似的东西。所以你可以做些什么