Wie kann ich vermeiden, dass \u
als Zeichen-Escape-Sequenz interpretiert wird? u in JavaScript String.raw`template literal`
In meinem JavaScript-Projekt brauche ich ein String-Literal einiger LaTeX-Befehle. Bevor mir jeder Backslash entgangen ist (\\
), habe ich vor kurzem rohe Zeichenketten in JavaScript entdeckt. Es wäre toll, wenn ich die genaue String-Literal in meiner Quelle haben könnte. Leider gibt es jetzt ein Problem in \usepackage{indentfirst}
. Die \u
wird als Zeichen-Escape-Sequenz interpretiert, was natürlich nicht meine Absicht ist. Gibt es eine Möglichkeit, dieses Verhalten zu vermeiden, oder ist das einfach nicht der richtige Ort für String.raw
?
Verkürzter Code:
var title="title", author="author";
console.log(String.raw`
\documentclass{book}
\title{${title}}
\author{${author}}
\date{}
\usepackage{indentfirst}
\begin{document}
\maketitle{}
\tableofcontents{}
`);
habe ich dies mit `+"\\usepackage{indentfirst}"+String.raw`
durch Ersetzen der Codezeile zu arbeiten, aber das ist natürlich nicht sehr klar.
Hm, 'String.raw' wird erwartet,' '\\ u ...' 'zurückzugeben. Erhalten Sie einen Fehler oder nur das falsche Ergebnis? Welche ES6-Implementierung verwenden Sie? – Bergi
@Bergi - Hatte den gleichen Vorschlag, aber es sieht aus wie die neue es6 Unicode-Escape, die Sie tun können, wie 'console.log ('\ u {2622}')' wird einen Fehler * Unexpected token * in es6 Template-Strings werfen . Also ist nur das '\ 'problematisch, nicht' \ n' oder '\ r' und so weiter. – DavidDomain
@DavidDomain Verwenden Sie es als String möglicherweise werfen, aber mit getaggt mit 'String.raw' sollte es nicht. – Bergi