Node.js 渲染 LaTeX 代码

标签 node.js latex mustache

我正在尝试在 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/

相关文章:

ruby-on-rails - 火腿 + mustache

javascript - 如何集成 CouchApp、Node.JS、Sammy 和 Mustache

javascript - 反序列化谷歌 FlatBuffers

node.js - bcrypt 不适用于 lambda 无服务器

compiler-construction - 是否有像 Markdown 这样更简单/更清晰的语法可以编译成 LaTeX?

latex - 用 latex 纸遮光

javascript - 从函数内部获取调用者实例

node.js - 使用 Google Drive api 的权限列表中缺少电子邮件地址

python - Matplotlib 数学文本 : Glyph errors in tick labels

javascript - Mustache.js 中数组元素的索引