我可以在 \lstinline 参数中使用管道字符吗?

我可以在 \lstinline 参数中使用管道字符吗?

我正在使用 Listings 包,我想问是否可以|\lstinline命令中使用管道字符,因为它使用管道作为开始和结束字符。

\documentclass[]{article}
\usepackage{listings}
\begin{document}
Here's some text and an if-statement: \lstinline|if(a == 5 || b == 3)|. %Not working as lstinline stops after the first character of the 'or'-sign |
\end{document}

谢谢你的帮助!

答案1

来自listings 文档(部分4.2 排版列表):

\lstinline[<key=value list>]<character><source code><same character>

工作原理类似,\verb但尊重活动语言和样式。除非在可选参数中另有要求,否则这些列表使用灵活的列,并且不支持框架或背景颜色。您可以编写 \lstinline!var i:integer;!并获取。由于命令首先查找可选参数,因此如果您想使用as ,var i:integer;则必须至少提供一个空参数。[<character>

因此,只要您使用,<character>就必须使用<same character>来关闭内联列表(实验性的{...}用法除外)。选择与您的内联用法不冲突的任何字符:

在此处输入图片描述

\documentclass{article}
\usepackage{listings}
\lstset{basicstyle=\ttfamily}
\begin{document}
Here's some text and an if-statement: \lstinline!if(a == 5 || b == 3)!.

Or there is \lstinline+if(a != 3 && b !=3 || c != 4)+.
\end{document}

相关内容