From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/dvdcoll/dvdcoll.cls | 824 +++++++++++++++++++++++++++++++ 1 file changed, 824 insertions(+) create mode 100644 macros/latex/contrib/dvdcoll/dvdcoll.cls (limited to 'macros/latex/contrib/dvdcoll/dvdcoll.cls') diff --git a/macros/latex/contrib/dvdcoll/dvdcoll.cls b/macros/latex/contrib/dvdcoll/dvdcoll.cls new file mode 100644 index 0000000000..925988bdd5 --- /dev/null +++ b/macros/latex/contrib/dvdcoll/dvdcoll.cls @@ -0,0 +1,824 @@ +%% +%% Copyright (C) 2006-2008 by: +%% Josef Kleber +%% +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of LaTeX version +%% 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This Current Maintainer of this work is Josef Kleber. +%% +%% This work consists of all files listed in manifest.txt. +%% +% +\NeedsTeXFormat{LaTeX2e}% +% +\ProvidesClass{dvdcoll}[2008/04/21 dvdcoll.cls v1.1a - Josef Kleber (C) 2006-2008]% +% +\RequirePackage{xkeyval}% +\RequirePackage{ifthen}% +% +% +% define class option language for setting a language +\define@key{dvdcoll.cls}{language}[babel]% +{% + \ifthenelse{\NOT\equal{#1}{babel}}% + {%no babel + \def\dc@option@language{#1}% + }% + {%babel + \def\dc@option@language{#1}% + \AtBeginDocument% + {% + \ifthenelse{\NOT\equal{\dc@option@language}{babel}}% + {%no babel + \InputIfFileExists{\dc@option@language.dcl}% + {}% + {% + \input{english.dcl}% + \ClassWarningNoLine{dvdcoll}% + {% + You tried to use option language=\dc@option@language\MessageBreak + <\dc@option@language> is at the moment not available\MessageBreak + dvdcoll.cls is using english instead!\MessageBreak + Please take a look at ,\MessageBreak + translate it to your language and email\MessageBreak + it to: dvdcoll@web.de + }% + }% + }% + {%babel + \@ifpackageloaded{babel}% + {% yes + \def\dc@option@language{\languagename}% + \InputIfFileExists{\dc@option@language.dcl}% + {}% + {% + \input{english.dcl}% + \ClassWarningNoLine{dvdcoll}% + {% + You tried to use babel with option <\dc@option@language>\MessageBreak + <\dc@option@language> is at the moment not available\MessageBreak + dvdcoll.cls is using english instead!\MessageBreak + Please take a look at ,\MessageBreak + translate it to your language and email\MessageBreak + it to: dvdcoll@web.de + }% + }% + }% + {% no + \input{english.dcl}% + \ClassWarningNoLine{dvdcoll}% + {% + You did not specify a language via Package \MessageBreak + or with the dvdcoll option language.\MessageBreak + dvdcoll is using as default instead + }% + }% + }% + }% + }% +}% +% +% define class option dvdlabel for horizontal positioning of the label +\define@choicekey*{dvdcoll.cls}{dvdlabel}[\valuedvdcoll\nr]{wide,narrow}[wide]% +{% + \ifcase\nr\relax% + \def\dc@option@dvdlabel{\hfill}% + \or% + \def\dc@option@dvdlabel{\hspace{1em}}% + \fi% +}% +% +% define class option dvdskip for vertical space after Dvd +\define@choicekey*{dvdcoll.cls}{dvdskip}[\valuedvdskip\nr]{small,medium,big}[medium]% +{% + \ifcase\nr\relax% + \def\dc@addvspace@endDvd{\dc@smallskip}% + \or% + \def\dc@addvspace@endDvd{\dc@medskip}% + \or% + \def\dc@addvspace@endDvd{\dc@bigskip}% + \fi% +}% +% +% define class option pagenumbers (yes,no) +\define@choicekey*{dvdcoll.cls}{pagenumbers}[\valuepagenumbers\nr]{yes,no}[yes]% +{% + \ifcase\nr\relax% + {}% + \or% + \AtBeginDocument% + {% + \pagestyle{empty}% + \let\ps@plain=\ps@empty% LaTeX Begleiter S.231 + }% + \fi% +}% +% +% define class option heading for numbered or unnumbered headings +\define@choicekey*{dvdcoll.cls}{heading}[\valueheading\nr]{number,nonumber}[nonumber]% +{% + \ifcase\nr\relax% + {% + \AtBeginDocument% + {% + \setcounter{secnumdepth}{4}% + \SetTOCSecIndent{2.2em}% + \SetLFRSecNumwidth{4.5em}% + }% + }% + \or% + \AtEndOfClass{\SetTOCNumwidth{2.2em}}% default + \AtBeginDocument% + {% + \setcounter{secnumdepth}{-2}% + \SetTOCSecIndent{0em}% + \SetLFRSecNumwidth{0em}% + }% + \fi% +}% +% +% define class option pdfencoding (pdfdocencoding,unicode) +\define@choicekey*{dvdcoll.cls}{pdfencoding}[\valuepdfdocencoding\nr]{pdfdocencoding,unicode}[pdfdocencoding]% +{% + \ifcase\nr\relax% + {% + \ClassInfo{dvdcoll.cls}{set unicode=false} + \PassOptionsToPackage{unicode=false}{hyperref}% + % use simplified but runtime optimized version for pdf encoding + \AtEndOfClass% + {% + \renewcommand\Description[1]% + {% + \def\dc@dummy{}% + \pn@pdf@string@def\dc@dummy{##1}% + \gdef\pn@pdf@desc{\dc@dummy}% + }% + }% + }% + \or% + {% + \ClassInfo{dvdcoll.cls}{set unicode=true} + \PassOptionsToPackage{unicode=true}{hyperref}% + % use standard \pdfstringdef (hyperref) for pdf encoding + \AtEndOfClass% + {% + \renewcommand\Description[1]% + {% + \def\dc@dummy{}% + \pdfstringdef\dc@dummy{##1}% + \gdef\pn@pdf@desc{\dc@dummy}% + }% + }% + }% + \fi% +}% +% +% define command option (DvdSeries) dvdnumbering for dvd numbering style +\define@choicekey*{DvdSeries}{dvdnumbering}[\valuedvdnumbering\nr]{normal,season}[normal]% +{% + \ifcase\nr\relax% + \renewcommand{\dc@option@dvdnumbering}{normal}% + \renewcommand*\toclevel@dcdvd{1}% + \or% + \renewcommand{\dc@option@dvdnumbering}{season}% + \renewcommand*\toclevel@dcdvd{2}% + \fi% +}% +% +% define command option (DvdSeries) titlenumbering for dvd title numbering style +\define@choicekey*{DvdSeries}{titlenumbering}[\valuetitlenumbering\nr]{normal,season}[normal]% +{% + \ifcase\nr\relax% + \renewcommand{\dc@option@titlenumbering}{normal}% + \or% + \renewcommand{\dc@option@titlenumbering}{season}% + \fi% +}% +% +% define command option (DvdSeries) labelbase for setting a base counter in automatic labeling +\define@key{DvdSeries}{labelbase}[-1]% +{% + \renewcommand*\dc@option@labelbase{#1}% + \setcounter{labelcount}{#1}% + \addtocounter{labelcount}{-1}% +}% +% +% define command option (DvdSeries) labelbase for setting a prefix of the base counter in automatic labeling +\define@key{DvdSeries}{labelbaseprefix}[]% +{% + \renewcommand*\dc@option@labelbaseprefix{#1}% +}% +% +% define command option (DvdSeries) labelbase for setting a suffix of the base counter in automatic labeling +\define@key{DvdSeries}{labelbasesuffix}[]% +{% + \renewcommand*\dc@option@labelbasesuffix{#1}% +}% +% +% define command option (DvdSeries) labelbase for setting the length of the base counter in automatic labeling +\define@key{DvdSeries}{labelbaselength}[4]% +{% + \ifnum#1<1% + \ClassError{dvdcoll}{labelbaselength < 1}{labelbaselength < 1 makes no sense\MessageBreak% + please increase labelbaselength}% + \fi% + \renewcommand*\dc@option@labelbaselength{#1}% +}% +% +% setting defaults +\ExecuteOptionsX{dvdlabel,dvdskip,pagenumbers,heading,language,pdfencoding}% +% +\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{scrreprt}}% +% +\ProcessOptionsX\relax% +% +\LoadClass{scrreprt}% +% +\RequirePackage{tabularx}% +\RequirePackage{booktabs}% +\RequirePackage{array}% +\RequirePackage{multicol}% +\RequirePackage{ragged2e}% +\RequirePackage{pdfnotiz}% +\RequirePackage{dcwrtbib}% +\RequirePackage[naturalnames=true,hypertexnames=false]{hyperref}[2008/04/12]% +%--- naturalnames=true,hypertexnames=false --- verhindert das mehrfache Anlegen von hyperref-Ankern +% (bedingt durch das Rücksetzen des Zahlers chapter) +% und beseitigt die Warnungen (ext4) von hyperref +% +% +%--- Package adjustments --- +% +%avoid ugly looking frame overlays in \DvdTitleWithDescription +\setlength\extrarowheight{2pt}% +% +% +%--- Counters --- +% +\newcounter{dvdcount}[chapter]% +\newcounter{titlecount}[dvdcount]% +\newcounter{season}% +\newcounter{seasontitlecount}% +\newcounter{seasondvd}% +% for generation of labelbase +\newcounter{labelcount}% +% to produce a unique hyperref destination for season bookmark +\newcounter{bookmarkcount}% +\setcounter{bookmarkcount}{0}% +%to prevent several bookmarks for the same season +\newcounter{bookmarkseason}% +% +% +%--- Variables --- +% +\def\dc@part{}% +\def\dc@series{}% +\def\dc@title{}% +% +% +%--- Internal Commands --- +% +\def\dc@third{min}% +\def\dc@addhspace@title@count{0.7em}% +% used hspace in the BibTeX file +\def\DvdBibSpace{\string\hspace{0.7em}}% +% +% \***skip aus source2e; etwas vergrößert +\def\dc@smallskip{\vspace{6pt plus 2pt minus 2pt}}% +\def\dc@medskip{\vspace{12pt plus 4pt minus 4pt}}% +\def\dc@bigskip{\vspace{18pt plus 6pt minus 6pt}}% +% +% font sizes used in the tables +\def\dc@size@table@cells{\large}% +\def\dc@size@table@title{\Large}% +% +% dummy for .dcl definitons +\newcommand*\dc@miss{}% +\newcommand*\dc@lfrname{}% +\newcommand*\dc@ledname{}% +\newcommand*\dc@pdf@subject{}% +\newcommand*\dc@dvdlist{}% +\newcommand*\dc@season{}% +\newcommand*\dc@pdftitle{}% +\newcommand*\dc@dvd@shorthand@off{}% +\newcommand*\dc@dvd@shorthand@on{}% +% +% +\newcommand*\dc@option@titlenumbering{}% +\newcommand*\dc@option@dvdnumbering{}% +\newcommand*\dc@option@labelbase{}% +\newcommand*\dc@option@labelbaseprefix{}% +\newcommand*\dc@option@labelbasesuffix{}% +\newcommand*\dc@option@labelbaselength{}% +% +% +\newcommand*\dc@pcwlz[1]% PrintCounterWithLeadingZero +{% + \ifnum\value{#1}<10{0}\fi% + \arabic{#1}% +}% +% +% +\newcommand*\dc@print@counter% +{% + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {%season + \dc@pcwlz{season}x\dc@pcwlz{seasontitlecount}% + }% + {%normal + \thetitlecount{}.% + }% +}% +% +% +\newcommand*\dc@calc@dvdcounter% +{% + \ifthenelse{\equal{\dc@option@dvdnumbering}{season}}% + {%season + \def\dc@dvdcounter{\theseason.\theseasondvd}% + }% + {%normal + \def\dc@dvdcounter{\thedvdcount}% + }% +}% +% +% +\newcommand*\dc@print@dvdlabel[1]% +{% + \ifthenelse{\equal{}{#1}}% + {}% no label! + {% + \textbf{[#1]}% + }% +}% +% +% all \leadzeros provided by Heiko Oberdiek in d.c.t.t, Msg-Id: +\newcommand*{\leadzero}[2]{% + \ifnum#2<0 % + -% + \expandafter\@leadzero\expandafter{% + \romannumeral\number#1000\expandafter + }\expandafter{% + \number-#2% + }% + \expandafter\@firstofone\expandafter{\number-#2}% + \else + \expandafter\@leadzero\expandafter{% + \romannumeral\number#1000\expandafter + }\expandafter{% + \number#2% + }% + \expandafter\@firstofone\expandafter{\number#2}% + \fi +} +\def\@leadzero#1#2{% + \ifx\\#2\\% + \@@leadzero#1\@nil + \else + \ifx\\#1\\% + \else + \expandafter\@@@leadzero\expandafter{\@gobble#2}{#1}% + \fi + \fi +} +\def\@@leadzero#1\@nil#2\fi\fi{% + \fi + \ifx\\#1\\% + \else + 0% + \expandafter\@@leadzero\@gobble#1\@nil + \iftrue\fi + \fi +} +\def\@@@leadzero#1#2\fi\fi{% + \fi + \fi + \expandafter\@leadzero\expandafter{\@gobble#2}{#1}% +} +% +\renewcommand*{\thelabelcount}{% + \leadzero{\dc@option@labelbaselength}{\value{labelcount}}% +}% +% +% create new toc type with same definition as section +\let\l@dcdvd\l@section +% +% define a bookmark level (section) for dcdvd toc-entry +\newcommand*\toclevel@dcdvd{1}% +\newcommand*\toclevel@lfrsec{1}% +\newcommand*\toclevel@ledsec{1}% +% +\hypersetup{pdfkeywords={LaTeX,dvdcoll.cls,DVD,Archiv,archives}}% +\AtEndOfClass{\AtBeginDocument{\hypersetup{pdfcreator={LaTeX with dvdcoll.cls},pdftitle={\dc@pdftitle}}}}% +% +% +%--- Commands --- +% +\newcommand*\SetLFRName[1]% +{% + \renewcommand*\dc@lfrname{#1}% +}% +% +% +\newcommand\Description[1]% +{% + \def\dc@dummy{}% + \pn@pdf@string@def\dc@dummy{#1}% + \gdef\pn@pdf@desc{\dc@dummy}% +}% +% +% +\newcommand*\SetCounterSpace[1]% +{% + \def\dc@addhspace@title@count{#1}% +}% +% +% +\newcommand*\SetThirdColumnAddition[1]% +{% + \def\dc@third{#1}% +}% +% +% +\newcommand*\DvdCounter% +{% + \DvdSpace\dc@dvdcounter% +}% +% +% +\newcommand*\AutoTitle% +{% + \dc@series\DvdCounter\DvdSpace% +}% +% +% +\newcommand*\DvdSpace% +{% + \hspace{\dc@addhspace@title@count}% +}% +% +% +\newcommand*\SetSeason[2][1]% +{% + \setcounter{season}{#2}% + \ifthenelse{#1 = 1}% + {% + \setcounter{seasondvd}{0}% just reset if #1 = 1 + }% + {}% + %if dvdnumbering=season + \ifthenelse{\equal{\dc@option@dvdnumbering}{season}}% + {% and bookmark is to be set for the first time + \ifthenelse{\thebookmarkseason = #2}% + {}% + {% create season bookmark + \pdfbookmark[1]{\dc@season{} \theseason}{seasonbookmark*.\thebookmarkcount.\theseason}% + % store season in bookmarkseason to prevent several bookmarks of the same season + \setcounter{bookmarkseason}{#2}% + }% + }% + {}% + \setcounter{seasontitlecount}{#1}% + \addtocounter{seasontitlecount}{-1}% +}% +% +% +\newcommand*\DvdPart[1]% +{% + \part{#1}% + \def\dc@part{#1}% + \setcounter{chapter}{0}% +}% +% +% +\newcommand*\DvdSeries[2][titlenumbering=normal,dvdnumbering=normal,labelbase=-1,labelbaseprefix={},labelbasesuffix={},labelbaselength=4]% +{%default - default setting of xkeyval seem not to work??? all or nothing??? + \renewcommand*\dc@option@dvdnumbering{normal}% + \renewcommand*\dc@option@titlenumbering{normal}% + \renewcommand*\dc@option@labelbase{-1}% + \renewcommand*\dc@option@labelbaseprefix{}% + \renewcommand*\dc@option@labelbasesuffix{}% + \renewcommand*\dc@option@labelbaselength{4}% +% + \setkeys{DvdSeries}{#1}% + %reset season bookmark indicator + \setcounter{bookmarkseason}{-1}% + % create unique hyperref destination for season bookmark + \stepcounter{bookmarkcount}% + \ifthenelse{\equal{\dc@option@dvdnumbering}{season}}% + {%adjust toclevel for dvd bookmark (with or without season bookmark) + \renewcommand*\toclevel@dcdvd{2}% + }% + {% + \renewcommand*\toclevel@dcdvd{1}% + }% + %\SetSeason{1}% + %would produce double season bookmark entries, therefore ... + \setcounter{season}{1}% + \setcounter{seasondvd}{0}% + \setcounter{seasontitlecount}{0}% + \chapter{#2}% + \def\dc@series{#2}% + \setcounter{season}{-1}% + \ifthenelse{\equal{\valueheading}{nonumber}}% + {% + \setcounter{dvdcount}{0}% + }% + % setting heading=nonumber (secnumdepth=-2) means no automatic reset + % of dvdcount because chapter get not reset + {}% +}% +% +% +\newcommand*\DvdTitle[2]% +{% + %increasing counter depending on titlenumbering + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {\refstepcounter{seasontitlecount}}% + {\refstepcounter{titlecount}}% + %if marker F is set + \ifthenelse{\equal{\dc@miss}{#2}}% + {% + %lfr entry absolutly before tabular line, otherwise error in the table - don't no why! + %lfr entry without numbers if heading=nonumber + \ifthenelse{\equal{\valueheading}{nonumber}}% + {% + \addcontentsline{lfr}{lfrsec}{\protect\numberline{} \dc@series\ - #1}% + }% + {% + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {%season + \addcontentsline{lfr}{lfrsec}{\protect\numberline{\thepart.\thechapter.\theseason.\theseasontitlecount} \dc@series\ - #1}% + }% + {%normal + \addcontentsline{lfr}{lfrsec}{\protect\numberline{\thepart.\thechapter.\thedvdcount.\thetitlecount} \dc@series\ - #1}% + }% + }% + %construct table + \dc@print@counter & #1\strut & \hfill\dc@miss \tabularnewline% + }% + {% + \ifthenelse{\equal{}{#2}}% + % no min + {\dc@print@counter & #1\strut & \tabularnewline}% + % with min + {\dc@print@counter & #1\strut & \hfill{}#2~\dc@third \tabularnewline}% + }% +}% +% +% +\newcommand*\DvdTitleWithDescription[2]% +{% + %increasing counter depending on titlenumbering + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {\refstepcounter{seasontitlecount}}% + {\refstepcounter{titlecount}}% + %if description is empty + \ifthenelse{\equal{\pn@pdf@desc}{}}% + {% + %led entry without numbers if heading=nonumber + \ifthenelse{\equal{\valueheading}{nonumber}}% + {% + \addcontentsline{led}{ledsec}{\protect\numberline{} \dc@series\ - #1}% + }% + {% + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {%season + \addcontentsline{led}{ledsec}{\protect\numberline{\thepart.\thechapter.\theseason.\theseasontitlecount} \dc@series\ - #1}% + }% + {%normal + \addcontentsline{led}{ledsec}{\protect\numberline{\thepart.\thechapter.\thedvdcount.\thetitlecount} \dc@series\ - #1}% + }% + }% + }% + {}% + % if marker F is set + \ifthenelse{\equal{\dc@miss}{#2}}% + {% + %lfr entry absolutly before tabular line, otherwise error in the table - don't no why! + %lfr entry without numbers if heading=nonumber + \ifthenelse{\equal{\valueheading}{nonumber}}% + {% + \addcontentsline{lfr}{lfrsec}{\protect\numberline{} \dc@series\ - #1}% + }% + {% + \ifthenelse{\equal{\dc@option@titlenumbering}{season}}% + {%season + \addcontentsline{lfr}{lfrsec}{\protect\numberline{\thepart.\thechapter.\theseason.\theseasontitlecount} \dc@series\ - #1}% + }% + {%normal + \addcontentsline{lfr}{lfrsec}{\protect\numberline{\thepart.\thechapter.\thedvdcount.\thetitlecount} \dc@series\ - #1}% + }% + }% + \dc@print@counter & \makebox[0pt]{}\pdfnote{#1\strut} & \hfill\dc@miss \tabularnewline% + }% + {% + \ifthenelse{\equal{}{#2}}% + % no min + {\dc@print@counter & \makebox[0pt]{}\pdfnote{#1\strut} & \tabularnewline}% + % with min + {\dc@print@counter & \makebox[0pt]{}\pdfnote{#1\strut} & \hfill{}#2~\dc@third \tabularnewline}% + }% +}% +% +% +\setlength\columnseprule{0.5pt} +\addtolength\columnsep{5pt} +%no automatic heading -> clash with multicols +\renewcommand*\bib@heading{\@mkboth{\refname}{\refname}} +%labels without brackets +\renewcommand\@biblabel[1]{#1} +\newcommand*\dc@bibpreamble{\begin{multicols}{\dc@bib@col}\RaggedRight\small} +\newcommand*\dc@bibend{\end{multicols}}% +\newcommand{\listofdvds}[2][]% +{% + \ifthenelse{\equal{}{#2}}{\def\dc@bib@col{2}}{\def\dc@bib@col{#2}}% + \bibliographystyle{dcbib}% + \nocite{*}% + \ifthenelse{\equal{}{#1}}% + {\renewcommand\refname{\dc@dvdlist}}% + {\renewcommand\refname{#1}}% + \clearpage% + \chapter*{\refname}% + \addcontentsline{toc}{part}{\dc@dvdlist{}}% + \phantomsection% + \dc@bibpreamble% + \bibliography{dc_\jobname}% + \dc@bibend% +}% +% +\newcommand{\listoffaultyrecordings}% +{% + \setboolean{@restonecol}{false}% + \ifthenelse{\boolean{@twocolumn}}% + {\setboolean{@restonecol}{true}\onecolumn}% + {}% + \@ifundefined{chapter}% + {\section*{\dc@lfrname\@mkboth{\dc@lfrname}{\dc@lfrname}}}% + {\chapter*{\dc@lfrname\@mkboth{\dc@lfrname}{\dc@lfrname}}}% + {% + \setlength{\parindent}{0pt}% + \@starttoc{lfr}% + }% + \ifthenelse{\boolean{@restonecol}}% + {\twocolumn}% + {}% + \addcontentsline{toc}{part}{\dc@lfrname{}}% +}% +% +% +\newcommand{\listofemptydescriptions}% +{% + \setboolean{@restonecol}{false}% + \ifthenelse{\boolean{@twocolumn}}% + {\setboolean{@restonecol}{true}\onecolumn}% + {}% + \@ifundefined{chapter}% + {\section*{\dc@ledname\@mkboth{\dc@ledname}{\dc@ledname}}}% + {\chapter*{\dc@ledname\@mkboth{\dc@ledname}{\dc@ledname}}}% + {% + \setlength{\parindent}{0pt}% + \@starttoc{led}% + }% + \ifthenelse{\boolean{@restonecol}}% + {\twocolumn}% + {}% + \addcontentsline{toc}{part}{\dc@ledname}% +}% +% +% +\newcommand\l@lfrsec{\@dottedtocline{1}{0em}{0em}}% +% +% +\newcommand\l@ledsec{\@dottedtocline{1}{0em}{0em}}% +% +% +\newcommand\SetLFRSecNumwidth[1]% +{% + \renewcommand*\l@lfrsec{\@dottedtocline{1}{0pt}{#1}}% +}% +% +% +\newcommand\SetTOCSecIndent[1]% +{% + \renewcommand*\l@dcdvd{\@dottedtocline{1}{#1}{0pt}}% +}% +% +% +\newcommand*\SetTOCNumwidth[1]% +{% +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@% + \setlength\@tempdima{#1}% + \if@tocleft% + \ifx\toc@l@number\@empty\else% + \setlength\@tempdima{0\toc@l@number}% + \fi% + \fi% + \begingroup% + \parindent \z@ \rightskip \@pnumwidth% + \parfillskip -\@pnumwidth% + \leavevmode \sectfont% + \advance\leftskip\@tempdima% + \hskip -\leftskip% + ##1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}\par% + \penalty\@highpenalty% + \endgroup% + \fi}% +% +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax% + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{#1}% + \if@tocleft% + \ifx\toc@l@number\@empty\else% + \setlength\@tempdima{0\toc@l@number}% + \fi% + \fi% + \begingroup% + \parindent \z@ \rightskip \@pnumwidth% + \parfillskip -\@pnumwidth% + \leavevmode\sectfont\large% + \advance\leftskip\@tempdima% + \hskip -\leftskip% + ##1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}\par% + \penalty\@highpenalty% + \endgroup% + \fi}% +}% +% +% +%--- Environments --- +% +% +\newenvironment{Dvd}[2]% +{% + %prevents unwanted spaces in the table + \endlinechar=-1% + %switching off language dependant shorthands (babel) within environment Dvd + \dc@dvd@shorthand@off% + %Hack von Markus Kohm zur Behebung des \bottomrule-Problems bei \endtabularx in Environments (-> Google-Groups) + \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname% + \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% + \midrule% + \SavedEndTab% + }% + \refstepcounter{dvdcount}% \refstepcounter für hyperref-Link auf die jeweilige DVD + \refstepcounter{seasondvd}% + \stepcounter{labelcount}% + \dc@calc@dvdcounter% to have correct counter in "text" form + \ifthenelse{\equal{}{#1}}{\def\dc@title{\dc@series\DvdCounter}}{\def\dc@title{#1}}% + {%local redefinition for BibTeX export + \renewcommand*\DvdSpace{\DvdBibSpace}% + \ifthenelse{\equal{}{#1}}{\xdef\dc@bib@title{\dc@series\DvdCounter}}{\xdef\dc@bib@title{#1}}% + } + %create label + \ifthenelse{\equal{}{#2}}% + {%#2 empty + \ifthenelse{\equal{\dc@option@labelbase}{-1}}% + {%default + \def\dc@dvd@label{}% + }% + {%labelbase set + \def\dc@dvd@label{\dc@option@labelbaseprefix\thelabelcount\dc@option@labelbasesuffix}% + }% + }% + {%#2 not empty + \def\dc@dvd@label{#2}% + }% + \addcontentsline{toc}{dcdvd}{\dc@title}% + \phantomsection% korrigiert fehlerhafte (falsch positionierte) Links auf dvd-Tabellen + \ifthenelse{\equal{}{\dc@dvd@label}}% + {}% + {% + \bibwrite{@misc{\dc@dvd@label ,author={{\dc@bib@title}},year={\dc@dvd@label}}}% + }% + \noindent% + % verhindert overfull \hbox Errors wegen \tabularx{\linewidth}... + \tabularx{\linewidth}{>{\dc@size@table@cells}r>{\dc@size@table@cells}X>{\dc@size@table@cells}r}% + \multicolumn{3}{l}{\dc@size@table@title\dc@title\dc@option@dvdlabel\dc@print@dvdlabel{\dc@dvd@label}}\\% + \midrule% +}% +{% + %\midrule% bereits in der Definition enthalten durch Hack von Markus Kohm siehe oben + \endtabularx% + \dc@addvspace@endDvd% + %switching on shorthands again + \dc@dvd@shorthand@on% +}% +% +\endinput% \ No newline at end of file -- cgit v1.2.3