背景
我正在尝试使用 listings (lst) 包定义一种样式/语言,用于对 Restructured Text (rst) 进行 linting。这主要是为了我所做的一些笔记,但如果我能得到一些有用的东西,我会将语言定义提交给 listings 维护者。
问题
重组文本语法并不完全适合 linter,因为rst:comments
.. This is a comment in ReStructured Text
并rst:directives
以类似的方式开始
.. DIRECTIVE :: OPTIONAL ARGUMENT
:ATTRIBUTE: VALUE
This illustrates a directive in ReStructured Text
似乎rst:directives
可能映射到lst:directives
,但如果失败,它们就可以映射到lst:keywords
。
家庭作业
上市文件暗示存在上市发展文档可以查看,但任何编译/打开此文档的尝试都失败了,texdoc --view listings-develop
提示没有这样的文档。从*.dtx
文档构建这个文档似乎也失败了。
我已经阅读了有关“超级对撞机”支持的一些问题,但对其理解程度尚不足以适应重组文本。
工作示例
我提供了一个最小的工作示例来展示我目前所取得的成果,但我不确定如何从这里继续。
\documentclass{standalone}
\usepackage{xcolor}
\usepackage{listings}
\lstdefinelanguage{RsT}
{
directives={example, Example, EXAMPLE},
delim=*[directive]{..\ },
directivestyle=\color{red}\underbar,
}[
keywords,
directives,
comments,
]
\begin{document}
\begin{lstlisting}[language=RsT]
.. example :: ./path/to/file.ext
:align: center
:width: 50%
.. Example :: ../path/to/file.ext
.. comment
..EXAMPLE::Some text
\end{lstlisting}
\end{document}