让 TeXstudio 语法高亮识别自定义逐字环境

让 TeXstudio 语法高亮识别自定义逐字环境

我使用 TeXstudio 满足几乎所有的 LaTeX 需求。

我有时必须在文档中包含小代码片段,而使用listings包会显得有点过头。因为我希望这些代码片段具有彩色背景(verbatim当然标准环境不支持),所以我使用tcolorboxfancyvrb包定义了一个新环境,正如@egreg在这个优秀的答案

\usepackage{fancyvrb}
\usepackage{tcolorbox}
% ...
\newenvironment{BGVerbatim}
 {\VerbatimEnvironment
  \begin{tcolorbox}[breakable, colback = Dandelion!10!white, spartan, frame hidden, boxrule = 0pt, left = 1ex]%
  \begin{Verbatim}}
 {\end{Verbatim}\end{tcolorbox}}

这可以正常工作,但是如果包含包含$字符的 R 代码,TeXstudio 的语法突出显示就会变得混乱,这在大型文档中尤其成问题,因为数千条后续行可能会像在数学模式下一样被错误地突出显示。

答案1

解决方案是.cwl为 TeXstudio 定义自定义语法高亮提示 ( ) 文件。TeXstudio 手册中有更多信息关于这些文件的格式;这里需要的只是以下内容:

\begin{BGVerbatim}#V
\end{BGVerbatim}#V

它将BGVerbatim环境声明为verbatim-type ( #V)。

这应该被放入一个名为 eg 的文件中CUSTOM.cwl,然后应该放在适当的用户目录中:%APPDATA%\texstudio\completion\user在 Windows、.config/texstudio/completion/userLinux 和其他类 Unix 操作系统上(我认为这包括 MacOS X)。

Options > Configure TeXstudio ...之后,通过选择并导航到选项卡来启用此语法高亮文件Completion

在此处输入图片描述

单击OK;您可能必须重新启动 TeXstudio 才能正确突出显示您的文档(我这样做了)。

这种方法的缺点是,即使BGVerbatim环境未在文档中定义,这种突出显示也将始终处于活动状态,但我认为这在实践中并不相关。

一个更大的缺点是,该解决方案特定于正在编辑文档的计算机;如果文档是共享的,则必须对使用的每台计算机进行相应的配置。遗憾的是,似乎没有办法将 TeXstudio 语法突出显示提示嵌入.tex文件本身(使用某种魔术注释)。

相关内容