typstage

0.2.0

Animated HTML talks and a PDF handout from one source.

Den Vortrag halten#

Alles, was zwischen dem Öffnen der Datei und der letzten Folie geschieht, das zweite Fenster eingeschlossen.

Die Tasten#

Die Laufzeitumgebung zählt in Schritten, nicht in Folien: Eine Folie mit drei automatischen Einblendungen hat vier Schritte, und → geht zum nächsten – gleich ob der auf derselben oder auf der nächsten Folie liegt.

TasteWirkung
→, Bild ab, Leertasteeinen Schritt weiter
←, Bild aufeinen Schritt zurück
Pos 1zum ersten Schritt, ohne Bewegung
Endezum letzten Schritt, ohne Bewegung
o, EscÜbersicht aller Folien ein- und ausschalten
fVollbild
ndie Sprecheransicht in einem zweiten Fenster öffnen
1 bis 9, 0die Klassenuhr für so viele Minuten, 0 beendet sie; auf einer Folie mit cue-Gruppe rufen die Ziffern deren Punkte
die Klangtasten des Decksspielen ihren Klang im Saal, siehe „Ein Klang auf einer Taste„
?eine Zeile mit den wichtigsten Tasten einblenden; die Klangtasten des Decks stehen in der Tastenleiste der Sprecheransicht

Ein Klick in das linke Viertel des Fensters blättert zurück, jeder andere vorwärts; in einem eingebetteten Element bleibt der Klick bei diesem.

In der Übersicht ist eine Kachel zweigeteilt. Die oberen zwei Drittel gehören der Folie: ein Klick dort führt zu ihrem ersten Schritt. Im unteren Drittel liegt ein Feld je Schritt – Überfahren zeigt den Schritt in der Kachel, Klicken springt genau dorthin. Die Marken stehen dort immer, nicht erst beim Überfahren: wer an den Anfang der Folie will, sieht vorher, wohin er nicht zielen darf. Eine Folie ohne Aufdecken hat nichts zu wählen und bekommt deshalb keine Felder.

Die Adresszeile trägt den laufenden Schritt mit, #12 etwa den zwölften. Ein neu geladenes Fenster steht damit wieder an derselben Stelle, und eine von Hand geänderte Nummer springt dorthin.

Ein Rahmen, der den Fokus hat#

Wer eine Einbettung anklickt, gibt ihr den Fokus, und von da an landet jede Taste darin. Die Tasten des Vortrags werden ihm deshalb aus dem Rahmen zurückgereicht – aber nur, wenn das Dokument sie nicht schon genommen hat, wenn der Vortrag sie überhaupt benutzt und wenn nicht in ein Textfeld getippt wird. Alles andere, Entf etwa, bleibt beim Rahmen.

Auf Telefon und Tablet#

Ein Tippen blättert, in denselben zwei Hälften wie ein Klick. Ein Wisch blättert in der natürlichen Richtung: Der Finger schiebt die Folie nach links hinaus, also kommt die nächste. Senkrechtes Wischen und zwei Finger bleiben beim Browser – das eine ist Rollen, das andere Zoomen.

Die Sprecheransicht#

n öffnet dieselbe Datei ein zweites Mal in einem zweiten Fenster, mit #speaker an der Adresse: eines für den Beamer, eines für den Vortragenden. Beide reden miteinander, auch als lokale Dateien ohne Server.

Oben steht die laufende Folie über die ganze Breite, darunter die Notiz und neben ihr der nächste Schritt, darunter eine Zeile aus vier kleinen Kacheln:

Kachelwas darin steht
verstrichendie Zeit seit dem ersten Tastendruck, darunter klein die Uhrzeit an der Wand
FolieFolie / Folien, darunter Schritt / Schritte, am Fuß der Fortschrittsbalken
Ziel (min)die geplante Dauer – d geht hinein –, darunter Rest und Plan, sobald eine gesetzt ist
Klassenuhrdie Uhr, die im Saal an der Wand steht; t startet sie
nächster Schrittdie Vorschau: was der nächste Tastendruck tut

Die Naht zwischen Folie und Notiz ist ein Griff: nach unten gezogen gibt er der Folie mehr Platz, nach oben der Notiz. Die Tabulatortaste erreicht ihn; dann schieben ihn die Pfeiltasten um 16 Pixel, mit Umschalt um 64, Pos1 und Ende stellen ihn an die Anschläge, und ein Doppelklick oder Eingabe stellt ihn zurück. Ein Neuladen behält die Teilung. Ein weiterer Griff zwischen Notiz und Vorschau regelt deren Breitenverhältnis; es bleibt beim Ändern der Folienhöhe und beim Vergrößern des Fensters erhalten. h oder der ?-Knopf blendet die Tastenleiste aus und ein; speaker-view: (shortcuts: false) blendet sie beim Start aus. Video und Audio haben im Presenter Wiedergabeknöpfe und Zeitregler. Ein Deck ohne Notizen hat nichts zu teilen und bekommt keinen Griff.

