summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls')
-rw-r--r--Master/texmf-dist/tex/latex/dvdcoll/dvdcoll.cls109
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