对 lstinline 使用单一颜色

对 lstinline 使用单一颜色

我有以下内容:

\newcommand*{\code}{\lstinline}

它(正确地)将代码显示为黑色,关键字显示为蓝色。但是,我想全部内联代码以不同的颜色(棕色/红色)显示。我该如何实现这一点?

请注意我不能重新定义\code为如下所示:

\newcommand{\code}[1]{\lstinline{#1}}

这是因为这个问题,其中我有包含反斜杠的内联代码片段。我开始寻求使用的解决方案\color,但考虑到上述限制,我无法弄清楚如何做到这一点。

答案1

您随时可以将特定listing样式添加到可选参数中lstinline

\newcommand*{\code}{\lstinline[keywordstyle=\color{brown}, basicstyle=\color{brown}]}

在这种情况下,当您需要其他列表设置时,您必须定义另一个命令。

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}

\newcommand*{\code}{\lstinline[keywordstyle=\color{brown}, basicstyle=\color{brown}]}

\newcommand*{\codered}{\lstinline[keywordstyle=\color{red}, basicstyle=\color{green}]}

\lstset{
    language=C,
    keywordstyle=\color{blue}
    }

\begin{document}

\lstinline{for (i=0; i<5; i++) if (i==0)}

\code{for (i=0; i<5; i++) if (i==0)}

\codered{for (i=0; i<5; i++) if (i==0)}

\end{document}

在此处输入图片描述

相关内容