如何避免\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}

10-06 01:03