将下划线作为内联代码传递给 knitR
Pass underscore as inline code to knitR
我正在使用 knitR 生成文档。一些变量名带有下划线,我无法更改。无论如何仍然将这些作为普通文本插入?
基本示例:
\documentclass{article}
\begin{document}
<<>>=
data.df = data.frame(var_name_1=c(0,1),var_name_2=c(1,2))
@
I want to be able to print \Sexpr{(names(data.df)[1])} and \Sexpr{(names(data.df)[2])} normally.
\end{document}
感谢您的帮助。
一个合适的解决方法是在代码块中定义函数 rep_
。 rep_
只查找下划线并在其前面放置一个“\”。
\documentclass{article}
\begin{document}
<<>>=
data.df = data.frame(var_name_1=c(0,1),var_name_2=c(1,2))
rep_ = function(test){gsub("([_])", '\\\_', "test_var")}
@
I want to be able to print \Sexpr{rep_((names(data.df)[1]))} and \Sexpr{rep_((names(data.df)[2]))} normally.
\end{document}
结果就是我们想要的!
我正在使用 knitR 生成文档。一些变量名带有下划线,我无法更改。无论如何仍然将这些作为普通文本插入?
基本示例:
\documentclass{article}
\begin{document}
<<>>=
data.df = data.frame(var_name_1=c(0,1),var_name_2=c(1,2))
@
I want to be able to print \Sexpr{(names(data.df)[1])} and \Sexpr{(names(data.df)[2])} normally.
\end{document}
感谢您的帮助。
一个合适的解决方法是在代码块中定义函数 rep_
。 rep_
只查找下划线并在其前面放置一个“\”。
\documentclass{article}
\begin{document}
<<>>=
data.df = data.frame(var_name_1=c(0,1),var_name_2=c(1,2))
rep_ = function(test){gsub("([_])", '\\\_', "test_var")}
@
I want to be able to print \Sexpr{rep_((names(data.df)[1]))} and \Sexpr{rep_((names(data.df)[2]))} normally.
\end{document}
结果就是我们想要的!