Hallo allerseits,
Ich hoffe, das passt für hierhin. Ich bin mir nicht ganz sicher, wo der beste Thread hierfür wäre.
Dafür, dass ich so gut wie täglich mit LaTeX zu tun habe, kenne ich mich erstaunlich wenig damit aus. Vorgestern fiel ich aus allen Wolken, als ich herausfand, dass man damit interaktive PDFs erstellen kann. Soll heißen, dass man durch Anklicken gewisser Felder gewisse Textbereiche (oder auch Bilder und Ähnliches) ein- und ausblenden kann. Die Möglichkeiten, die sich dadurch für digitale Fan-Legenden ergeben, sind immens!
Erst recht, wenn ohnehin bereits Legenden in LaTeX geschrieben werden (irgendwann komme ich auch noch dazu, mich da reinzuarbeiten
).
So verbrachte ich die letzten Abende teils damit, ein kurzes Proof of Concept zusammenzustellen:
- Code: Alles auswählen
\documentclass{article}
\usepackage[german]{babel}
\usepackage{hyperref}
\usepackage{ocgx2}
\usepackage{tikz}
\usepackage{xstring}
\parindent=0pt
\title{Proof of Concept}
\author{Baer, B.-B.}
\date{\today}
\begin{document}
\maketitle
% definiere einen Counter, der jeweils die maximale Anzahl Zeilen in einem gelayerten Block zählt
\newcounter{maxzeilen}
% definiere die verschiedenen Layer, ihre internen Abkürzungen und ob sie am Anfang sichtbar sind ({1} oder {0})
\begin{ocg}{zwei Heldentafeln}{tafeln:zwei}{0}\end{ocg}
\begin{ocg}{drei Heldentafeln}{tafeln:drei}{0}\end{ocg}
\begin{ocg}{vier oder mehr Heldentafeln}{tafeln:vier}{0}\end{ocg}
\begin{ocg}{beliebig viele Heldenanzahlen}{tafeln:alle}{1}\end{ocg}
\begin{ocg}{gendern}{gendern:ja}{1}\end{ocg}
\begin{ocg}{generisches Maskulinum}{gendern:nein}{0}\end{ocg}
\begin{ocg}{leichter spielen}{grad:leichter}{0}\end{ocg}
\begin{ocg}{normal spielen}{grad:normal}{1}\end{ocg}
\begin{ocg}{schwerer spielen}{grad:schwerer}{0}\end{ocg}
% definiere einen Befehl, der verschiedene Optionen auswertet
\def \purr#1{%
\setcounter{maxzeilen}{0}%
\foreach \tafeln in {tafeln:zwei,tafeln:drei,tafeln:vier,tafeln:alle}{%
\foreach \gendern in {gendern:ja,gendern:nein}{%
\foreach \schwierigkeitsgrad in {grad:leichter,grad:normal,grad:schwerer}{%
\begin{ocmd}{\And{\tafeln,\gendern,\schwierigkeitsgrad}}%
{#1}
\end{ocmd}
\ifnum \prevgraf>\themaxzeilen%
\setcounter{maxzeilen}{\prevgraf}
\else%
\fi%
\vspace{\dimexpr\parskip-\prevgraf\baselineskip}%
}%
}%
}%
\vspace{\dimexpr\parskip+\themaxzeilen\baselineskip}%
}%
% definiere Befehle, mit denen wir verschiedene Optionen im Text angeben können
\newcommand{\zahl}[3]{%
\IfEqCase{\tafeln}{%
{tafeln:zwei}{#1 }%
{tafeln:drei}{#2 }%
{tafeln:vier}{#3 }%
{tafeln:alle}{#1/#2/#3 }%
}%
}%
\newcommand{\gend}[2]{%
\IfEqCase{\gendern}{%
{gendern:ja}{#1 }%
{gendern:nein}{#2 }%
}%
}%
\newcommand{\grad}[3]{%
\IfEqCase{\schwierigkeitsgrad}{%
{grad:leichter}{#1 }%
{grad:normal}{#2 }%
{grad:schwerer}{#3 }%
}%
}%
% Links zum Layer-Wechseln, direkt in den Text integriert
[\actionsocg{}{tafeln:zwei}{tafeln:drei,tafeln:vier,tafeln:alle}{2}/\actionsocg{}{tafeln:drei}{tafeln:vier,tafeln:alle,tafeln:zwei}{3}/\actionsocg{}{tafeln:vier}{tafeln:alle,tafeln:zwei,tafeln:drei}{4+}/\actionsocg{}{tafeln:alle}{tafeln:zwei,tafeln:drei,tafeln:vier}{beliebig viele}] [\actionsocg{}{gendern:ja}{gendern:nein}{Held:innen}/\actionsocg{}{gendern:nein}{gendern:ja}{Helden}] spielen [\actionsocg{}{grad:leichter}{grad:normal,grad:schwerer}{leichter}/\actionsocg{}{grad:normal}{grad:schwerer,grad:leichter}{normal}/\actionsocg{}{grad:schwerer}{grad:leichter,grad:normal}{schwerer}].
% Erster Test, ob es funktioniert
\purr{Eure Wahl: \zahl{2}{3}{4+} \gend{Held:innen}{Helden} spielen \grad{leichter.}{normal.}{schwerer.}}
% Weitere Beispiele
\vspace{12pt}
\textit{Die Optionen können einzeln genutzt werden:}
\purr{Kentar hat \zahl{10}{20}{30} Stärkepunkte und wirft im Kampf \zahl{1}{2}{3} Würfel.}
\purr{\gend{Jede Held:in}{Jeder Held} beginnt mit 2 Stärkepunkten.}
\purr{Stellt jetzt 1 \grad{Gor}{Skral}{Troll} auf Feld 18.}
\vspace{12pt}
\textit{Die Optionen lassen sich beliebig miteinander kombinieren:}
\purr{Da ihr auf \grad{leichterem}{normalem}{schwererem} Schwierigkeitsgrad spielt, ist der Trank der Hexe \grad{1 Gold billiger.}{gleich teuer wie immer.}{1 Gold teurer.} \gend{Die Bogenschütz:in}{Der Bogenschütze} zahlt also \grad{\zahl{1}{2}{3}}{\zahl{2}{3}{4}}{\zahl{3}{4}{5}} Gold pro Trank\grad{,}{ (was genau der Anzahl \gend{Held:innen}{Helden} entspricht),}{,} alle anderen \gend{Held:innen}{Helden} je \grad{\zahl{2}{3}{4}}{\zahl{3}{4}{5}}{\zahl{4}{5}{6}} Gold\grad{ – was genau der Anzahl \gend{Held:innen}{Helden} entspricht!}{.}{.}}
\vspace{12pt}
\textit{Wenn gewisse Abschnitte nur bei gewissen Optionen vorkommen (z.B. nur beim Schwerer Spielen), wird genug Platz dafür gelassen:}
\purr{Erwürfelt jetzt die Position von 1 Wardrak. \grad{}{}{Da ihr schwerer spielen wollt, läuft dieser Wardrak sofort 1 Feld entlang der Pfeile, es sei denn, jede\gend{ Held:in}{r Held} gibt sofort \zahl{4}{3}{2} Willenspunkte ab.}}
\vspace{12pt}
\purr{\textit{Dies ist aber nur ein erster Test. Zum Beispiel beißen sich aktuell die Bedürfnisse nach einer möglichst kurzen gemeinsamen Anzeige für 2/3/4+ \gend{Held:innen}{Helden} und nach stets korrekter Grammatik:}}
\purr{An der Rietburg stehen \zahl{3}{2}{1} goldene Schilde zur Verfügung.}
\purr{An der Rietburg stehen \zahl{3 goldene Schilde}{2 goldene Schilde}{1 goldener Schild} zur Verfügung.}
\vspace{12pt}
\textit{Und natürlich könnte man so Entscheide innerhalb einer Legende regeln:}
Unterstützt ihr die \actionsocg{zdf}{}{zdt}{Zauberer des Feuers} oder die \actionsocg{zdt}{}{zdf}{Zauberer des Eisernen Turms}?
\begin{ocg}{Feuer!}{zdf}{0}Dann lest weiter auf der Karte \textbf{Die Magischen Waffen gehören euch!}\end{ocg}
\vspace{-12pt}
\begin{ocg}{Turm!}{zdt}{0}Dann lest weiter auf der Karte \textbf{Orweyn wäre stolz auf euch!}\end{ocg}
\end{document}
Es ist leider nicht so toll wie gehofft, weil dieses Ein- und Ausblenden von Layers nicht in allen Browsern und PDF-Viewern funktioniert. In manchen, z.B. Firefox, kann man das Dokument perfekt öffnen und nach Belieben modifizieren (sogar mit einem extra Tool am Rande, um einzelne Layers direk anzuwählen). Andere, z.B. Safari, zeigen nur ein unverständliches Kauderwelsch aller Layers gleichzeitig an.
Da ich mich nicht damit auskenne, lässt sich das vermutlich noch gehörig optimieren. Ich befürchte jedoch, dass immer eine gewisse Inkompatibilität mit vielen Viewern übrig bleiben will. Und wenn man die wirklich einzigartigen Möglichkeiten solcher interaktiver PDFs legendenentscheidend machen will – ich denke da an versteckte Legendenkarten, die man z.B. über einen Code oder ein Rätsel freischalten kann; heldenspezifische Storytext-Dialoge vor dem Endkampf; Vorderseiten-Bilder, die sich im Legendenverlauf ändern, um mehr Informationen freizugeben – (man könnte sich gar eine Art digitaler Escape-Room-Fan-Legende à la Inka und Markus Brands wundervollen Exit-Spielen vorstellen) –, muss man quasi von allen Andori verlangen, dass sie das Ding digital und in einem optimal funktionierenden Browser/Viewer spielen, was das Zielpublikum schon einschränkt.
Letzten Endes bleibt es vielleicht nur bei dieser einen Seite. Dennoch existiert hier Potential für wahrlich einzigartige digitale Fan-Legenden, und ich fände es schade, nie davon erzählt zu haben. Wer weiß, manchmal werden alte Ideen Jahre später nochmal entdeckt und aufgegriffen.
LG BBB
PS: Hier noch die Liste der Browser/Viewer, die ich ausprobiert habe. Bin gespannt, ob die sich bei euch ähnlich verhalten und welche ich übersehen habe.
Unbrauchbar (zeigt mehrere Layers gleichzeitig an, sodass man keines mehr lesen kann):
– Preview
– PDF Expert (Gratisversion)
– Safari
Semi-brauchbar (zeigt die Start-Layers korrekt an, lässt sich aber nicht modifizieren):
– Brave Browser
– Google Chrome
– Overleaf
Optimal (zeigt die Start-Layers korrekt an und lässt sich modifizieren):
– Adobe Acrobat Reader (Gratisversion)
– Firefox