Unter den Kacheln die Werkzeugzeile – Stift, Zeiger und Radierer, die vier Farben, Zurücknehmen und Löschen, hell oder dunkel –, darunter die Tastenleiste mit allen Tasten der Ansicht, am Ende die Klangtasten des Decks. Der Zustand des Saals – schwarz, eingefroren, kein Vortragsfenster – steht oben rechts in der Folienkachel.

Die Tasten der Ansicht, die ? dort auch selbst zeigt:

TasteWirkung
← →ein Schritt; Pos1 Ende zum ersten oder letzten
↑ ↓die Notiz rollen
odie Übersicht
bden Saal schwarz schalten
edas Bild im Saal auf diesem Schritt einfrieren
ndas Vortragsfenster nach vorn holen
1…9so viele Minuten als Uhr auf der Folie; 0 beendet sie
tdie Klassenuhr, im Saal als Vollbild
⇧tdieselbe Uhr, aber auf der Folie statt über ihr
⇧← ⇧→eine Minute weniger oder mehr, während eine Uhr läuft
ddie Zieldauer in Minuten
rden Stundenzähler auf null zurücksetzen
mzwischen Stift und Zeiger umschalten
cdie nächste Zeichenfarbe
zden letzten Strich zurücknehmen
xdie Striche dieser Folie löschen
⇧Lhell oder dunkel, nur für die Ansicht
hdie Tastenleiste ein- oder ausblenden
kVideo und Audio pausieren oder fortsetzen
j lzehn Sekunden zurück oder vor
+ -die Größe der Notiz
fVollbild
?diese Tabelle, in der Ansicht

Auf der laufenden Folie lässt sich zeichnen und zeigen; die Striche erscheinen auf der Leinwand und bleiben an ihrer Folie kleben. x löscht sie, z nimmt den letzten Strich zurück, c wechselt die Farbe. b schaltet den Saal schwarz, e friert das Bild auf der Leinwand ein, während man bei sich weiterblättert. m schaltet zwischen Stift und Zeiger um.

Achtung

Die Striche werden nicht mitgedruckt: die Druckansicht ist der saubere Foliensatz, nicht das Tafelbild.

Schwarz und Einfrieren enden von selbst, sobald das Sprecherfenster geschlossen wird. Bleibt es offen und trägt nur kein Deck mehr, dauert das bis zu einer Minute.

Der Zeiger#

Was der Zeiger tut, ist zeigen: die Maus über die Folienkopie in der Sprecheransicht bewegen, und an derselben Stelle der Leinwand steht ein Leuchtpunkt. Schweben genügt – keine Taste, kein Knopf. Der Punkt trägt die Akzentfarbe des Decks bei 2,2 % der Folienbreite, und er reist als Bruchteil der Bühne: das kleine Fenster vor einem und die große Leinwand dahinter sind sich darüber einig, wo er steht.

Er geht aus, wenn man die Folienkopie verlässt, wenn das Fenster den Fokus verliert, wenn man zum Stift greift, und beim Folienwechsel. Einen Schrittwechsel übersteht er: wer auf einen Begriff zeigt und dabei die nächste Zeile aufdeckt, meint weiter denselben Begriff. Loslassen parkt ihn, wo er steht – ein stehengelassener Punkt ist eine Absicht und kein Versehen, und eine Handbewegung von der Bühne herunter nimmt ihn.

Hinweis
Was der Punkt nicht tut, ist eine Spur ziehen. Was auf der Folie bleiben soll, gehört dem Stift, und der ist genau eine Taste entfernt.

Derselbe Modus kann ein Zweites, und das ist das Ältere: ein Druck auf einen eingebetteten Rahmen landet drüben im Vortragsfenster, in dessen Kopie desselben Rahmens. Druck, Zug, Loslassen und Rad reisen in Bruchteilen der Bühne, beide Fenster treffen also dieselbe Stelle des Dokuments. Bloßes Schweben greift nicht in einen Rahmen hinein – auf etwas zeigen ist nicht dasselbe wie es bedienen –, und der Punkt steht dabei mit auf dem Rahmen. Das ist gewollt: die Klasse soll sehen, wo die Hand gleich ansetzt.

Wo sich das eingebettete Dokument spiegeln kann, wie ein GeoGebra-Applet, wird das lebende vor einem bedient und die projizierte Kopie zieht nach. Über einem solchen Rahmen bleibt der Punkt aus: er nimmt den Zeiger für sich, und die Bühne sieht die Bewegung dann gar nicht.

