gpt4 book ai didi

r -\Sexpr{} .Rnw 文件中的特殊 LaTeX 字符($、&、%、# 等)

转载 作者:行者123 更新时间:2023-12-01 08:34:23 25 4
gpt4 key购买 nike

它与默认的内联钩子(Hook)有关,我意识到这一点,我已经尝试了解它(钩子(Hook))并阅读了 this thread和亿辉的page about hooks ,但我无法解决我的问题。我什至试过this suggestion来自 Sacha Epskamp,但在我的情况下它并没有做到这一点。

我正在使用 \Sexpr 并按照 \Sexpr{load("meta.data.saved"); meta.data[1,7]} 在我的报告中打印一个关键字,问题是写这些关键字的人(我无法控制的人)使用特殊的 LaTeX 字符($、&、%、#等),当它们在没有 \ 的情况下传递给我的 .tex 文件时,我的日子不好过。

我有一个包含此代码的 .Rnw 文件,

\documentclass{article}
\begin{document}
Look \Sexpr{foo <- "me&you"; foo} at this.
\end{document}

Thsi 创建一个带有非法 LaTeX 字符的 .tex 文件。像这样,

<!-- Preamble omitted for this example. -->
\begin{document}
Look me&you at this.
\end{document}

我有兴趣得到这样的输出,

<!-- Preamble omitted for this example. -->
\begin{document}
Look me\&you at this.
\end{document}

抱歉这个简单的问题,但有人可以帮助我,也许还有其他人,开始如何修改 \Sexpr 的默认内联 Hook ?

最佳答案

@agstudy 提供的解决方案已经展示了基本思想,这里有一个更健壮的版本:

hook_inline = knit_hooks$get('inline')
knit_hooks$set(inline = function(x) {
if (is.character(x)) x = knitr:::escape_latex(x)
hook_inline(x)
})

当内联结果为字符时,它只修改默认的内联钩子(Hook)(否则只使用默认钩子(Hook))。我有一个内部函数 escape_latex() 希望能正确转义所有特殊的 LaTeX 字符。

关于r -\Sexpr{} .Rnw 文件中的特殊 LaTeX 字符($、&、%、# 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13694009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com