Einfügen von Programmcode in LaTex / LyX

Einfügen von Programmcode in LaTex / LyX

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 listingsPaket, eine reine Latex-Lösung des Problems.

mintedist abgeleitet vonPygmente, ein in Python geschriebener Quelltext-Highlighter. mintedkommt mit einer Latex-Brücke, basierend auf \write18, undDas texmentsPaketstellt einen für Pygments bereit. mintedMir 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“).

verwandte Informationen