Was die Ansicht zeigen soll#

Eine Kachel, mit der niemand arbeitet, nimmt Platz, der der Notiz fehlt. speaker-view bestellt ab, was nicht gebraucht wird; was dort nicht steht, bleibt an:

#show: presentation.with(speaker-view: (
  clock: false,                             // keine Klassenuhr
  target: false,                            // keine geplante Dauer
  pen: (colors: (red, green, rgb("#FF99DD"))),   // eigene Stiftfarben
))

tools: false nimmt die Werkzeugzeile weg. Eine abbestellte Kachel nimmt ihre Tasten mit: mit clock: false tun t und ⇧t nichts mehr. Die Stiftfarben sind Typst-Farben, keine Zeichenketten, und es dürfen mehr oder weniger als vier sein.

Hell oder dunkel#

Die Ansicht folgt der Systemeinstellung des Rechners, an dem sie steht (prefers-color-scheme); l widerspricht ihr, und die Wahl übersteht ein Neuladen. An der Palette des Decks hängt sie nicht: die sagt, wie die Wand aussieht, nicht das Pult vor dem Vortragenden.

Eine Uhr, die die Klasse sieht#

t fragt nach einer Zahl in Minuten, und danach steht auf der Leinwand nichts als eine Uhr: weiße mm:ss-Ziffern auf Schwarz, aus der letzten Reihe zu lesen. Sie ersetzt die Folie und ist für die Minuten gedacht, in denen die Klasse etwas tut und nicht zuhört.

TasteWirkung
tnach Minuten fragen; Eingabe startet, Esc lässt es
t (während sie läuft)Uhr beenden, Folie wieder da
⇧→, ⇧←eine Minute mehr oder weniger, auch während sie läuft
→ (oder jede andere Blättertaste)beendet sie und deckt die Folie auf

Bei null hört sie nicht auf, sondern geht auf +00:01 weiter; die Ziffern nehmen die Signalfarbe an, und über ihnen erscheint das Wort „Überzeit„.

Achtung
t, wenn sonst nichts an der Wand steht. Keine Uhr, solange Sie reden – eine Uhr neben einem Satz zieht den Blick den ganzen Vortrag lang.
Hinweis
Fällt das Sprecherfenster weg, hebt der Vortrag die Uhr von selbst auf. Ein Neuladen des Vortragsfensters bringt sie zurück – weiter, nicht von vorn.

Weniger Bewegung#

Wer im Betriebssystem „Bewegung reduzieren“ eingeschaltet hat, bekommt ein ruhigeres Deck. Die Laufzeit fragt prefers-reduced-motion: reduce bei jedem Schritt neu ab; einzustellen gibt es dafür nichts. Die Regel lautet: Deckkraft bleibt, Ortsveränderung fällt weg.

WasWas daraus wird
Einblendungenfade-up, fade-down, fade-left, fade-right, scale, scale-down, rise und blur werden zur schlichten Überblendung. fade und none bleiben, wie sie sind. duration und delay ändern sich nicht.
enter: "draw"Die Feder hält still, die Blende bleibt.
FolienübergängeJede Art außer none wird zur Überblendung, in derselben transition-duration. none bleibt der harte Schnitt.
Magic MoveFällt aus. Es fliegt nichts, und die Folie wechselt so, wie sie es ohne Morph täte.
DaumenkinoSteht auf einem Bild still: ohne loop und ohne pingpong auf dem letzten, mit loop oder pingpong auf dem ersten. still gilt dabei nicht – das Bild fürs Papier steht gar nicht in der HTML.
sceneSpringt von Halt zu Halt. Die Zwischenbilder liegen weiter in der Datei, werden aber nicht gezeigt.
after: "dimmed"Bleibt. Ein Punkt, der zurücktritt, ändert seine Deckkraft und rührt sich nicht von der Stelle.
Fortschrittsbalken der SprecheransichtSpringt auf seine neue Breite, statt hinzugleiten.

Zwei Dinge bleiben unangetastet. Video ist Inhalt, keine Verzierung; wer nicht will, dass es von selbst anläuft, schreibt autoplay: false. Und in eingebettete Dokumente greift die Laufzeit nicht hinein. Die Einstellung erreicht sie trotzdem: Auch dort ist matchMedia("(prefers-reduced-motion: reduce)").matches wahr. Wer dort etwas animiert, schreibt seine eigene @media-Regel.

Hinweis
Es gibt keinen Schalter, mit dem ein Deck die Einstellung überstimmt. Wo eine Bewegung wirklich das Argument trägt, gehört sie zusätzlich in Worte – die liest auch, wer sie nicht laufen sieht.