TeXstudio:从 verbatim 环境扩展的新环境中的字体锁定(禁用语法高亮)出现错误

TeXstudio:从 verbatim 环境扩展的新环境中的字体锁定(禁用语法高亮)出现错误

我在 Windows 8.1 上使用 TeXstudio 2.11,在新环境中使用数学符号时出现语法高亮问题:

我的代码:

\documentclass{book}

\usepackage{verbatim}
\usepackage{minted}

\newenvironment{languagebat}{\VerbatimEnvironment\minted[
    frame=single, 
    xleftmargin=0mm, 
    numbersep=5pt, 
    autogobble, 
    breaklines,  
    breakanywhere, 
    breaklines, 
    framesep=2mm, 
    rulecolor=black!30, 
    bgcolor=black!3, 
    linenos=false, 
    startinline, 
    tabsize=4
    ]{bat}}{\endminted}

\begin{document}

    \begin{languagebat}
        $ git rm --cached giant_file
    \end{languagebat}

\end{document}

编辑器中的结果:

在此处输入图片描述

我认为languagebat环境从逐字环境正确延伸,并且应该可以正常工作。

问题似乎出在环境$中的符号上languagebat,TeXstudio 认为我输入了一些尚未以结束$符号结尾的数学代码。有没有办法告诉 TeXstudio 忽略特定环境中的语法高亮?


答案1

买家须知:我不是 TXS 用户

Emacs 是您在另一条回答中提到的编辑器,它可以解析 .tex 文件并动态将新定义的命令/环境添加到其完成列表中。我认为 TXS 没有此功能,因此您必须编写自己的 .cwl 文件。我理解的方式是您必须将minted相关(和其他?)代码放在 .sty 文件中,mydefs.sty例如

\ProvidesPackage{mydefs}[2016/11/13 Package mydefs]
\RequirePackage{minted}
\newenvironment{languagebat}{\VerbatimEnvironment\minted[
    frame=single, 
    % ...
    ]{bat}}{\endminted}

并在你的序言中使用它\usepackage{mydefs}(为什么不使用\newmintedBTW?)

接下来,编写mydefs.cwl如下文件:

\begin{languagebat}#V
\end{languagebat}

将其放入目录中描述在这里。您可能必须重新启动 TXS 并加载您的文件才能使其工作。

也许一些 TXS 专家可以证实这一点。

相关内容