![Можно ли использовать символ вертикальной черты внутри аргумента \lstinline?](https://rvso.com/image/305771/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BB%D0%B8%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%20%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9%20%D1%87%D0%B5%D1%80%D1%82%D1%8B%20%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8%20%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%20%5Clstinline%3F.png)
Я использую пакет 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}