%3F.png)
Ich wollte eine Art Shell-Transkript-Sprachstil in den Auflistungen haben, bei dem die Shell-Eingabeaufforderung und die eigentlichen Befehle hervorgehoben werden und der restliche Text etwas „gedämpfter“ ist.
Das Beste, was ich derzeit erreichen konnte, ist, den grundlegenden Stil als „stummgeschaltet“/„ausgeblendet“/„ausgegraut“ zu definieren und dann mein Shell-Prompt-Zeichen (hier $
) als einzelnes Kommentartrennzeichen zu behandeln und den verbleibenden Kommentar komplett in Schwarz und fett darzustellen:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstdefinelanguage{ShellTranscript}
{sensitive=false,
morecomment=[l][\color{black}\bfseries]{ \$ },
basicstyle=\ttfamily\footnotesize\color{black!70},
}
\begin{document}
Here we go:
\begin{lstlisting}[language=ShellTranscript]
user@box:~ $ ls /usr/
bin games include lib local man sbin share src
user@box:~ $ ls /var/
backups cache lib local lock log mail opt run spool swap tmp
user@box:~ $ echo 'be careful of $ in there!'
be careful of $ in there!
\end{lstlisting}
\end{document}
Die Ausgabe ist folgende:
Was ich jedoch wirklich möchte, ist Folgendes:
Das heißt: Nur das Kommentartrennzeichen (also nur das Eingabeaufforderungszeichen $
) sollte rot und nicht fett sein; der nachfolgende Text (der eigentliche Befehl) sollte schwarz und fett sein; der verbleibende Text wie die Ausgabe sollte stumm/grau sein – und $
im „Ausgabetext“ sollte NICHT formatiert sein (was wahrscheinlich bedeutet, dass man, um einen „Kommentar“ zu deklarieren, prüfen muss, ob die Zeile mit einem beginnt user@box
und eins enthält $
, und dies dann, wenn dies der Fall ist, $
als Kommentartrennzeichen verwenden muss).
Kann dies mit Inseraten erreicht werden – und wenn ja, wie?
Antwort1
Sie können die Lösung von @matexmatics anpassen vonhttps://tex.stackexchange.com/a/706145/36296so was:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[T1]{fontenc}
\usepackage{beramono}
\colorlet{dollarcol}{red}
\lstdefinelanguage{ShellTranscript}
{sensitive=false,
basicstyle=\ttfamily\footnotesize\color{black!30},
moredelim=[s][\colorlet{dollarcol}{red}]{user@box:~},
moredelim=**[il][\textcolor{dollarcol}{\$}\color{black}\bfseries\colorlet{dollarcol}{black}]{\$}
}
\begin{document}
Here we go:
\begin{lstlisting}[language=ShellTranscript]
user@box:~ $ ls /usr/
bin games include lib local man sbin share src
user@box:~ $ ls /var/
backups cache lib local lock log mail opt run spool swap tmp
user@box:~ $ echo 'be careful of $ in there!'
be careful of $ in there!
\end{lstlisting}
\end{document}