\itshape 与 \textit 的关系相当于 ?? 与 \mathit? 的关系

\itshape 与 \textit 的关系相当于 ?? 与 \mathit? 的关系

在以下示例中,我将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}

结果

相关内容