定义一个基于 lstlisting 的命令,可在文本的普通行中使用。

定义一个基于 lstlisting 的命令,可在文本的普通行中使用。

有没有办法定义一个 1 参数的命令(我们可以称之为“\likelisting”),让我们能够使用 lstlisting 继承一些已定义的东西。例如,使用代码

      \begin{lstlisting}
      int main(void)
      \end{lstlisting}

给我这个输出:

在此处输入图片描述

有没有办法

        some text \likelisting{int main (void)} some text

并有输出

在此处输入图片描述

但具有与 lstlisting 完全相同的风格(因此使用与 lstlisting 相同的灰色突出显示?

答案1

这是由listings\lstinline宏。您可以\lstinline直接使用,也可以创建别名:

在此处输入图片描述

\documentclass{article}

\usepackage{listings,xcolor}

\lstset{
  language=c,
  basicstyle=\ttfamily,
  keywordstyle=\color{blue}
}
\newcommand{\likelisting}{\lstinline}

\setlength{\parindent}{0pt}% Just for this example

\begin{document}

Some text
\begin{lstlisting}
int main(void)
\end{lstlisting}

some text \likelisting{int main(void)} some text

some text \likelisting[keywordstyle={\color{red}}]{int main(void)} some text

\end{document}

相关内容