Posso ter uma barra vertical dentro do argumento de \lstinline?

Posso ter uma barra vertical dentro do argumento de \lstinline?

Estou usando o pacote Listings e queria perguntar se é possível usar a barra vertical |com o \lstinlinecomando, pois ele usa a barra vertical como caractere inicial e final.

\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}

Obrigado por qualquer ajuda!

Responder1

Delistings documentação(seção4.2 Listagens de composição):

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

funciona como, \verbmas respeita a linguagem e o estilo ativos. Essas listagens usam colunas flexíveis, a menos que solicitado de forma diferente no argumento opcional, e não suportam quadros ou cores de fundo. Você pode escrever \lstinline!var i:integer;!e obter var i:integer;. Como o comando primeiro procura um argumento opcional, você deve fornecer pelo menos um argumento vazio se quiser usar [as <character>.

Então, contanto que você use <character>você tem que usar o <same character>para fechar a listagem inline (exceto para o uso experimental {... }). Escolha qualquer caractere que não entre em conflito com seu uso in-line:

insira a descrição da imagem aqui

\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}

informação relacionada