标题说明了一切,下面举一个例子:
\lstset{
mathescape=true,
basicstyle = \sffamily
}
\begin{lstlisting}
func($x_0$)
\end{lstlisting}
在哪里以及如何将此处使用的数学字体设置为无衬线斜体?
答案1
\documentclass[a4paper]{article}
\DeclareMathVersion{sans}
\SetSymbolFont{operators}{sans}{OT1}{cmbr}{m}{n}
\SetSymbolFont{letters} {sans}{OML}{cmbrm}{m}{it}
\SetSymbolFont{symbols} {sans}{OMS}{cmbrs}{m}{n}
\usepackage{listings}
\lstnewenvironment{sflisting}[1][]
{\lstset{#1}\mathversion{sans}}{}
\begin{document}
\lstset{
mathescape=true,
basicstyle = \sffamily
}
\begin{sflisting}[caption=Function]
func($x_0$)
\end{sflisting}
\end{document}
这使用了 CMBright 字体,它们与 CM Sans 基本兼容。
答案2
\documentclass[a4paper]{article}
\usepackage{sansmath}
\usepackage{listings}
\lstnewenvironment{sflisting}[1][]
{\lstset{mathescape,basicstyle=\sffamily,#1}\sansmath}
{}
\begin{document}
\begin{sflisting}[caption=Function]
func($\frac1x \mathrm{d}x$)
\end{sflisting}
\end{document}