¿Puedo tener un carácter de barra vertical dentro del argumento de \lstinline?

¿Puedo tener un carácter de barra vertical dentro del argumento de \lstinline?

Estoy usando el paquete Listings y quería preguntar si es posible usar el carácter de barra vertical |con el \lstinlinecomando, ya que usa la barra vertical como carácter inicial y 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}

¡Gracias por cualquier ayuda!

Respuesta1

Desde ellistings documentación(sección4.2 Listados tipográficos):

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

Funciona igual \verbpero respeta el lenguaje y estilo activo. Estos listados utilizan columnas flexibles a menos que se solicite lo contrario en el argumento opcional y no admiten marcos ni colores de fondo. Puedes escribir \lstinline!var i:integer;!y obtener var i:integer;. Dado que el comando primero busca un argumento opcional, debe proporcionar al menos uno vacío si desea utilizar [as <character>.

Entonces, siempre que use, <character>debe usar <same character>para cerrar la lista en línea (excepto para el uso experimental {... }). Elija el carácter que no entre en conflicto con su uso en línea:

ingrese la descripción de la imagen aquí

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

información relacionada