我在 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 忽略特定环境中的语法高亮?
- 他们遇到了同样的问题,但我不知道如何在 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}
(为什么不使用\newminted
BTW?)
接下来,编写mydefs.cwl
如下文件:
\begin{languagebat}#V
\end{languagebat}
将其放入目录中描述在这里。您可能必须重新启动 TXS 并加载您的文件才能使其工作。
也许一些 TXS 专家可以证实这一点。