Vielleicht bin ich einfach nur dick, aber ich kann keinen vernünftigen Weg finden, meinen (Python-) Code einfach in Latex einzufügen, ohne alle Einzugsinformationen zu verlieren (irgendwie wichtig für Python).
Hat jemand eine gute Idee? Ich mache mir keine Sorgen über das Hervorheben der Syntax. Alles was ich will ist meine Tabulatortaste zurück!
Meine Lieblingsumgebung für dieses Stück . Ich benutze es, um ganze Quelldateien einzugeben, wie zum Beispiel:
\inputminted[linenos,fontsize=\scriptsize]
Sie können sie auch ohne Eingabe einer Datei verwenden und, noch wichtiger, definieren, wie viel Einzug nach dem Einfügen verschlungen wird :
\newminted \begin print('I am a Python script') \end
Auf diese Weise ist Ihr LaTeX immer noch gut eingerückt, Ihr wortwörtlicher Code jedoch nicht. Dies bietet auch Syntax-Highlighting, von dem Sie wissen, dass Sie nicht interessiert waren. Definieren Sie einfach nicht die Sprache.
Wenn das Problem sofort beim Einfügen auftritt ... verwenden Sie eine IDE, um das Dokument zu erstellen? Versuchen Sie, die Datei in einem einfachen Texteditor wie gedit oder notepad zu öffnen.
2
Charles Stewart
Ich würde gehen mit minted, wie Fideli vorgeschlagen, aber es ist gut, sich bewusst zu sein, das listingsPaket, das eine reine Latex - Lösung ist das Problem ot.
mintedwird von Pygments abgeleitet, einem in Python geschriebenen Quellmarker . mintedcoimes mit einer Latexbrücke, basierend auf \write18, und das texmentsPaket enthält eine für Pygments. Es gibt keinen Nachteil im mintedVergleich zu Pygments, von denen ich weiß: Vielleicht werden die beiden irgendwann zusammengeführt.
1
RolKau
Um das Listings-Paket verwenden zu können, müssen Sie das Paket einfügen und die erforderlichen Sprachen in die Präambel laden:
\usepackage \lstloadlanguages
Legen Sie einige Optionen im Dokument fest:
\lstset
... und dann können Sie entweder Inline-Schnipsel geben:
\begin print ("Hello, World!") \end
... oder lesen Sie sie aus einer Datei:
\lstinputlisting[firstline=10,lastline=20]
... oder schreiben Sie den Code inline: \lstinline!print ("Hello, World!")!
1
Sparkler
Informationen zu LyX finden Sie hier (importiert ein untergeordnetes Dokument im Format "Listing").