3

如何避免\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`实现这一点,但这当然不是很清楚。

4

1 回答 1

2

\u您可以通过将行替换为\u005Cusepackage{indentfirst},甚至只是来利用语法\x5Cusepackage{indentfirst}

5C对应于\

另一种选择可能是对表达式使用美元符号和花括号表示法。 ${'\\'}usepackage{indentfirst}

于 2016-09-03T20:29:49.770 回答