在以下示例中,我将listing
的基本样式设置为\itshape
。但是,+
运算符是斜体,括号也是斜体:
\documentclass{article}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstset{basicstyle=\slshape}
\begin{document}
\begin{lstlisting}
abc + (def)
\end{lstlisting}
\end{document}
我怎样才能使用\mathit
字体,并获得直括号和运算符,但又是数学样式的文本?\mathit
当然,使用会抱怨没有处于数学模式。
答案1
一个粗略的解决方法是使用该功能重新定义符号literate
。但它有一些限制:
- 每个直立的符号都需要替换。
- 关键字内的符号...无法识别。
- 倾斜文本和直立文本之间不应用斜体校正。
例子:
\documentclass{article}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstset{
basicstyle=\slshape,
literate=
+{{\textup{+}}}1
({{\textup{(}}}1
){{\textup{)}}}1
}
\begin{document}
\begin{lstlisting}
abc + (def)
\end{lstlisting}
\end{document}