【问题标题】:Sanitize latex commands and special symbol together一起清理乳胶命令和特殊符号
【发布时间】:2023-03-13 01:19:01
【问题描述】:

我们希望将 R 中的许多文本段落自动处理到 LaTex 中。这些段落最初存储在 Excel 文件的条目中。

我们阅读并希望将每个条目移植到 LaTex 中。但是在那些段落中,我们有像& 这样的特殊符号,我们也想包括\cite{}

我的问题是如何使用这些符号和命令正确输出乳胶文件?

在我们的段落中,如果我使用了类似"S&P 500" 的内容

sanitize("S&P 500") 

在 R 中使用 xtable 包,它会正确输出。但是如果我在文本中也有\cite{this-figure} 怎么办。

现在如果使用

sanitize("\cite{this-figure")

它不起作用并显示警告:

错误:'\c' 是从 ""\c" 开始的字符串中无法识别的转义

我明白为什么它不起作用,如果希望tex文件显示"\cite{this-figure}",正确,纯文本显示为双反斜杠,"\\cite{this-figure}"

当然,如果我把它放进去

sanitize("\cite{this-figure}")

它只会“诚实地”翻译它:

"$\\backslash$cite\\{this-figure\\}"

在包含"S&P 500""\cite{this-figure}" 的段落中,我真的希望"S&P 500" 出现"S\&P 500""\cite{this-figure}" 作为"\cite{this-figure}"

非常感谢

【问题讨论】:

  • 对不起,双反斜杠版本应该是 \\cite{this-figure}

标签: r latex xtable


【解决方案1】:

您可以将源文本保存在文件中,然后使用pandoc 进行转换。例如,来自 R:

file <- tempfile()

cat("S&P 500 \\cite{this-figure}", file = file)
tex <- knitr::pandoc(file, "latex", ext = "tex")

cat(readLines(tex))
#> S\&P 500 \cite{this-figure}

reprex package (v0.3.0) 于 2019 年 9 月 12 日创建

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多