Tabulatorgröße und automatische Einrückung ändern (Paket: lists/minted)

Tabulatorgröße und automatische Einrückung ändern (Paket: lists/minted)

Ich verwende die Pakete listingsfür mintedmeine 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 ifund 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:

Bildbeschreibung hier eingeben

verwandte Informationen