带有 lualatex 的 mlmodern 包将列表中的单引号更改为反引号。如何修复此问题?

带有 lualatex 的 mlmodern 包将列表中的单引号更改为反引号。如何修复此问题?

我喜欢使用\usepackage{mlmodern},但我注意到它'在列表中发生了变化。有什么可以告诉它不要这样做吗?我使用 lualatex。

这是 MWE

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{mlmodern}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=Mathematica,basicstyle=\ttfamily\small]
DSolve[y'[x]==(x+y[x])^(1/2),y[x],x]
\end{lstlisting}
\end{document}

输出 PDF 显示此内容

在此处输入图片描述

编译时不mlmodern给出

在此处输入图片描述

第一个版本的问题在于,现在无法按原样复制和粘贴代码,因为它不再有效。它应该保留,'而不是反引用

Linux 上的 TL 2022。

更新:

pdflatex 也存在同样的问题。但是使用 pdflatex 时,无论是否使用,mlmodern都会变成反引号。

答案1

阅读手册会有所帮助。

在此处输入图片描述

事实上,这一提法textcomp已经过时了。

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{mlmodern}
\usepackage{listings}

\lstset{upquote}

\begin{document}

\begin{lstlisting}[language=Mathematica,basicstyle=\ttfamily\small]
DSolve[y'[x]==(x+y[x])^(1/2),y[x],x]
\end{lstlisting}

\end{document}

在此处输入图片描述

我不建议将 LuaLaTeX 原封不动地用于非 OpenType 格式的字体。此外,术语是错误的:您的输出中没有反引号,而是收盘报价

mlmodern顺便说一句,这是我使用 LuaLaTeX在不设置 的情况下得到的输出upquote

在此处输入图片描述

所以有些事你没说。

相关内容