2010-01-22 14 views
60

Was ist der beste Weg, um Python/C++ - Code in ein Lyx-Dokument einzufügen? Der Code ist kleine Beispiele weniger als 20 Zeilen.Programmiercode in ein Lyx-Dokument einfügen

Mein Lyx-Dokument verwendet die Book-Dokumentklasse.

Orjanp

+0

Hier ist eine ähnliche Antwort für JavaScript-Syntax-Hervorhebung: http://stackoverflow.com/questions/10420757/syntax-highlighting-javascript-in-lyx-insert-child-program-listing – acronym

Antwort

52

Es sollte ein Insert sein -> Programm Option Eintrag. Das verwendet listings Latex-Paket, also sollten Sie das installiert haben. Die Unterstützung scheint in Lyx 1.5 hinzugefügt worden zu sein, und von ihrem Screenshot scheint es, dass es Ihnen viele Anpassungsoptionen gibt.

+0

Dank. Ich werde es mir ansehen. – Orjanp

+7

Was ich getan habe, war das. Zuerst habe ich eine , dann eine eingefügt, und am Ende eine . Indem ich eine Kiste um ihn herum habe, kann ich einen sichtbaren Rahmen um den Code herum haben. – Orjanp

+8

Gibt es eine Möglichkeit, Syntax-Highlighting und Zeilennummern zu haben? – Arun

64

Ich bevorzuge es, die Auflistungen als untergeordnetes Dokument einzufügen, so dass der Code direkt aus einer Datei abgerufen wird, die Sie weiter bearbeiten und auf dem neuesten Stand halten können (Sie vermeiden das Duplizieren von Informationen und Wartung ist viel einfacher). Um dies zu tun in Lyx:
Einfügen-> File-> Child Dokument
dann in dem Fenster, das die Art ihn zu programmieren angezeigt werden, ändern Liste und konfigurieren, wie Sie benötigen, zum Beispiel Sie könnten den Parameter eingeben language = Python (Sie können einen eingeben?, um alle Parameter anzuzeigen).
Eine Reihe von Parametern in der Regel ich benutze, ist:

breaklines=true //--> breaks lines to margin 
captionpos=b //--> caption at the bottom of the listing (default is "t") 
frame=tb //--> frame at the top and at the bottom of the listing 
language=Python //--> syntax highlighting for python 
+1

gibt es sowieso, um farbliche Hervorhebung zu bekommen? und reduzieren Sie den Einzug und die Schriftgröße? – waspinator

+0

@waspinator weiß nicht, ob dies hilft: http: //tex.stackexchange.com/questions/28554/is-there-a-way-zu-aktivieren-syntax-highlighting-coloring-in-lyx-für-programm-listing –

+1

Wie kann ich es in der Mitte der Seite mit lyx zentrieren? – kiltek

3

Die Einfügen-> Programmlisting-Funktion funktioniert gut. Ich möchte nur hinzufügen, dass, wenn Sie auf dem Mac sind, und versuchen, direkt einzufügen, mit Befehl + V oder mit der rechten Maustaste + Einfügen, einen Block von Code in die Programmliste, die Leerzeichen nicht beibehalten werden, und Sie müssen manuell Einfügen der Leerzeichen durch Eingabe von Tabs, Returns, etc.

Eine sehr einfache Möglichkeit, dies zu umgehen, ist das Einfügen mit shift + command + V. Dadurch bleiben alle Leerzeichen Ihres ursprünglichen Quellcodes erhalten.

+0

Wie kann ich es in der Mitte der Seite zentrieren? Und kann die Hintergrundfarbe ändern? wie grau. – rld