如何避免\u
解释为字符转义序列?
在我的JavaScript项目中,我需要一些开始的LaTeX命令的字符串文字。在我逃脱每个反斜杠(\\
)之前,但是我最近在JavaScript中发现了原始字符串。如果我在源代码中可以有确切的字符串文字,那将是很好的。不幸的是,现在\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`
替换有问题的行来使其工作,但是当然这还不是很清楚。 最佳答案
您可以通过将行替换为\u
甚至是\u005Cusepackage{indentfirst}
来利用\x5Cusepackage{indentfirst}
语法。5C
与\
相对应。
另一个选择可能是对表达式使用美元符号和花括号符号。${'\\'}usepackage{indentfirst}