我想在工作中显示一些 .ini 文件。ini 文件使用方括号。我尝试使用 \lstdefinelanguage,但我无法处理它。这是我之前尝试过的,据我所知它应该可以工作,但实际上却不行:
\documentclass{article}
\usepackage{color}
\usepackage{listings}
\lstdefinelanguage{Ini}
{
tag=[s][],
tagstyle=\color{blue}\bfseries,
usekeywordsintag=true
}
\lstset{
language=Ini
}
\begin{document}
\begin{lstlisting}
[test]
a=15
b=4
[test1]
c=25
d=5
[test2]
e=50
f=5
\end{lstlisting}
\end{document}
它看起来应该是这样的:
突出关键词背后的背景并不是那么必要,但却是一个很好的噱头。
我不明白的一个问题是 Latex 应该如何处理这种情况:
\begin{lstlisting}[language=Ini]
[test]
a=1
\end{lstlisting}
latex 的属性与内容怎么区别?
答案1
文档listings
(第 44 页)提到,关键标签是特定于语言的(针对 HTML),因此您需要使其适用于您的语言
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\lstdefinelanguage{Ini}
{
basicstyle=\ttfamily\small,
columns=fullflexible,
tag=[s]{[]},
tagstyle=\color{blue}\bfseries,
usekeywordsintag=true
}[html]
\lstset{
language=Ini
}
\begin{document}
\begin{lstlisting}
[test]
a=15
b=4
[test1]
c=25
d=5
[test2]
e=50
f=5
\end{lstlisting}
\end{document}
关于你的最后一个问题,“LaTeX 应该如何处理这种情况”
\begin{lstlisting}[language=Ini]
[test]
a=1
\end{lstlisting}
lstlisting
推迟逐字材料的处理,直到读取了的可选参数lstlisting
。