Seite 1 von 1

Spielereien dramatist-Package mit color

Verfasst: Fr 5. Dez 2014, 01:36
von Fuchspower
Ich schreibe derzeit mit dem dramatist-Package ein Theaterskript für eine Schülergruppe und da ich zu viel Freizeit habe, habe ich ein wenig mit Farben herumgespielt. Erstes Ziel war, die Namen farblich hervorzuheben. Das hat auch ohne Probleme funktioniert.

Nun wollte ich jedoch einen Schritt weitergehen und den Text farblich umrahmen - jeder Darsteller hat also seine Farbe und findet auf Anhieb seinen Einsatz im Skript.

Aber mal weniger Gelaber, mehr zu meiner Umsetzung:
\documentclass[12pt,a4paper,oneside]{memoir}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{dramatist}
\usepackage[usenames,dvipsnames]{xcolor}

\renewcommand{\casttitlename}{Personen\"ubersicht}
\renewcommand{\actname}{Akt}
\renewcommand{\scenename}{Szene}
\renewcommand{\printscenenum}{\scenenumfont \theact.\thescene \intersep}

%-------------------------------------------------------------------------------------------------------------

% Hier werden die Charaktere eingef\"uhrt. Beschreibungen bitte entsprechend erg\"anzen!

\Character[Herr Mustermann]{Max}{maxc}

\newcommand{\max}[1]{\maxc \colorbox{Red}{#1}}
\newcommand{\maxname}{\maxcname} %Szenen werden importiert, gibt eine SW-Version

%-------------------------------------------------------------------------------------------------------------
\begin{document}
\setcounter{page}{0}
\thispagestyle{empty}
\DramPer

\act

\scene[Einleitung]

\begin{stagedir}
	Beschreibung. \maxname ist nicht zu sehen.
\end{stagedir}

\begin{drama}
	\max \direct{Betritt Bühne} Ich kann sprechen
\end{drama}

\end{document}
Soweit so gut. Jedoch wirft mir LaTeX einen Fehler an der Stelle \direct aus: Es sei ein } zu viel und später ein } zu wenig. Ich gehe mal davon aus, dass sich da Formatierungen nicht verstehen.

Würde mich interessieren, ob es da elegantere (aka funktionierende) Lösungen gibt. Wenn sich da nichts lösen lässt, ohne komplett an den Formatierungen rumzuspielen, kann ich auch ohne leben - es ist und bleibt ja eine Rumspielerei :)

Grüße, Fuchspower

Verfasst: Fr 5. Dez 2014, 09:30
von u_fischer
Es sollte dir eigentlich schon einen Fehler bei dem \newcommand\max ausgeben. Außerdem heißt es laut Doku von dramatist nicht \maxcname sondern \maxcspeaks.

Und wenn du \max als Befehl mit Argument definierst, dann musst du es auch mit Argument aufrufen.

Da die Texte ja wahrscheinlich länger als eine Zeile werden können, ist colorbox außerdem der falsche Befehl. Dort ist kein Zeilenumbruch möglich. Ich würde tcolorbox nutzen.
\documentclass[12pt,a4paper,oneside]{memoir}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{dramatist}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tcolorbox}
\renewcommand{\casttitlename}{Personen\"ubersicht}
\renewcommand{\actname}{Akt}
\renewcommand{\scenename}{Szene}
\renewcommand{\printscenenum}{\scenenumfont \theact.\thescene \intersep}

%-------------------------------------------------------------------------------------------------------------

% Hier werden die Charaktere eingef\"uhrt. Beschreibungen bitte entsprechend erg\"anzen!

\Character[Herr Mustermann]{Max}{Maxc}

\newcommand{\Max}[1]{\item\begin{tcolorbox}[title=\Maxc,colframe=Red]#1\end{tcolorbox}}
\newcommand{\Maxname}{\Maxcspeaks} %Szenen werden importiert, gibt eine SW-Version

%-------------------------------------------------------------------------------------------------------------
\begin{document}
\setcounter{page}{0}
\thispagestyle{empty}
\DramPer

\act

\scene[Einleitung]

\begin{stagedir}
    Beschreibung. \Maxname ist nicht zu sehen.
\end{stagedir}

\begin{drama}
   \Max {\direct{Betritt Bühne}  Ich kann sprechen}
\end{drama}

\end{document}