在数学方程式中插入语法高亮的代码

在数学方程式中插入语法高亮的代码

我正在使用一些数学函数符号来表达关系代数,其中我想使用特定的函数语言(例如 OCaml)来表达谓词。

\[\sigma_{\begin{lstlisting}[language=[Objective]Caml]
 fun x -> x > 0
\end{lstlisting}}(R)\]

返回错误:

  1. 缺少 \endgroup 插入
  2. 显示数学运算应以 $$ 结尾

有没有办法可以安全地包装我想要用特定语言高亮语法的代码部分?

答案1

除了使用\lstinline来获取内联模式排版之外,您还需要将\lstinline{...}指令包裹在\text{...}包装器中,以启用 的功能\bfseries

在此处输入图片描述

\documentclass{article}
\usepackage{listings,amsmath}

\begin{document}
$\sigma_{\text{\lstinline[language={[Objective]Caml}]{fun x -> x > 0}}}(R)$
\end{document}

答案2

我通过使用环境解决了我的\lstinline问题lstlisting

相关内容