別のリストエスケープシーケンスを定義する方法はありますか?

別のリストエスケープシーケンスを定義する方法はありますか?

MWE:

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstset{
  basicstyle=\small\sffamily,
  frame=tb,
  columns=fullflexible,
  escapeinside={`}{`},
  escapebegin={\color{darkgray}\textlangle},
  escapeend={\textrangle}
}
\begin{document}
\begin{lstlisting}
`what`
\end{lstlisting}
\end{document}

エスケープシーケンス`コード内のプレースホルダー値をスタイル設定するという特定のユースケースを想定しています (例: )。

もっと一般的な用途のために別のエスケープ シーケンスを用意したいのですが、これを実現する方法はありますか?

答え1

いいえ、それは不可能だと思います。リストごとに許可されるエスケープ シーケンスのペアは 1 つだけです。

代わりに、さまざまなタスクのマクロを定義することもできます。

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}

\lstset{
  basicstyle=\small\sffamily,
  frame=tb,
  columns=fullflexible,
  escapeinside={`}{`},
}
\NewDocumentCommand{\AAA}{m}{\textcolor{darkgray}{\textlangle #1\textrangle}}
\NewDocumentCommand{\BBB}{m}{\textcolor{red!80}{\textnormal{\textbf{#1}}}}


\begin{document}

\begin{lstlisting}
xyz `\AAA{what}` uvw
abc `\BBB{where}` def
\end{lstlisting}

\end{document}

ここに画像の説明を入力してください

関連情報