
Vielleicht bin ich einfach nur schwer zu verstehen, aber ich finde keine sinnvolle Möglichkeit, meinen (Python-)Code einfach in Latex einzufügen, ohne alle Einrückungsinformationen (ziemlich wichtig für Python) zu verlieren.
Hat jemand eine gute Idee? Ich mache mir keine Sorgen um die Syntaxhervorhebung. Ich möchte nur meine Tabulatortaste zurück!
Antwort1
Meine Lieblingsumgebung hierfürgeprägt. Ich verwende es zur Eingabe ganzer Quelldateien wie:
\inputminted[linenos,fontsize=\scriptsize]{python}{script.py}
Sie können es auch ohne Eingabe einer Datei verwenden und, was noch wichtiger ist, definieren, wie viel Einzug esverschlingteinmal eingefügt:
\newminted{python}{gobble=4,linenos,fontsize=\scriptsize}
\begin{pythoncode}
print('I am a Python script')
\end{pythoncode}
Auf diese Weise ist Ihr LaTeX immer noch schön eingerückt, Ihr wörtlicher Code jedoch nicht. Dies bietet auch eine Syntaxhervorhebung, an der Sie, wie ich weiß, nicht interessiert waren. Definieren Sie die Sprache einfach nicht.
Antwort2
Sie möchten die Verbatim-Umgebung verwenden:http://web.mit.edu/vogt/www/latex/ltx-79.html
Wenn das Problem sofort beim Einfügen auftritt ... verwenden Sie eine IDE zum Erstellen des Dokuments? Versuchen Sie, die Datei einfach in einem einfachen Texteditor wie Gedit oder Notepad zu öffnen.
Antwort3
Ich würde mit gehen minted
, wie fideli vorgeschlagen hat, aber es ist gut, sich dessen bewusst zu seinDas listings
Paket, eine reine Latex-Lösung des Problems.
minted
ist abgeleitet vonPygmente, ein in Python geschriebener Quelltext-Highlighter. minted
kommt mit einer Latex-Brücke, basierend auf \write18
, undDas texments
Paketstellt einen für Pygments bereit. minted
Mir sind keine Nachteile gegenüber Pygments bekannt: Vielleicht werden die beiden irgendwann zusammengeführt.
Antwort4
Für LyX sieheDas(importiert ein untergeordnetes Dokument im Format „Auflistung“).