【问题标题】:unexpected snippets behavior in vscode+latex workshopvscode+latex 研讨会中的意外片段行为
【发布时间】:2020-11-13 00:29:44
【问题描述】:

我正在使用带有 latex Workshop 扩展的 vscode,并将以下内容放入我的 latex.json 文件中。

    "newcommand": {
        "prefix": "nc",
        "body": [
            "\\newcommand{\\$1}{$2}",
        ],
    },

我希望nc 扩展为\newcommand{\}{},在反斜杠之后和第二对大括号中带有占位符。但是,我得到\newcommand{$1}{},第二对大括号中只有一个占位符。这是为什么?如何获得所需的行为?

【问题讨论】:

    标签: visual-studio-code latex vscode-snippets


    【解决方案1】:

    来自snippet doc

    使用 \(反斜杠),您可以转义 $}\。在选择元素中,反斜杠也会转义逗号和管道字符。

    以下字符串被传递给 sn-p 引擎:\newcommand{\$1}{$2}

    \$ 被解释为文字 $

    我们希望传递以下字符串:\newcommand{\\$1}{$2}

    将此字符串转义为 json 给出

    "\\newcommand{\\\\$1}{$2}"
    

    【讨论】:

    • 所以反斜杠分两次处理?首先是json,然后是sn-p引擎?
    • 为什么反斜杠只能逃脱右大括号,而不是左大括号?
    • @user313032 在占位符中使用{ 时,他们可能没有问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    相关资源
    最近更新 更多