summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-12-02 22:57:20 +0000
committerKarl Berry <karl@freefriends.org>2016-12-02 22:57:20 +0000
commitc863aff30c4781b9f67c22225b3322de7e3f25fa (patch)
tree0ba4a05e11c8005d8a80c14cd5313238dbbf9419 /Master/texmf-dist/tex
parent19c718e2f6f75fe097980f3d441c2ae6c567c173 (diff)
tocdata (2dec16)
git-svn-id: svn://tug.org/texlive/trunk@42623 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/tocdata/tocdata.sty129
1 files changed, 91 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/latex/tocdata/tocdata.sty b/Master/texmf-dist/tex/latex/tocdata/tocdata.sty
index 97ac015d5e0..9a277e0bcf4 100644
--- a/Master/texmf-dist/tex/latex/tocdata/tocdata.sty
+++ b/Master/texmf-dist/tex/latex/tocdata/tocdata.sty
@@ -17,12 +17,13 @@
%% version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{tocdata}
- [2016/07/11 v0.11 Adds author/artist to TOC entries.]
+ [2016/12/02 v0.12 Adds author/artist to TOC entries.]
\RequirePackage{xparse}
\RequirePackage{etoolbox}
+\RequirePackage{xifthen}
\newcommand{\TD@thistocdata}{}
@@ -45,16 +46,16 @@
\titlecontents{chapter}[0em]{}{\contentslabel{2.5em}}{}{%
\titlerule*[.75pc]{.}%
\TD@usetocdata% <-- newly added for the tocdata package
-\contentspage}[\vspace{-.5ex}]
+\contentspage}[\vspace{-.5ex}]%
}
\titlecontents{section}[2.5em]{}{\contentslabel{2.5em}}{}{%
\titlerule*[.75pc]{.}%
\TD@usetocdata%
-\contentspage}[\vspace{-.5ex}]
+\contentspage}[\vspace{-.5ex}]%
\titlecontents{figure}[0em]{}{\contentslabel{3em}}{}{%
\titlerule*[1pc]{.}%
\TD@usetocdata%
-\contentspage}[\vspace{-.5ex}]
+\contentspage}[\vspace{-.5ex}]%
}% end of titletoc loaded
{% titletoc is not loaded
@@ -73,67 +74,119 @@
}% end of tocloft patches
{}% tocloft not loaded
+\newcommand{\TD@optionalname}[1]
+{%
+\ifthenelse{\equal{#1}{}}%
+{}%
+{#1~}%
+}
\@ifundefined{chapter}
{}% if no chapters
{% only of chapters exists in this documentclass:
\newcommand{\tocdatachapprint}[4]
-{\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- #1 #2 #3#4}}}
+{%
+\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- %
+\TD@optionalname{#1}\TD@optionalname{#2}#3#4}}%
+}
}% end of chapters-only
\newcommand{\tocdatasecprint}[4]
-{\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- #1 #2 #3#4}}}
+{%
+\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- %
+\TD@optionalname{#1}\TD@optionalname{#2}#3#4}%
+}%
+}
+\newcommand{\tocdatafigprint}[4]{%
+\addvspace{2ex}%
+\begin{minipage}{\linewidth}%
+\TD@namealign%
+\footnotesize\textsc{{\TD@optionalname{#1}\TD@optionalname{#2}#3#4}}%
+\end{minipage}%
+\par%
+\addvspace{2ex}%
+}
+\newcommand{\tocdatafigtextprint}[1]{%
+\addvspace{2ex}%
+\begin{minipage}{\linewidth}%
+\TD@textalign%
+\footnotesize%
+\setlength{\parskip}{1.5ex}%
+\setlength{\parindent}{0em}%
+#1%
+\end{minipage}%
+\par%
+\addvspace{2ex}%
+}
\@ifundefined{chapter}
{}% if no chapters
{% only of chapters exists in this documentclass:
\NewDocumentCommand{\chapterauthor}{s o m O{} m m O{}}{%
\IfBooleanTF{#1}% star:
-{\chapter*{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}
+{\chapter*{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}%
{% no star:
-\tocdata{toc}{#5 #6}
-\IfValueTF{#2}
-{\chapter[#2]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}
-{\chapter[#3]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}
-}
-\ifblank{#5}
-{\index{#6}}
-{\index{#6, #5}}
+\tocdata{toc}{#5 #6}%
+\IfValueTF{#2}%
+{\chapter[#2]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}%
+{\chapter[#3]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}%
+}%
+\ifthenelse{\equal{#5}{}}%
+{\index{#6}}%
+{\index{#6, #5}}%
}% end of \chapterauthor
}% end of \@ifundefined{chapter}
\NewDocumentCommand{\sectionauthor}{s o m O{} m m O{}}{%
\IfBooleanTF{#1}% star:
-{\section*{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}
+{\section*{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}%
{% no star:
-\tocdata{toc}{#5 #6}
-\IfValueTF{#2}
-{\section[#2]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}
-{\section[#3]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}
+\tocdata{toc}{#5 #6}%
+\IfValueTF{#2}%
+{\section[#2]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}%
+{\section[#3]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}%
+}% no star
+\ifthenelse{\equal{#5}{}}%
+{\index{#6}}%
+{\index{#6, #5}}%
}
-\ifblank{#5}
-{\index{#6}}
-{\index{#6, #5}}
+\newcommand{\TD@namealign}{\centering}
+\newcommand{\tdnamejustify}{%
+\renewcommand{\TD@namealign}{}%
}
-
-\newcommand{\tocdatafigprint}[4]{%
-\addvspace{1ex}%
-{\centering\footnotesize\textsc{{#1 #2 #3#4}}\par}%
+\newcommand{\tdnamecenter}{%
+\renewcommand{\TD@namealign}{\centering}%
}
-\newcommand{\tocdatafigtextprint}[1]{%
-\addvspace{1ex}%
-{\centering\footnotesize#1\par}%
+\newcommand{\tdnameleft}{%
+\renewcommand{\TD@namealign}{\raggedright}%
}
-
-\NewDocumentCommand{\captionartist}{s o m O{} O{} m m O{}}{%
-\par\tocdatafigprint{#5}{#6}{#7}{#8}
-\ifblank{#4}{}{\par\tocdatafigtextprint{#4}}
+\newcommand{\tdnameright}{%
+\renewcommand{\TD@namealign}{\raggedleft}%
+}
+\newcommand{\TD@textalign}{\centering}
+\newcommand{\tdtextjustify}{%
+\renewcommand{\TD@textalign}{}%
+}
+\newcommand{\tdtextcenter}{%
+\renewcommand{\TD@textalign}{\centering}%
+}
+\newcommand{\tdtextleft}{%
+\renewcommand{\TD@textalign}{\raggedright}%
+}
+\newcommand{\tdtextright}{%
+\renewcommand{\TD@textalign}{\raggedleft}%
+}
+\NewDocumentCommand{\captionartist}{s o m +O{} O{} m m O{}}{%
+\par\addvspace{\medskipamount}%
+\tocdatafigprint{#5}{#6}{#7}{#8}%
+\ifthenelse{\equal{#4}{}}{}{\par\tocdatafigtextprint{#4}}%
+\unskip%
\IfBooleanTF{#1}%
{% starred
\IfValueTF{#2}{\caption*[#2]{#3}}{\caption*{#3}}%
-}%
-{% no starred
+}% starred
+{% not starred
\tocdata{lof}{#6 #7}%
\IfValueTF{#2}{\caption[#2]{#3}}{\caption{#3}}%
-}
-\ifblank{#6}%
+}% not starred
+\ifthenelse{\equal{#6}{}}%
{\index{#7}}%
{\index{#7, #6}}%
}