TeXstudio 添加自定义语法高亮

TeXstudio 添加自定义语法高亮

我想更改脚注和引文中的文本在 TeXstudio 编辑器中的显示方式。我实际上想要两件相关的事情。第一,当我进入引文环境时,我希望文本显示为灰色,就像方程式环境中的文本已经显示为绿色一样。第二,我还希望脚注中的文本显示为灰色。因此,当我输入 \footnote{示例文本} 时,括号之间的示例文本显示为灰色。

这可能吗?我尝试搜索答案,发现一些与我的请求相关但不完全相似的查询的答案相互矛盾。

答案1

这个问题可以通过向 TeXstudio 添加自己的语言定义来解决,但这并不是那么简单。

你需要做的是复制tex.qnfa文件在 github并将其添加到您的配置目录的语言文件夹中。将文件中代码的第二行更改为:

<QNFA language="(La)TeX footnote" extensions="tex;sty;cls;ins;cfg;ltx;lytex;tikz;pdf_tex;ctx" defaultLineMark="">

这可确保您创建一种名为“(La)TeX 脚注”的新语言。然后将以下几行添加到代码中:

  <!-- ========================= FOOTNOTES ====================== -->

    <context id="footnote" format="asymptote:block" transparency="true">
            <start parenthesis="footnote:open" parenthesisWeight="20" format="keyword">\\footnote{</start>
        <stop parenthesis="footnote:close" parenthesisWeight="20" format="keyword">\}</stop>
        <context id="substring" format="asymptote:numbers" transparency="true">
            <start parenthesis="curly2:open">{</start>
            <stop parenthesis="curly2:close">}</stop>
        </context>
        <embed target="(La)TeX footnote" />
    </context>

我把它放在了 下SECTIONS,但我怀疑这没关系。最后打开 TeXstudio,转到视图 -> 突出显示并选择“(La)TeX 脚注”

后面的字符串format决定了脚注的格式。我使用了asymptote:blockasymptote:numbers,因为我从来不用它们,而且你可以在语法高亮菜单中轻松编辑它们。

额外的嵌套<context id="substring"部分可确保脚注中有嵌套命令时格式不会改变。请注意,这仅适用于一层嵌套。因此可以\footnote{\Cite{bibkey} Extra footnote text}按预期工作,但\footnote{\textit{\textbf{text}} additional text}在第二个右括号后将停止工作,并且将显示没有脚注格式的附加文本。如果嵌套命令中确实有嵌套命令,则需要添加第二个嵌套<context id

最后,此行<embed target="(La)TeX footnote" />确保脚注内有关键字匹配。如果您不想要,请删除此行。

我不知道该做什么parenthesisWeighttransparency但是我让它工作了,所以我把它们留在里面。

正如我提到的,它有点粗糙,结果也不像我想要的那样优雅,但它现在可以工作,直到希望添加这个功能。

相关内容