Можно ли использовать символ вертикальной черты внутри аргумента \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;!и получить 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}

Связанный контент