我正在尝试在 Node.js 中执行以下代码:
var docdata = {paper_size: "a4paper", file: inFileName}
var output = Mustache.render("\documentclass[twoside]{article}\usepackage{pdfpages}\usepackage[{{paper_size}}]{geometry}\begin{document}\includepdf[pages=-]{{{file}}}\end{document}\batchmode", docdata);
但我收到以下错误:
var output = Mustache.render("\documentclass[twoside]\{article\}\usepackage\{
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
我应该如何转义 LaTeX 字符串以正确呈现它?
最佳答案
将所有反斜杠替换为两个反斜杠\\
,例如
"\\documentclass[twoside]{article}\\usepackage{pdfpages}\\usepackage[{{paper_size}}]{geometry}\\begin{document}\\includepdf[pages=-]{ {{file}}}\\end{document}\\batchmode"
字符串文字中的反斜杠具有特殊含义,允许您转义字符,例如 "
,或添加特殊字符,例如换行符 \n
。但这意味着如果您想要一个实际的反斜杠,你必须转义它(用另一个反斜杠),如 \\
。
关于Node.js 渲染 LaTeX 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23006201/