我用它Kile
来编辑我的 LaTeX 文档。我定义了自己的自定义环境来突出显示 LaTeX 代码,lstLaTeX
代码如下:
\documentclass[a4paper]{scrartcl}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[latin1]{inputenc}
\usepackage[ngerman,english]{babel}
\usepackage{listings}
\definecolor{lightgrey}{rgb}{0.9,0.9,0.9}
\definecolor{darkgreen}{rgb}{0,0.6,0}
\lstnewenvironment{lstLaTeX}
{
\lstset{language=[LaTeX]TeX,
keepspaces=true,
texcsstyle=*\bf\color{blue},
basicstyle=\ttfamily,
numbers=none,
breaklines=true,
keywordstyle=\color{darkgreen},
commentstyle=\color{red},
morekeywords={},
otherkeywords={$, \{, \}, \[, \]},
frame=none,
tabsize=2,
columns=fullflexible,
backgroundcolor=\color{lightgrey},
escapechar=°
}
}
{}
\begin{document}
The actual document.
Here some LaTeX code:
\begin{lstLaTeX}
Brackets should be {\bf highlighted}.
The dollar sign: $x=5$
\end{lstLaTeX}
\end{document}
问题是 Kile 无法处理序言中的单个美元符号,并将所有后续文本标记为绿色(因为它认为应该有一个数学环境)。
我已经阅读了如何教 Kile 在自定义环境中使用时忽略美元符号:禁用 kile 中的语法高亮 但这篇文章并不能解决我的问题。
所以如果我可以告诉 Kile 忽略这个美元符号就好了。我已经尝试%$
在行末添加一个美元符号,但 Kile 忽略了它。
答案1
otherkeywords={$, $, \{, \}, \[, \]},
似乎有效。重复似乎不会在编译时造成任何问题,这让 Kile 很高兴。
编辑
例如,如果使用$
with ,就会出现类似的问题,但无法以相同的方式解决。l3regex
以下函数
\cs_new_protected_nopar:Nn \prefix_gobble_token:n
{
\relax
}
允许$
匹配,通过添加限制突出损坏到违规令牌的附近
\cfr_gobble_token:n { $ }
靠近。
但是,我不知道这是否安全......