Ich verwende die Pakete listings
für minted
meine Syntaxhervorhebung in LaTeX.
Mein Problem ist, dass mein Einzug viel zu groß ist (normaler Tabulator) und ich kein Leerzeichen verwenden möchte. Kann man hier die Tabulatorgröße ändern? So etwas wie tabsize=2 funktioniert nicht.
Und ist es möglich, meinen Programmcode automatisch einzurücken? Ich meine, dass dieses listings
(oder jedes andere Paket) if-Anweisungen usw. erkennt und meinen gesamten Code automatisch einrückt.
Hier ist ein kurzes Beispiel:
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
\end{minted}
\end{document}
Die if-Anweisung sollte ungefähr so aussehen:
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
Antwort1
Sie können einige optionale Argumente für Ihre minted
-Umgebung verwenden. Ich habe [obeytabs=true,tabsize=2]
Ihrem Beispiel auch Tabstopps für den if
und else
-Block hinzugefügt. Bitte schauen Sie sich die Einrückung in der Eingabedatei und in der Ausgabe genau an.
Bitte lesen Sie dieHandbuch des minted
-Paketsinsbesondere der Hinweis zur obeyetabs
-Option.
(Wenn Ihnen diese Antwort nicht zusagt, müssen Sie einen anderen Pretty Printer (vielleicht ein SED-Skript) verwenden, um Ihren Code in das gewünschte Aussehen zu bringen, bevor Sie ihn in LaTeX einspeisen und minted
. Ich kenne kein LaTeX-Paket, das Ihren Originalcode formatieren und in ein Prettyprint umwandeln könnte.)
Hinweis: Ich musste die Tabulatoren meiner Eingabedatei TeX.SE zuliebe durch Leerzeichen ersetzen, damit das Aussehen meiner Eingabedatei ähnelt.
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}[obeytabs=true,tabsize=2]{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
fi
\end{minted}
\end{document}
Dies ist das Ergebnis: