在我的lstlisting
环境中,我想将赋值符号改为箭头而不是=
。我该怎么做?添加不起作用\leftarrow
,因为这样会显示整个单词。
答案1
根据 Jubobs 的要求,这里有一份简单的文档来详细说明这些评论,展示如何\leftarrow
在环境中使用数学文字进行分配lstlistings
。
前言
\documentclass{article}
\usepackage{listings}
\lstset{columns=fullflexible,
mathescape=true,
literate=
{=}{$\leftarrow{}$}{1}
{==}{$={}$}{1},
morekeywords={if,then,else,return}
}
在这里,我们使用来更改文档中\lstset
所有环境的设置。如果愿意,您可以将这些选项放在参数中,作为单独的参数。为了便于演示,我将列设置为,并添加了关键字,因为我没有选择任何语言。该设置将允许我们使用数学模式来排版特殊字符组合。lstlisting
fullflexible
mathescape=true
“文字”列表(注意:列表中的项目之间没有逗号!)告诉listings
如何排版特殊字符组合。这里,赋值(=
)用排版\leftarrow
,相等性测试(==
)用等号符号排版。{}
符号后面的 是fullflexible
列选项中正确间距所必需的:它对 不起作用fixed
。请注意最后一个文字后面、选项之前的逗号morekeywords
。
示例文档
\begin{document}
\begin{lstlisting}
a = 1;
if (a == 0)
then do not panic, Citizen, everything is under control!
else rest easy, Citizen, everything is fine!
return to your daily business!
\end{lstlisting}
\end{document}
输出