怎么用LaTeX排版代码时将减号改成文本模式? 财富值10

2019-08-19 16:46发布

[图]我排版代码时,减号(U+002D)总为数学样式,我想将它改为文本样式,怎么办?这是我的代码\documentclass{article} \usepackage{listings} \usepacka...

我排版代码时,减号(U+002D)总为数学样式,我想将它改为文本样式,怎么办?

这是我的代码

\documentclass{article}
\usepackage{listings}
\usepackage{fontspec}
\newfontfamily\ubuntu{Ubuntu Mono}

\begin{document}
\begin{lstlisting}[language=C++,numbers=left,basicstyle=\ubuntu]
#include
int main() {
    int x = 0;
    for(int i = 100; i > 0; i--) x++;
    return 0;
}
\end{lstlisting}
\end{document}

结果排出来是这样的

image.png

而我想改成这样

image.png


当我将 Ubuntu Mono 换成 Consolas 等其他本地等宽字体时,减号也是数学样式的,不知道怎么改。


Note:我不想更改全局等宽字体(不使用 setmonofont 命令)。

3条回答
registor
2019-08-19 19:38

用minted宏包或listings宏包排版代码比较合适。

一周热门 更多>