如果我导入语义包,减号会在列表中消失

如果我导入语义包,减号会在列表中消失

我正在使用lstlisting包和semantic包。现在,每当我-在列表列表中写入(减号)时,它都会在编译后消失。这是一个最小的例子:

\documentclass{article}

\usepackage{listings}
\usepackage{semantic}

\begin{document}
\begin{lstlisting}
->  
\end{lstlisting}
\end{document}

我该如何修复这个问题?

A类似主题已经存在,但是那里显示的解决方案对我的问题不起作用。

答案1

软件包semantic为某些字符添加了特殊处理。在此示例中,您可以通过以下方式禁用该行为\mathligsoff

\documentclass{article}

\usepackage{listings}
\usepackage{semantic}

\begin{document}
\mathligsoff
\begin{lstlisting}
->
\end{lstlisting}
\mathligson
\end{document}

结果

该命令也可以放入 init 钩子中lstlistings

\documentclass{article}

\usepackage{listings}
\usepackage{semantic}

\makeatletter
\lst@AddToHook{Init}{\mathligsoff}
\makeatother

\begin{document}
\begin{lstlisting}
->  
\end{lstlisting}
$->$ and \lstinline|->|
\end{document}

结果

相关内容