Zitat von
u_fischer
Du solltest dir schon die Mühe geben und bei derartigen Fragenein Rumpfdokument zum Rumprobieren mitgeben.
Hallo Ulrike,
zunächst mal: vielen Dank für deine Hilfe!
Du hast mir nun schon zum zweiten Mal geholfen.
Dass ich kein Minimalbeispiel oder ein Rumpfdokument bereitgestellt habe, lag nicht an meiner fehlenden Mühe, sondern einfach daran, dass es einfach nicht lief und ich ohnehin (auch) eure Vorschläge mein Problem betreffend bekommen wollte.
Hätte ich meinen nicht-funktionierenden Code bereitgestellt, wäre wahrscheinlich dein/euer erste Schritt gewesen, diesen duchzugehen und zu verbessern, sofern möglich.
Da ich mir aber nicht mal sicher wahr (und es hat sich ja als richtig herausgestellt), dass addtocontents{lof}... und listoffigures der geeignetste Weg ist, habe ich lieber mal den Mund gehalten.
Ich gebe mir ansonsten schon Mühe, mit einem Minimalbeispiel dienlich zu sein.
Nur hier halt nicht.
Aber: ich gelobe Besserung!
Für diejenigen, die es interessiert, nachfolgend mein verwendeter Code:
Code:
\newmarks\insidetake
\newcounter{takecounter}
\setcounter{takecounter}{1}
\makeatletter
\newenvironment{take}[2][]{%
\providecounter{#2}%
\stepcounter{#2}%
\minisec{\leadzeros{\thetakecounter}\quad\MakeUppercase{#2}%
\ifthenelse{\equal{#1}{}}{%
}{%
~(O.S.)%
}\stepcounter{takecounter}\marks\insidetake{true}%
}%
\ifcsname takename#2\endcsname
\else
\expandafter\gdef\csname takename#2\endcsname{}%
\ifcsname currentlistoftakes\endcsname
\g@addto@macro\currentlistoftakes{,#2}
\else
\gdef\currentlistoftakes{#2}
\fi
\fi
\addmargin[10mm]{15mm}%
\addtocontents{lof}{#2: \arabic{#2}\\}%
}{%
\marks\insidetake{false}%
\endaddmargin%
}
\makeatother
\makeatletter
\newcommand{\printtakeoverview}{%
\ifcsname listoftakes\endcsname
\chapter*{Takeübersicht}%
\@for\takename:=\listoftakes\do{%
\parbox{40mm}{\MakeUppercase{\takename}}\parbox{10mm}{\hfill\raisebox{.13em}{\ref{\takename}}}~Takes\\[0.5em]%
}%
\fi
}
\makeatother
% Hörspielskript mit Takes und allem...
\makeatletter
\@for\takename:=\currentlistoftakes\do{%
\addtocounter{\takename}{-1}%
\refstepcounter{\takename}%
\label{\takename}%
}
\write\@auxout{%
\noexpand\gdef\noexpand\listoftakes{\currentlistoftakes}%
}
\makeatother
Eine Frage hätte ich wohl noch...
Eigentlich möchte ich die Takeanzahlen nämlich gerne in einer Tabelle (longtable) ausgeben.
Also habe ich den Befehl printtakeoverview zunächst so geschrieben:
Code:
\makeatletter
\newcommand{\printtakeoverview}{%
\ifcsname listoftakes\endcsname
\chapter*{Takeübersicht}%
\longtable{p{40mm}p{10mm}p{100mm}}%
\@for\takename:=\listoftakes\do{%
\MakeUppercase{\takename}&\raisebox{.13em}{\ref{\takename}&Takes\\[0.5em]%
}%
\endlongtable%
\fi
}
\makeatother
Anscheinend kann ich aber keinen Spaltenwechsel bewirken, denn wenn ich alles in die erste Spalte schreibe, gibt es keinen Fehler. Erst dann, wenn ich & verwende.
Kann ich anders die Spalten wechseln? Oder kann mir sonst jemand Abhilfe schaffen?
Liegt das am DO, also an der FOR-Schleife?
Viele liebe Grüße
Meta
Lesezeichen