Ich suche einen Editor, um (auf Papier) C ++ - Code zu drucken. Ich bin zurzeit in der Ingenieurschule und der Ausbilder hat uns gebeten, den Code auf Papier einzureichen.
Er möchte Name + Nachname, die Klassennummer (in der Kopfzeile), die Seitenzahl unten und die reservierten Wörter, die für jede Seite fett gedruckt sind!
Unter Windows geht das mit notepadd++
. Aber ich arbeite unter Linux und habe weder eine IDE noch einen Texteditor gefunden, der funktioniert. (Ich habe schon versucht SCITE
, gedit
und Syntaxic
)
Antworten:
Wenn Sie noch einen Schritt weiter gehen möchten, können Sie dies in LaTeX tun und eine professionelle PDF-Datei bereitstellen. Sie haben Ihre Distribution nicht erwähnt, deshalb gebe ich Anweisungen für Debian-basierte Systeme. Die gleiche Grundidee kann jedoch auf jedem Linux ausgeführt werden.
Installieren Sie ein LaTeX-System und die erforderlichen Pakete
Erstellen Sie eine neue Datei (nennen Sie es
report.tex
) mit dem folgenden Inhalt:/path/to/your/code.c
Stellen Sie einfach sicher, dass Sie die vorletzte Zeile so ändern , dass sie auf den tatsächlichen Pfad Ihrer C-Datei zeigt. Wenn Sie mehr als eine Datei hinzufügen möchten, fügen Sie a hinzu\newpage
und dann eine neue\lstinputlisting
für die andere Datei hinzu.Kompiliere ein PDF (dies erzeugt
report.pdf
)Ich habe dies auf meinem System mit einer Beispieldatei getestet, die ich hier gefunden habe, und es wird eine PDF- Datei erstellt, die so aussieht:
Ein umfassenderes Beispiel, das automatisch alle .c-Dateien im Zielordner findet und eine indizierte PDF-Datei mit jeder Datei in einem separaten Abschnitt erstellt, finden Sie in meiner Antwort hier .
quelle
Normalerweise würde ich ein Enskript verwenden: so etwas wie
Dies wird ein Anfang sein - dies schreibt die Postscript-Ausgabe an
output.ps
, sodass Sie diese in der Vorschau anzeigen und überschreiben können, während Sie an der Konfiguration basteln, und sie dann ausdrucken können, wenn Sie zufrieden sind. In der Manpage finden Sie ausführlichere Optionen.EDIT , um die Fußzeile richtig arbeiten zu lassen, ist ein bisschen schmerzhaft - ich hatte es nie bemerkt, weil ich es nie benötigt habe. Wenn Sie diese Datei in speichern
~/.enscript/so.hdr
(Sie müssen wahrscheinlich das Verzeichnis erstellen), erhalten Sie tatsächlich die erforderliche Ausgabe mitgeben
Grob,
:hardcopy
Befehl von vim ist einfach, aber nicht so flexibelquelle
emscript
. Es hat viele Optionen und gibt sehr gute Ergebnisse.Sie können den
:TOhtml
Befehl in vim verwenden. Dadurch wird das, was Sie sehen (dh Syntaxhervorhebung), als HTML dargestellt. Von dort aus funktioniert ein Webbrowser, der als PDF-Datei gedruckt werden kann, da Sie normalerweise den Inhalt der Kopf- / Fußzeile anpassen können.Dies ähnelt wahrscheinlich dem
:hardcopy
von Useless erwähnten Befehl, aber ich kann mein System derzeit nicht überprüfen.Eine andere Möglichkeit ist das Drucken aus QtCreator, es scheint jedoch keine Möglichkeit zu geben, die Kopf- / Fußzeilen festzulegen.
quelle
Geany ist eine einfache IDE, die Ihnen viele Optionen für den Inhalt des Headers bietet.
Reservierte Wörter können im Optionsmenü bearbeitet werden, aber die Code-Hervorhebung bewirkt dies für den Notepad ++ - Stil. (Möglicherweise müssen Sie die Farbschemata in Ihren Ordner "/home/$USER_NAME/.config/geany/colorschemes/" kopieren / herunterladen, um die gewünschte zu erhalten.)
Sehr einfach und persönlich mag ich wirklich die Zeilennummern und das Format, das es druckt.
Auch Geany läuft unter Windows und Linux.
quelle
Da fragst du nach einem Editor , können Sie direkt von Emacs aus mit drucken
ps-print-buffer
.Die Kopf- und Fußzeilen werden in der Gruppe Anpassen aufgerufen
ps-print-headers
.Angenommen, Sie verwenden die Schriftsperre, haben Sie wahrscheinlich die erforderliche Syntaxhervorhebung. Sie kann bei Bedarf mit der Taste eingestellt werden
ps-extend-face
Funktion werden.Dennoch würde ich empfehlen, dass Sie ein geeignetes Schleifwerkzeug wie a2ps, enscript oder LaTeX + -Auflistungen verwenden.
quelle
Der Vollständigkeit halber und obwohl ich diese Lösung nicht empfehlen würde, die
lp
Programm über eine-o prettyprint
Option, mit der Syntaxhervorhebungen durchgeführt werden können.Sie können es zum Beispiel so verwenden:
Hier habe ich die
-t
(title) -Option verwendet, um den Header zu setzen. Ich kann die Fußzeile zwar nicht ändern (aber die Seitenzahl wird oben angezeigt). Sie können den Dateityp mit der Option festlegen-o document-format
(die Liste der zulässigen Werte sollte in/usr/share/cups/mime/mime.types
oder möglicherweise in sein/etc/cups/mime/mime.types
), aber wenn Ihre Datei die richtige Erweiterung hat, sollte dies nicht erforderlich sein. Auch die Syntaxhervorhebung ist alles andere als perfekt.quelle
Du brauchst nur LibreOffice Writer .
Fügen Sie Ihren C / C ++ - Code ein.
Finde die Worte und mach das Mutige alle C ++ - Schlüsselwörter .
Sie finden sie hier: http://en.cppreference.com/w/cpp/keyword
So suchen Sie ein Wort Drücken Sie Strg + F. Wählen Sie "Groß- / Kleinschreibung" und klicken Sie auf "Alle suchen" (siehe Abbildung).
Danach benötigen Sie eine Kopf- und Fußzeile mit Ihrem Namen und Ihrer Seitenzahl.
EDIT: ( Christophe Strobbe kommentiert :)
Es gibt eine LibreOffice-Erweiterung zum Einfärben von Code: Code Colorizer Formatter . (Ich habe es noch nicht getestet.)
quelle
Ich habe Nedit verwendet, als ich vor vielen Jahren auf einem Solaris-System war, da ich eine GUI-Oberfläche mochte. Ich sehe, dass es immer noch da ist. Hör zu.
quelle
In der Vergangenheit, als KDE3 noch eine große Sache war, habe ich Kate für einen Texteditor verwendet, der wirklich die beste Ausgabe produziert. Heute würde ich mit Latex nach einer besser einbettbaren Lösung mit dem Paket lstlisting suchen. Dieses Paket ist nicht für die Farbausgabe gedacht, aber auf einem Laserdrucker sind Farben kein Vorteil.
quelle