如何避免将\u
解释为字符转义序列?
在我的JavaScript项目中,我需要一些开头LaTeX命令的字符串文字。在我将每个反斜杠转义(\\
)之前,我最近在JavaScript中发现了原始字符串。如果我可以在源代码中使用 exact 字符串文字,那就太好了。不幸的是,\usepackage{indentfirst}
现在存在问题。 \u
被解释为字符转义序列,这当然不是我想要的。有没有办法避免这种行为,或者这不是String.raw
的地方?
简要代码:
var title="title", author="author";
console.log(String.raw`
\documentclass{book}
\title{${title}}
\author{${author}}
\date{}
\usepackage{indentfirst}
\begin{document}
\maketitle{}
\tableofcontents{}
`);
我通过用`+"\\usepackage{indentfirst}"+String.raw`
替换违规行来解决这个问题,但当然这不是很清楚。
答案 0 :(得分:2)
您可以使用\u
语法替换\u005Cusepackage{indentfirst}
,甚至\x5Cusepackage{indentfirst}
。
5C
与\
对应。
另一种选择可能是对表达式使用美元符号和花括号表示法。
${'\\'}usepackage{indentfirst}