我使用 TeXstudio 满足几乎所有的 LaTeX 需求。
我有时必须在文档中包含小代码片段,而使用listings
包会显得有点过头。因为我希望这些代码片段具有彩色背景(verbatim
当然标准环境不支持),所以我使用tcolorbox
和fancyvrb
包定义了一个新环境,正如@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/user
Linux 和其他类 Unix 操作系统上(我认为这包括 MacOS X)。
Options > Configure TeXstudio ...
之后,通过选择并导航到选项卡来启用此语法高亮文件Completion
:
单击OK
;您可能必须重新启动 TeXstudio 才能正确突出显示您的文档(我这样做了)。
这种方法的缺点是,即使BGVerbatim
环境未在文档中定义,这种突出显示也将始终处于活动状态,但我认为这在实践中并不相关。
一个更大的缺点是,该解决方案特定于正在编辑文档的计算机;如果文档是共享的,则必须对使用的每台计算机进行相应的配置。遗憾的是,似乎没有办法将 TeXstudio 语法突出显示提示嵌入.tex
文件本身(使用某种魔术注释)。