RELAX NG Tutorial und Asciidoctor

»Wenn du etwas lernen möchtest, halte einen Vortrag drüber« war ein Tipp eines Freundes. Nun nutze ich schon seit Jahren die XML Schemasprache RELAX NG, mit RELAX NG ist auch das Schema für das Layoutregelwerk des Publishers definiert, doch ich hatte nie das Gefühl, die Sprache vollständig verstanden zu haben. Um die Sprache mal endlich ganz zu verstehen, habe ich zwar keinen Vortrag gehalten, aber ein Tutorial geschrieben. Dies ist als HTML und als EPUB verfügbar und die Asciidoctor-Quellen sind auf der Entwicklerseite.

PDF und ISO-Normen

Kürzlich ist die Version 2.0 von PDF erschienen. Die PDF-Branche feiert das natürlich mit zahlreichen Artikeln rund um die Neuerungen bei dem neuen Standard, siehe z.B. die Seite bei pdflib.com. Grund zur Freude? Sicherlich, aber einen etwas schalen Geschmack hat die Sache meiner Meinung nach. PDF und freie Standards Früher™, in den guten alten Zeiten, war es so, dass die Spezifikation von PDF frei verfügbar war. Es gab zwar ein paar Startschwierigkeiten, aber das ist laaaange her.

speedata Publisher Version 3

Endlich habe ich wieder ein »Major-Release« veröffentlicht. Es ist Zeit für einen kurzen Rückblick Wenn man von Version 2.0 ausgeht, sind seit dem ziemlich genau drei Jahre vergangen, in denen es 4 Minor Releases und ca. 150 Patch Releases gab. Das ist durchschnittlich eine Version pro Woche, wobei es natürlich Phasen unterschiedlicher Intensität gab. Interessanterweise kamen bei mir nie Beschwerden aufgrund von Abwärtskompatibilität an, obwohl es kleine inkompatible Änderungen gab (die Betreffen das Cursor-Verhalten bei Objekten, die an den rechten Rand reichen.) Insofern kann ich die umfangreiche Datenbank mit Testfällen als Erfolg ansehen.

ZUGFeRD

Immer wieder erreichen mich Anfragen von Auftraggebern, wo ich kurz grübeln und ausprobieren muss, ob die mit dem Publisher umsetzbar sind. Kürzlich hatte ich eine Anfrage zu elektronischen Rechnungen. ZUGFeRD (Zentraler User Guide des Forums elektronische Rechnung Deutschland) ist ein Dateiformat für elektronische Rechnungen. Es wird vermutlich nur in Deutschland verwendet, dafür aber recht häufig. Das Dateiformat besteht aus einer XML-Datei die in eine PDF-Datei eingebettet wird, insofern gibt es hier zwei getrennte »Baustellen«.

Versionen 2.9.13 und 2.9.14

Heute habe ich nach etwas Ruhe zwei neue Versionen hochgeladen. Die Neuerungen kann ich für ein aktuelles Kundenprojekt gut gebrauchen. In XML eingebettete Bilder Die Daten in einem aktuellen Kundenprojekt werden aus einer SQL-Datenbank extrahiert und in XML gewandelt. Zu den Daten gehören auch Bilddaten, die als BLOB ebenfalls in der Datenbank liegen. Nun ist die Frage: wie kommen die Bilder in das PDF? Eine Möglichkeit ist, die Bilder im Dateisystem zu speichern und den Dateinamen in das XML zu speichern.

Feature der Woche / Handbuch / Neue Version: 2.9.11

Nach 41 Folgen in der Reihe »Feature der Woche« wird es in diesem Blog etwas andere Schwerpunkte geben. Ich bin zwar mit den Features noch nicht am Ende, aber ich denke, dass ich alle grundlegenden Eigenschaften beschrieben habe. Daher höre ich erst einmal mit der Serie auf. Handbuch Derzeit habe ich (neben dem normalen Projektgeschäft, mit dem ich mein Geld verdiene) eine größere Baustelle: das Handbuch wird komplett überarbeitet. Es ist zu 95% fertig, als PDF kommt es auf immerhin schon 300 Seiten.

Feature der Woche, die vollständige Liste

Diese Beiträge sind im Rahmen der Reihe »Feature der Woche« erschienen. Frame / Rahmen um Objekte Wiederholender Tabellenkopf und -Fuß (1) Wiederholender Tabellenkopf und -Fuß (2) Seitentypen Datenverarbeitung Mehrseitige PDF-Dateien einbinden Virtuelle Seiten Raster Absatzform Seitenverhältnis von Bildern Seitenzahlen (1) Seitenzahlen (2, Marker) Silbentrennung Schriftarten einbinden Qualitätssicherung Textauszeichnung in Daten Fehlersuche Bilder einbinden Dateiorganisation Beschnittmarken Hintergrund in Tabellenzellen Tabellen mit Übertrag Platzierung von Objekten Gruppen Griffmarken Output oder PlaceObject QRCode

Feature der Woche: Gruppen in Tabellen

Diese Ausgabe kommt gerade noch rechtzeitig, um »Feature der Woche« genannt zu werden. Diejenigen, die ein wenig Erfahrung mit dem Publisher haben, kennen die virtuellen Flächen oder Gruppen (<Group>). Diese wurden in einer früheren Ausgabe schon thematisiert. Kurz: auf diese beliebig vergrößerbaren Flächen kann man Objekte wie auf einer Seite platzieren, aber ohne, dass sie im PDF erscheinen. Anschließend kann die Gruppen ausmessen und ggf. verwerfen oder in die PDF-Datei ausgeben.

Feature der Woche: Layoutregelwerke in einzelne Dateien teilen

Ein kurzes, aber sehr praktisches Feature diese Woche.

Man kann das Layoutregelwerk in mehrere Dateien aufteilen. Es gibt zwei Möglichkeiten, die Dateien zusammenzuführen. Auf der Kommandozeile kann man mit --extra-xml eine oder mehrere Layoutregelwerke angeben, die zusätzlich eingelesen werden. Alternativ dazu kann man den Mechanismus über XInclude benutzen, hier im Fall einer Fontdefinition:

LuaTeX, Module und TeXlive 2017

Heute schreibe ich über eine Sache, die nicht unmittelbar mit dem Publisher zu tun hat. LuaTeX kann seit langem C-Module (.so) zur Laufzeit hinzulinken. In der Version kommenden Version 2017 von TeXlive funktioniert das nun auch für Mac OS X. Unter Linux geht das schon länger und unter Windows vermutlich auch (wer mag das testen?). Dieses Feature werde ich in einer zukünftigen Version des Publishers nutzen. Ein Beispiel, das ich schon mal vor längerer Zeit auf tex.stackexchange.com gepostet hatte, wiederhole ich hier.