diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls | 109 |
1 files changed, 100 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls b/Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls index f3a33c601c6..cec59db203b 100644 --- a/Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls +++ b/Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls @@ -22,7 +22,7 @@ % \NeedsTeXFormat{LaTeX2e}% % -\ProvidesClass{dvdcoll}[2007/02/23 dvdcoll.cls v1.0 - Josef Kleber (C) 2006-2007]% +\ProvidesClass{dvdcoll}[2007/03/21 dvdcoll.cls v1.1 - Josef Kleber (C) 2006-2007]% % \RequirePackage{xkeyval}% \RequirePackage{ifthen}% @@ -148,6 +148,42 @@ \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]% {% @@ -200,12 +236,14 @@ \renewcommand*\dc@option@labelbaselength{#1}% }% % -% +% setting defaults \ExecuteOptionsX{dvdlabel,dvdskip,pagenumbers,heading,language}% % +\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{scrreprt}}% +% \ProcessOptionsX\relax% % -\LoadClassWithOptions{scrreprt}% +\LoadClass{scrreprt}% % \RequirePackage{tabularx}% \RequirePackage{booktabs}% @@ -268,10 +306,13 @@ % 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{}% @@ -376,6 +417,7 @@ % 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}}}}% @@ -391,7 +433,9 @@ % \newcommand\Description[1]% {% - \gdef\pn@pdf@desc{#1}% + \def\dc@dummy{}% + \pn@pdf@string@def\dc@dummy{#1}% + \gdef\pn@pdf@desc{\dc@dummy}% }% % % @@ -432,7 +476,8 @@ {% \setcounter{seasondvd}{0}% just reset if #1 = 1 }% - {}% if dvdnumbering=season + {}% + %if dvdnumbering=season \ifthenelse{\equal{\dc@option@dvdnumbering}{season}}% {% and bookmark is to be set for the first time \ifthenelse{\thebookmarkseason = #2}% @@ -472,14 +517,14 @@ % create unique hyperref destination for season bookmark \stepcounter{bookmarkcount}% \ifthenelse{\equal{\dc@option@dvdnumbering}{season}}% - {%adjust toclevel for season bookmark + {%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 + %would produce double season bookmark entries, therefore ... \setcounter{season}{1}% \setcounter{seasondvd}{0}% \setcounter{seasontitlecount}{0}% @@ -539,6 +584,25 @@ \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}}% {% @@ -565,7 +629,7 @@ {\dc@print@counter & \makebox[0pt]{}\pdfnote{#1\strut} & \tabularnewline}% % with min {\dc@print@counter & \makebox[0pt]{}\pdfnote{#1\strut} & \hfill{}#2~\dc@third \tabularnewline}% - }% + }% }% % % @@ -614,9 +678,32 @@ }% % % +\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}}% @@ -680,8 +767,10 @@ % \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{% @@ -728,6 +817,8 @@ %\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 |