我想更改脚注和引文中的文本在 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:block
和asymptote:numbers
,因为我从来不用它们,而且你可以在语法高亮菜单中轻松编辑它们。
额外的嵌套<context id="substring"
部分可确保脚注中有嵌套命令时格式不会改变。请注意,这仅适用于一层嵌套。因此可以\footnote{\Cite{bibkey} Extra footnote text}
按预期工作,但\footnote{\textit{\textbf{text}} additional text}
在第二个右括号后将停止工作,并且将显示没有脚注格式的附加文本。如果嵌套命令中确实有嵌套命令,则需要添加第二个嵌套<context id
。
最后,此行<embed target="(La)TeX footnote" />
确保脚注内有关键字匹配。如果您不想要,请删除此行。
我不知道该做什么parenthesisWeight
,transparency
但是我让它工作了,所以我把它们留在里面。
正如我提到的,它有点粗糙,结果也不像我想要的那样优雅,但它现在可以工作,直到希望添加这个功能。