Code-Listings in IT Fachbuch

Ich habe schon die Rückmeldung bekommen, dass Listings machbar sind.

Bei Code-Listings gibt es jedoch immer ein großes Problem: Zeilenumbrüche. In einigen Büchern ist es so, dass immer dann, wenn die Zeile aus Platzmangel umgebrochen wurde, ein geschwungener Pfeil erscheint. Dieser signalisiert dem Leser, dass es sich dabei in Wahrheit um eine durchgehende Zeile handelt.

Wie sieht das bei Papyrus aus? Ist das irgendwie automatisiert realisierbar?

Gibt es bisher noch nicht.

Brauchen wir auch mehr Rückmeldungen, ob und wie das erwünscht ist, denn derlei macht ja auch immer das Programm größer und kann bei allen, die das nicht wollen, zu Verwirrung führen.

=> Mal sehen.

Ich fände das sehr nützlich.

Bislang erfasse ich alle Codelistings mit einem Absatzformat “Quelltext” und Shift-Return-Umbrüchen.

Damit die Quelltexte vorab schon so formatiert sind, dass sie in den oft recht schmalen Spalten von Fachmagazinen Platz finden, stelle ich bei TextMate (Ein Programmierer-Editor für Mac) die gewünschte Anzahl Zeichen ein. Dann formatiere ich die Quelltexte manuell. In manchen Fällen kann man aber nicht passend formatieren (manche Programmiersprachen erlauben keinen Zeilenumbruch an der nötigen Stelle). Da wäre ein entsprechendes Umbruchsymbol ganz nett.

Zum arbeiten mit Quelltextbereichen finde ich drei Dinge nützlich:

  1. Automatisch Shift-Return-Umbrüche anstatt eines neuen Absatzes pro Codezeile

  2. Visualisierung von Zeilenumbrüchen

  3. Leichtes aktualisieren des Bereichs durch eine angepasste Variante.

Letzteres ist vielleicht ein wenig unklar. Es kommt häufig vor, dass sich Quellcodebereiche eines Werks (Buch/Artikel) noch ändern. Da ich üblicherweise nicht in Papyrus Programme editiere (sondern beispielsweise in LispWorks, TextMate Emacs oder oXygen XML) aktualisiere ich die Codebereiche hin und wieder. Das ist jedesmal mit unnötigem rumformatieren verbunden. Anders beispielsweise bei Abbildungen - die kann man sehr schön über den Bildkatalog ersetzen. Vielleicht wäre ja so etwas wie ein Textmodul-Katalog eine interessante Sache? Dort könnte man dann eine Quelltextdatei referenzieren und nachdem man den Quelltext im Editor bearbeitet hat, ist in Papyrus die aktuelle Fassung vorhanden.

ciao,

Jochen

Wäre es unter diesem Aspekt nicht sinnvoller, das Buch mit einem programmierbaren Textverarbeitungssystem zu erstellen (z.B. mit TeX)? Anstelle den Beispielcode jedesmal einfügen zu müssen, könntest Du ihn einfach per include-Anweisung einbinden. Und für die automatische Darstellung von Zeilenumbruchzeichen gibt es bestimmt ein passendes LaTeX-Paket.

@glucose

Nein. :wink:

Wieso sollte ich für “gutes Listing-Handling” das “gute Prosa-Handling” opfern? Das wäre ja nur eine Umkehrung des Problems. Wieso Errungenschaften wie Duden Korrektor, Stilprüfung unterschiedliche Formatierungen, eingebettete Bilder (direkt sichtbar) usw. und so fort einfach wegwerfen?

Ich hab nie viel von TeX gehalten - es ist ein überschätztes, grauenhaft entworfenes Fricklerwerkzeug. Fast so schlimm wie DocBook. Wer mit sowas schreibt programmiert womöglich gar mit Assembler, Pascal oder C! :wink:

Ja - ich weiß - unzähliche Diplomarbeiten und wissenschaftliche Papers werden mit (La-)Tex geschrieben und sähen wahrscheinlich angsteinflößend aus, hätten ihre Autoren stattdessen ein gewöhnliches Textverarbeitungsprogramm benutzt. Insofern kann man vielleicht doch auch ein wenig dankbar sein. Trotzdem ist das wohl eher ein Schreiber- als ein Werkzeugproblem.

Ich bin davon überzeugt, dass ein interaktives Textverarbeitungssystem einen beim Schreiben deutlich unterstützen kann. Es muss ja nicht Word sein - das wissen wir ja hier sicherlich besser als so mancher andere.

Tatsächlich bin ich immer noch davon überzeugt, dass Papyrus von einer Skripting-Schnittstelle profitieren würde. Viele Spezialwünsche könnte man als Benutzer so selbst realisieren. Ich bin es einfach gewohnt dass meine (interaktiven) Programme programmierbar sind. Sowohl Emacs als auch TextMate sind programmierbare Texteditoren. oXygen ist ein programmierbarer XML-Editor. LispWorks ist eine vollständig programmierbare Entwicklungsumgebung. Nisus Writer ein programmierbares Textverarbeitungsprogramm. Aperture ein erweiterbares Photo-Bearbeitungsprogramm. Mac OS X lässt sich auch vielfältig skripten und automatisieren.

ciao,

Jochen