Files
LehrerApp/docs/Templating-Layoutformat-3.md

2.8 KiB

Templating-Layoutformat 3

Layoutformat 3 trennt feste Seitengestaltung von fortlaufendem Dokumentinhalt.

Grundaufbau

PAGE 210 297 mm
#pragma format-version 3

#pragma page-template first
IMG briefkopf.png 0 0 210 55
#pragma flow-slot body x=20 y=90 w=170 h=175
#pragma end-page-template

#pragma page-template continuation
IMG folgeseite.png 0 0 210 25
#pragma flow-slot body x=20 y=30 w=170 h=235
#pragma end-page-template

#pragma content-flow body
TEXTBOX $Brieftext size=11 overflow=continue
TEXT "Mit freundlichen Grüßen" gap=8 keep-with-next=true
TEXT $LehrerName gap=3 italic=true
#pragma end-content-flow

Seitentypen

  • first ist verpflichtend und gestaltet die erste Seite.
  • continuation gestaltet alle Folgeseiten. Fehlt dieser Typ, wird first wiederholt.
  • Elemente innerhalb eines page-template sind absolut positioniert und beeinflussen den Textfluss nicht.
  • Jede Seitenvorlage beschreibt ausschließlich ihre eigenen Elemente und Slots.

Flow-Slots und Content-Flows

Ein flow-slot definiert eine Bounding Box innerhalb einer Seitenvorlage. Ein gleichnamiger content-flow liefert den fortlaufenden Inhalt. Ist continuation vorhanden, benötigt jeder Content-Flow auf first und continuation einen gleichnamigen Slot.

Elemente in einem Content-Flow werden ohne X/Y-Koordinaten angegeben:

TEXT "Absatz" size=11 gap=4
TEXTBOX $MehrzeiligerText size=11 overflow=continue
TABLE $Zeilen size=9
CHART $Werte type=bar h=50
IMG unterschrift.png w=45 h=18
  • gap ist der Abstand zum Vorgänger in der Seiteneinheit.
  • keep-with-next=true hält das Element nach Möglichkeit mit seinem Nachfolger zusammen.
  • Text und Tabellen dürfen automatisch auf Folgeseiten weiterlaufen.

Designer

Der Tab Seiten & Flows verwaltet Seitentypen, Content-Flows und Flow-Slots. Der visuelle Editor zeigt den Slot des gewählten Seitentyps violett gestrichelt an. Er kann wie ein anderes Element verschoben und skaliert werden. Die Vorschauseiten-Auswahl zeigt alle tatsächlich aus den Beispieldaten erzeugten Dokumentseiten; Seitentyp anzeigen rendert stattdessen die feste Gestaltung der gewählten Seitenvorlage.

Beim Öffnen eines alten absoluten Layouts bettet der Designer dessen Elemente unverändert in den Seitentyp first ein und ergänzt leere body-Slots sowie einen leeren Content-Flow. Erst beim anschließenden Speichern wird das migrierte Layout in das Paket geschrieben.

Aktuelle Grenzen

Die erste Renderer-Ausbaustufe unterstützt einen mit Inhalt gefüllten, paginierenden Content-Flow. Weitere Slots und leere Flows können bereits gestaltet werden. Beim primären Flow müssen X-Position und Breite auf erster und Folgeseite noch identisch sein; Y-Position und Höhe dürfen sich unterscheiden. Diese Einschränkung wird beim Rendern mit einer verständlichen Fehlermeldung geprüft.