diff options
author | Karl Berry <karl@freefriends.org> | 2019-01-12 22:55:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-01-12 22:55:13 +0000 |
commit | 7d06555d716ec0133a2db80ab371fefcc09e0292 (patch) | |
tree | e9cb987dfae70853947798ab8a5503673314380b /Master/texmf-dist/source/latex/tocdata | |
parent | 7e6b6b413fa3a6c64ca752632bdbb55835b37e00 (diff) |
tocdata (12jan19)
git-svn-id: svn://tug.org/texlive/trunk@49678 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tocdata')
-rw-r--r-- | Master/texmf-dist/source/latex/tocdata/tocdata.dtx | 463 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/tocdata/tocdata.ins | 5 |
2 files changed, 211 insertions, 257 deletions
diff --git a/Master/texmf-dist/source/latex/tocdata/tocdata.dtx b/Master/texmf-dist/source/latex/tocdata/tocdata.dtx index 9093086e20d..1033a28608c 100644 --- a/Master/texmf-dist/source/latex/tocdata/tocdata.dtx +++ b/Master/texmf-dist/source/latex/tocdata/tocdata.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 2016 Brian Dunn +% Copyright 2016--2019 Brian Dunn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -15,7 +15,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{tocdata} -%<package> [2016/12/02 v0.12 Adds author/artist to TOC entries.] +%<package> [2019/01/12 v1.00 Adds author/artist to TOC entries.] % %<*driver> \documentclass{ltxdoc} @@ -25,15 +25,19 @@ \newcommand{\quicksummary}{% Optionally prints author, artist, or other data on a line -of the \acro{TOC}/\acro{LOF}. +of the \acro{TOC}\Slash\acro{LOF}. } -\usepackage{lmodern} +% \usepackage{lmodern} +\usepackage{erewhon} +\usepackage{roboto} +\usepackage{inconsolata} % \usepackage{libertine} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provides \degree, \textquotesingle, \textmu +\usepackage{textgreek} \usepackage{newunicodechar} \newunicodechar{ff}{ff} @@ -56,11 +60,24 @@ of the \acro{TOC}/\acro{LOF}. % \newunicodechar{†}{\dag} \newunicodechar{‡}{\ddag} +\usepackage{metalogo} +\makeatletter +\@ifpackageloaded{erewhon}{ +\setlogokern{Te}{-.08em} +\setlogokern{eX}{-0.04em} +\setlogokern{La}{-.25em} +\setlogokern{aT}{-.08em} +\setlogokern{Xe}{-.04em} +\setlogokern{eL}{-.06em} +\setlogodrop{0.27ex} +}{} +\makeatother + \usepackage{microtype} -\usepackage[log-declarations=false]{xparse} +\usepackage{etoolbox} -\usepackage{xifthen} +\usepackage[log-declarations=false]{xparse} \usepackage[svgnames]{xcolor} \definecolor{myurlcolor}{rgb}{0,0,.7} @@ -68,12 +85,11 @@ of the \acro{TOC}/\acro{LOF}. \definecolor{codecolor}{rgb}{0,.4,.2} \definecolor{overviewcolor}{rgb}{0,.2,.4} +\usepackage{dtxdescribe} \usepackage{graphicx} \graphicspath{{images/}} -\usepackage{multicol} - \usepackage{enumitem} \usepackage{array} @@ -129,96 +145,20 @@ Keywords={LaTeX, tocdata, contents}% \usepackage{cleveref} - -\newcommand{\lmacro}[1]{\textbackslash#1} -\newcommand{\cmds}[1]{\texttt{#1}} -\newcommand{\env}[1]{\texttt{#1}} -\newcommand{\pkg}[1]{\textsf{\textbf{#1}}} -\newcommand{\acro}[1]{\textsc{\lowercase{#1}}} - - - -% Indexing improvements: -\makeatletter - -\newcommand*{\Desc@Type}[1]{\raggedleft{\scriptsize#1}\quad} - -% \Describe@Usage{name}{margin tag}{index tag} -\newcommand*{\Describe@Usage}[3]{% -% \@bsphack% -\leavevmode\marginpar{\Desc@Type{#2}\texttt{#1}}% -\index{#1\actualchar{\protect\ttfamily#1} (#3)\encapchar usage}% -\index{#3s:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar usage}% -% \@esphack% -\ignorespaces% -} - -% \Describe@CmdUsage{name}{margin tag}{index tag} -% where name is a \macro -\newcommand*{\Describe@CmdUsage}[3]{% -% \@bsphack% -\leavevmode\marginpar{\Desc@Type{#2}\cmd{#1}}% -\SpecialIndex@{#1}{ (#3)\encapchar usage}% -\index{#3s:\levelchar\cmd{#1}\encapchar usage}\ignorespaces% -% \@esphack% -\ignorespaces% -} - -\newcommand*{\DescribeCommand}[1]{\Describe@Usage{#1}{Cmd}{command}} -\newcommand*{\DescribeFile}[1]{\Describe@Usage{#1}{File}{file}} -\newcommand*{\DescribePackage}[1]{\Describe@Usage{#1}{Pkg}{package}} -\newcommand*{\DescribeOption}[1]{\Describe@Usage{#1}{Opt}{option}} -\newcommand*{\DescribeArgument}[1]{\Describe@Usage{#1}{Arg}{argument}} -\newcommand*{\DescribeBoolean}[1]{\Describe@Usage{#1}{Bool}{boolean}} -\newcommand*{\DescribeLength}[1]{\Describe@CmdUsage{#1}{Len}{length}} -\newcommand*{\DescribeCounter}[1]{\Describe@Usage{#1}{Ctr}{counter}} -\newcommand*{\DescribeSimple}[1]{\leavevmode\marginpar{\raggedleft\texttt{#1}}\index{#1=\texttt{#1}}\ignorespaces} -\renewcommand{\PrintEnvName}[1]{\strut \MacroFont {\scriptsize{}Env\quad}#1\ } -\renewcommand{\PrintDescribeEnv}[1]{\strut \MacroFont {\scriptsize{}Env\quad}#1\ } - -\newcommand*{\DescribeKey}[1]{% -\Describe@Usage{#1}{Key}{key}% -} - -\makeatother - - -\newcommand{\tikz}{Ti\textit{k}z} -\newcommand{\htmlfive}{\acro{HTML}\oldstylenums{5}} -\newcommand{\cssthree}{\acro{CSS}\oldstylenums{3}} - -\newcommand{\goesto}{$\Rightarrow$} - -\newenvironment{docsidebar}[1][] -{\par\addvspace{1.5ex}% -\hfill\minipage{.9\linewidth} -\raggedright#1 -%\smallskip\hrule\medskip -} -{ -% \smallskip\hrule -\endminipage\hspace*{\fill}\par\addvspace{1.5ex}} - -\makeatletter -\newcommand{\watchout}[1][]{% -\@bsphack% -\marginpar{\hspace*{\fill}\includegraphics[height=3ex]{symbol_warning.pdf} -\textcolor{DarkRed}{#1}}% -\@esphack% -} -\makeatother - +% from dtxdescribe: +\setlength{\marginparsep}{1em} +\setlength{\marginparpush}{.7ex} -\setlength{\marginparsep}{1em} -\setlength{\marginparpush}{.7ex} \setlength{\parindent}{0em} \setlength{\parskip}{2ex} \setlength{\IndexMin}{40ex} + \usepackage{\mypackagename} + \setcounter{IndexColumns}{2} \setcounter{GlossaryColumns}{1} @@ -253,6 +193,8 @@ Keywords={LaTeX, tocdata, contents}% % \changes{v0.11}{2016/07/11}{\ 2016/07/11} % \changes{v0.11}{2016/07/11}{Minor docs improvements in spelling, grammar, formatting.} % \changes{v0.12}{2016/12/02}{\ 2016/12/02} +% \changes{v1.00}{2019/01/12}{\ 2019/01/12} +% \changes{v1.00}{2019/01/08}{Improved source formatting.} @@ -269,13 +211,13 @@ Keywords={LaTeX, tocdata, contents}% % \vfill % ^^A \includegraphics[width=.3\linewidth]{\mypackagename_logo.pdf} % \vfill -% {\Huge The \textbf{\mypackagename} package} +% {\Huge The \pkg{\mypackagename} package} % % \fileversion{} --- \filedate % % \bigskip % -% {\small\copyright{} 2016} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} +% {\small\textcopyright{} 2016--2019} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com} % % \vspace{.5in} % @@ -286,12 +228,13 @@ Keywords={LaTeX, tocdata, contents}% % \vfill % % \begin{abstract} -% Describes a method for adding information such as an author or artist to -% each line of a table of contents or list of figures entry, -% after the title and just before page number. -% This is commonly done in the table of contents of an anthology, for example. +% \noindent +% The \pkg{tocdata} package adds information such as an author or artist to +% an entry in the table of contents or list of figures, +% on a single line along with the caption and page number. +% This is commonly done in collections of literature, poetry, or art work. % -% Support is provided for the \pkg{titletoc} and \pkg{tocloft} packages. +% Either the \pkg{titletoc} or \pkg{tocloft} package must be loaded before \pkg{tocdata}. % \end{abstract} % % \vspace*{\fill} @@ -399,7 +342,7 @@ Keywords={LaTeX, tocdata, contents}% % into the table of contents, along with hooks for the \pkg{titletoc} and \pkg{tocloft} packages. % \item The intermediate-level macro is \cs{tocdata}, which may be used to manually % add a piece of data to a \cs{chapter}, \cs{section}, or \cs{caption}. -% \cs{tocdatafont} is also provided to control the appearance of this data in the \acro{TOC}/\acro{LOF}. +% \cs{tocdatafont} is also provided to control the appearance of this data in the \acro{TOC}\Slash\acro{LOF}. % \item At the highest level is a sample implementation of user-level macros which provides % an easy way to create chapters, sections, and figures with associated authors and artists, % along with supplemental information for figures, and automatic index entries. @@ -415,70 +358,60 @@ Keywords={LaTeX, tocdata, contents}% % \pkg{tocdata} requires the use of either the \pkg{tocloft} or \pkg{titletoc} package. % % In the preamble, use: -% -% -% \begin{docsidebar} -% |\usepackage{tocloft}| -% -% |\usepackage{tocdata}| -% \end{docsidebar} -% +% \begin{sourceverb} +% \usepackage{tocloft} +% \usepackage{tocdata} +% \end{sourceverb} % -\textit{or}- -% -% \begin{docsidebar} -% |\usepackage{titletoc}| -% -% |\usepackage{tocdata}| -% \end{docsidebar} -% -% +% \begin{sourceverb} +% \usepackage{titletoc} +% \usepackage{tocdata} +% \end{sourceverb} % % \begin{docsidebar} % If using \pkg{titletoc}: +% \watchout[\cs{dottedcontents}] % Note that the user should not use the \cs{dottedcontents} macro, as this % is not patched for use with \pkg{tocdata}. Use \cs{titlecontents} instead, % inserting the \cs{TD@usetocdata} macro as shown below. % \end{docsidebar} -% \vspace{-6ex}\watchout[\cs{dottedcontents}]\vspace{6ex} % -% \subsubsection{Font control in the TOC/LOF} +% \subsubsection{Font control in the \acro{TOC}\Slash\acro{LOF}} % % To control the font used for the author on the table-of-contents line, % the default is: -% -% \begin{docsidebar} -% |\newcommand{\tocdatafont}[1]{{\normalfont\textit{\small#1}}}| -% \end{docsidebar} +% \begin{sourceverb} +% \newcommand{\tocdatafont}[1]{{\normalfont\textit{\small#1}}} +% \end{sourceverb} % % You may change to other font options, such as: -% -% \begin{docsidebar} -% |\renewcommand{\tocdatafont}[1]{\normalfont\textsc{\footnotesize#1}}| -% \end{docsidebar} +% \begin{sourceverb} +% \renewcommand{\tocdatafont}[1]{\normalfont\textsc{\footnotesize#1}} +% \end{sourceverb} % % % \subsection{Mid-level applications} % -% Should the user only wish to add a bit of text into the \acro{TOC}/\acro{LOF}, +% Should the user only wish to add a bit of text into the \acro{TOC}\Slash\acro{LOF}, % the \cs{tocdata} macro may be used just before the sectioning or caption command, % as shown next. % -% \subsubsection{Adding TOC data per section} +% \subsubsection{Adding \acro{TOC} data per section} % Before each \cs{chapter} or \cs{section} which is to have an author or other data: % -% \begin{docsidebar} -% |\tocdata{toc}{Author's Name}| \\ -% |\chapter{Chapter Title}| \quad -\textit{or}- \quad |\section{Section Title}| -% \end{docsidebar} +% \begin{sourceverb} +% \tocdata{toc}{Author's Name} +% \chapter{Chapter Title} -or- \section{Section Title} +% \end{sourceverb} % % -% \subsubsection{Adding LOF data per figure} +% \subsubsection{Adding \acro{LOF} data per figure} % Before each \cs{caption} which is to have an artist: % -% \begin{docsidebar} -% |\tocdata{lof}{Artist's Name}| \\ -% |\caption{Figure Title}| -% \end{docsidebar} +% \begin{sourceverb} +% \tocdata{lof}{Artist's Name} +% \caption{Figure Title} +% \end{sourceverb} % % You may wish to print the artist's name in the figure as well. % @@ -493,7 +426,7 @@ Keywords={LaTeX, tocdata, contents}% % and also add the names to the index. % An optional prefix and suffix may be attached to the names (as in Figure \ref{fig:astronometer}), % and these will be printed at the section heading or caption, but not -% in the \acro{TOC}/\acro{LOF} or in the index. +% in the \acro{TOC}\Slash\acro{LOF} or in the index. % % These macros may be ignored or modified as needed. % @@ -503,37 +436,34 @@ Keywords={LaTeX, tocdata, contents}% % To use these macros, do not use \cs{tocdata} as shown above, but instead use, % in the place of \cs{chapter}: % -% \begin{docsidebar} -% |\chapterauthor[TOC entry]{Title}[Prefix]{First}{Last}[Suffix]| -% \end{docsidebar} +% \begin{sourceverb} +% \chapterauthor[\TOC\ entry]{Title}[Prefix]{First}{Last}[Suffix] +% \end{sourceverb} % % \DescribeMacro{\sectionauthor} % or, in the place of \cs{section}: % -% \begin{docsidebar} -% |\sectionauthor[TOC entry]{Title}[Prefix]{First}{Last}[Suffix]| -% \end{docsidebar} +% \begin{sourceverb} +% \sectionauthor[\TOC\ entry]{Title}[Prefix]{First}{Last}[Suffix] +% \end{sourceverb} % % \subsubsection{Figure captions with artist names and add'l text} % % \DescribeMacro{\captionartist} % For figures, in the place of \cs{caption}: % -% \begin{docsidebar} -% |\captionartist[LOF entry]{Title}[Text][Prefix]{First}{Last}[Suffix]| -% \end{docsidebar} +% \begin{sourceverb} +% \captionartist[\LOF\ entry]{Title}[Text][Prefix]{First}{Last}[Suffix] +% \end{sourceverb} % % If you are using the optional prefix, the optional text must also be given, even if it % is empty. For example, use: % \watchout[Optional arguments] -% \begin{docsidebar} -% |\captionartist{Title}|\textcolor{red}{|[]|}|[Sir]{Isaac}{Newton}| -% -% \medskip -% -% \footnotesize (If only one optional argument is given before the first name, it will be -% interpreted as the optional text, not as the optional prefix.) -% \end{docsidebar} +% \begin{sourceverb} +% \captionartist{Title}|\textcolor{red}{|[]|}|[Sir]{Isaac}{Newton} +% \end{sourceverb} +% If only one optional argument is given before the first name, it will be +% interpreted as the optional text, not as the optional prefix. % % \DescribeMacro{\captionartist*} % If you are using the \pkg{caption} package or another package which @@ -553,7 +483,8 @@ Keywords={LaTeX, tocdata, contents}% % \DescribeMacro{\tocdatasecprint} % To change the formatting of the author names printed after % each chapter or section, or to remove them entirely, use -% these macros, as described in section \ref{sec:usermacros} on page \pageref{sec:usermacros}: +% these macros, as described in section~\ref{sec:usermacros} +% on page~\pageref{sec:usermacros}. % % % \DescribeMacro{\tocdatafigprint} @@ -589,7 +520,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{figure}[hbp] % \centering % \setlength{\fboxsep}{2ex} -% {\fontsize{100}{120}\selectfont$\Omega$} +% {\fontsize{35}{50}\selectfont\textOmega} % \captionartist{Omega --- The End}{Greek}{Alphabet} % \end{figure} %} @@ -629,14 +560,35 @@ Keywords={LaTeX, tocdata, contents}% % \subsection{Requirements} % % \changes{v0.12}{2016/12/02}{Added requirement for \pkg{xifthen}.} +% \changes{v1.00}{2019/01/08}{Remove \pkg{xifthen} dependency.} % % \begin{macrocode} \RequirePackage{xparse} \RequirePackage{etoolbox} -\RequirePackage{xifthen} +% \end{macrocode} + +% Test for either \pkg{titletoc} or \pkg{tocloft}. +% \changes{v1.00}{2019/01/09}{Test for \pkg{titletoc} or \pkg{tocloft}.} +% \begin{macrocode} +\@ifpackageloaded{titletoc}{ + \@ifpackageloaded{tocloft}{ + \PackageError{tocdata} + {Both titletoc and tocloft are being used. Load only one} + {The tocdata package requires either one of titletoc or tocloft.} + }{} +}{% Not titletoc. + \@ifpackageloaded{tocloft}{}{ + \PackageError{tocdata} + { + The tocdata package requires either the tocloft or titletoc package% + } + {Load either, then load tocdata next.} + } +} % \end{macrocode} + % \subsection{\pkg{tocdata} code} % \begin{macro}{\TD@thistocdata} % Storage for the data to be added to the end of the \acro{TOC} entry: @@ -657,7 +609,7 @@ Keywords={LaTeX, tocdata, contents}% % To be called by a higher-level macro to assign data to a |.toc| or |.lof| file: % \begin{macrocode} \newcommand{\tocdata}[2]{% -\@bsphack\addtocontents{#1}{\protect\settocdata{#2}}\@esphack% + \@bsphack\addtocontents{#1}{\protect\settocdata{#2}}\@esphack% } % \end{macrocode} % \end{macro} @@ -684,8 +636,8 @@ Keywords={LaTeX, tocdata, contents}% % Prints the data, then clears the storage so it is not printed again. % \begin{macrocode} \newcommand{\TD@usetocdata}{% -\tocdatafont{\TD@thistocdata}% -\global\def\TD@thistocdata{}% + \tocdatafont{\TD@thistocdata}% + \global\def\TD@thistocdata{}% } % \end{macrocode} % \end{macro} @@ -832,9 +784,9 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macrocode} \newcommand{\TD@optionalname}[1] {% -\ifthenelse{\equal{#1}{}}% -{}% -{#1~}% + \ifblank{#1}% + {}% + {#1~}% } % \end{macrocode} % \end{macro} @@ -852,15 +804,15 @@ Keywords={LaTeX, tocdata, contents}% {% only of chapters exists in this documentclass: \newcommand{\tocdatachapprint}[4] {% -\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- % -\TD@optionalname{#1}\TD@optionalname{#2}#3#4}}% + \newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- % + \TD@optionalname{#1}\TD@optionalname{#2}#3#4}}% } }% end of chapters-only % \end{macrocode} % To remove the author's name, redefine this as a null function taking four arguments: -% \begin{docsidebar} -% |\renewcommand{\tocdatachapprint}[4]{}| -% \end{docsidebar} +% \begin{sourceverb} +% \renewcommand{\tocdatachapprint}[4]{} +% \end{sourceverb} % \end{macro} % % \begin{macro}{\tocdatasecprint} \marg{prefix} \marg{first} \marg{last} \marg{suffix} @@ -872,15 +824,15 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macrocode} \newcommand{\tocdatasecprint}[4] {% -\newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- % -\TD@optionalname{#1}\TD@optionalname{#2}#3#4}% + \newline\noindent{\normalfont\normalsize\textit{\hspace*{2em}--- % + \TD@optionalname{#1}\TD@optionalname{#2}#3#4}% }% } % \end{macrocode} % To remove the author's name, redefine this as a null function taking four arguments: -% \begin{docsidebar} -% |\renewcommand{\tocdatasecprint}[4]{}| -% \end{docsidebar} +% \begin{sourceverb} +% \renewcommand{\tocdatasecprint}[4]{} +% \end{sourceverb} % \end{macro} % % @@ -894,21 +846,19 @@ Keywords={LaTeX, tocdata, contents}% % % \begin{macrocode} \newcommand{\tocdatafigprint}[4]{% -\addvspace{2ex}% -% \addvspace{\medskipamount}% -\begin{minipage}{\linewidth}% -\TD@namealign% -\footnotesize\textsc{{\TD@optionalname{#1}\TD@optionalname{#2}#3#4}}% -\end{minipage}% -\par% -\addvspace{2ex}% -% \addvspace{\medskipamount}% + \addvspace{2ex}% + \begin{minipage}{\linewidth}% + \TD@namealign% + \footnotesize\textsc{{\TD@optionalname{#1}\TD@optionalname{#2}#3#4}}% + \end{minipage}% + \par% + \addvspace{2ex}% } % \end{macrocode} % To remove the artist's name, redefine this as a null function taking four arguments: -% \begin{docsidebar} -% |\renewcommand{\tocdatafigprint}[4]{}| -% \end{docsidebar} +% \begin{sourceverb} +% \renewcommand{\tocdatafigprint}[4]{} +% \end{sourceverb} % \end{macro} % % @@ -922,17 +872,16 @@ Keywords={LaTeX, tocdata, contents}% % % \begin{macrocode} \newcommand{\tocdatafigtextprint}[1]{% -\addvspace{2ex}% -\begin{minipage}{\linewidth}% -\TD@textalign% -\footnotesize% -\setlength{\parskip}{1.5ex}% -\setlength{\parindent}{0em}% -#1% -\end{minipage}% -\par% -\addvspace{2ex}% -% \addvspace{\medskipamount}% + \addvspace{2ex}% + \begin{minipage}{\linewidth}% + \TD@textalign% + \footnotesize% + \setlength{\parskip}{1.5ex}% + \setlength{\parindent}{0em}% + #1% + \end{minipage}% + \par% + \addvspace{2ex}% } % \end{macrocode} % \end{macro} @@ -941,8 +890,8 @@ Keywords={LaTeX, tocdata, contents}% % % \subsubsection{Chapters and sections} % -% \begin{macro}{\chapterauthor} * \oarg{2:TOC entry} \marg{3:title} -% \oarg{4:prefix} \marg{5:first} \marg{6:last} \oarg{7:suffix} +% \begin{macro}{\chapterauthor} * \oarg{2: \TOC\ entry} \marg{3: title} +% \oarg{4: prefix} \marg{5: first} \marg{6: last} \oarg{7: suffix} % % \changes{v0.12}{2016/11/28}{Expands first name before index check.} % \begin{macrocode} @@ -954,34 +903,36 @@ Keywords={LaTeX, tocdata, contents}% % The starred version does not create a \acro{TOC} entry, % so it is used as-is: % \begin{macrocode} -\IfBooleanTF{#1}% star: -{\chapter*{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}% + \IfBooleanTF{#1}% + {% star: + \chapter*{#3\tocdatachapprint{#4}{#5}{#6}{#7}}% + }% % \end{macrocode} % The un-starred version appears in the \acro{TOC}, so add the author's name: % \begin{macrocode} -{% no star: -\tocdata{toc}{#5 #6}% + {% no star: + \tocdata{toc}{#5 #6}% % \end{macrocode} % Create the chapter depending on the optional name: % \begin{macrocode} -\IfValueTF{#2}% -{\chapter[#2]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}% -{\chapter[#3]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}% -}% + \IfValueTF{#2}% + {\chapter[#2]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}% + {\chapter[#3]{#3\tocdatachapprint{#4}{#5}{#6}{#7}}}% + }% % \end{macrocode} % Create an index entry depending on whether there is a first name: % \begin{macrocode} -\ifthenelse{\equal{#5}{}}% -{\index{#6}}% -{\index{#6, #5}}% + \ifblank{#5}% + {\index{#6}}% + {\index{#6, #5}}% }% end of \chapterauthor }% end of \@ifundefined{chapter} % \end{macrocode} % \end{macro} -% \begin{macro}{\sectionauthor} * \oarg{2:TOC entry} \marg{3:title} -% \oarg{4:prefix} \marg{5:first} \marg{6:last} \oarg{7:suffix} +% \begin{macro}{\sectionauthor} * \oarg{2: \TOC\ entry} \marg{3: title} +% \oarg{4: prefix} \marg{5: first} \marg{6: last} \oarg{7: suffix} % % \changes{v0.12}{2016/11/28}{Expands first name before index check.} % \begin{macrocode} @@ -990,26 +941,28 @@ Keywords={LaTeX, tocdata, contents}% % The starred version does not create a \acro{TOC} entry, % so it is simply used as-is: % \begin{macrocode} -\IfBooleanTF{#1}% star: -{\section*{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}% + \IfBooleanTF{#1}% + {% star: + \section*{#3\tocdatasecprint{#4}{#5}{#6}{#7}}% + }% % \end{macrocode} % The un-starred version appears in the \acro{TOC}, so add the author's name: % \begin{macrocode} -{% no star: -\tocdata{toc}{#5 #6}% + {% no star: + \tocdata{toc}{#5 #6}% % \end{macrocode} % Create the section depending on the optional name: % \begin{macrocode} -\IfValueTF{#2}% -{\section[#2]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}% -{\section[#3]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}% -}% no star + \IfValueTF{#2}% + {\section[#2]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}% + {\section[#3]{#3\tocdatasecprint{#4}{#5}{#6}{#7}}}% + }% no star % \end{macrocode} % Create an index entry depending on whether there is a first name: % \begin{macrocode} -\ifthenelse{\equal{#5}{}}% -{\index{#6}}% -{\index{#6, #5}}% + \ifblank{#5}% + {\index{#6}}% + {\index{#6, #5}}% } % \end{macrocode} % \end{macro} @@ -1028,7 +981,7 @@ Keywords={LaTeX, tocdata, contents}% % \changes{v0.12}{2016/11/30}{etc. Added name alignment.} % \begin{macrocode} \newcommand{\tdnamejustify}{% -\renewcommand{\TD@namealign}{}% + \renewcommand{\TD@namealign}{}% } % \end{macrocode} % \end{macro} @@ -1036,7 +989,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdnamecenter} Sets centered text alignment in the optional text. % \begin{macrocode} \newcommand{\tdnamecenter}{% -\renewcommand{\TD@namealign}{\centering}% + \renewcommand{\TD@namealign}{\centering}% } % \end{macrocode} % \end{macro} @@ -1044,7 +997,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdnameleft} Sets left text alignment in the optional text. % \begin{macrocode} \newcommand{\tdnameleft}{% -\renewcommand{\TD@namealign}{\raggedright}% + \renewcommand{\TD@namealign}{\raggedright}% } % \end{macrocode} % \end{macro} @@ -1052,7 +1005,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdnameright} Sets right text alignment in the optional text. % \begin{macrocode} \newcommand{\tdnameright}{% -\renewcommand{\TD@namealign}{\raggedleft}% + \renewcommand{\TD@namealign}{\raggedleft}% } % \end{macrocode} % \end{macro} @@ -1070,7 +1023,7 @@ Keywords={LaTeX, tocdata, contents}% % \changes{v0.12}{2016/11/30}{etc. Added text alignment.} % \begin{macrocode} \newcommand{\tdtextjustify}{% -\renewcommand{\TD@textalign}{}% + \renewcommand{\TD@textalign}{}% } % \end{macrocode} % \end{macro} @@ -1078,7 +1031,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdtextcenter} Sets centered text alignment in the optional text. % \begin{macrocode} \newcommand{\tdtextcenter}{% -\renewcommand{\TD@textalign}{\centering}% + \renewcommand{\TD@textalign}{\centering}% } % \end{macrocode} % \end{macro} @@ -1086,7 +1039,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdtextleft} Sets left text alignment in the optional text. % \begin{macrocode} \newcommand{\tdtextleft}{% -\renewcommand{\TD@textalign}{\raggedright}% + \renewcommand{\TD@textalign}{\raggedright}% } % \end{macrocode} % \end{macro} @@ -1094,7 +1047,7 @@ Keywords={LaTeX, tocdata, contents}% % \begin{macro}{tdtextright} Sets right text alignment in the optional text. % \begin{macrocode} \newcommand{\tdtextright}{% -\renewcommand{\TD@textalign}{\raggedleft}% + \renewcommand{\TD@textalign}{\raggedleft}% } % \end{macrocode} % \end{macro} @@ -1103,9 +1056,10 @@ Keywords={LaTeX, tocdata, contents}% % % \subsubsection{Figures} % -% \begin{macro}{\captionartist} * \oarg{2:LOF entry} \marg{3:title} -% \oarg{4:supplemental text} -% \oarg{5: prefix} \marg{6:first} \marg{7:last} \oarg{8:suffix} +% \begin{macro}{\captionartist} * \oarg{2: \LOF\ entry} \marg{3: title} +% \oarg{4: supplemental text} +% \oarg{5: prefix} \marg{6: first} \\ +% \marg{7: last} \oarg{8: suffix} % % \changes{v0.12}{2016/11/28}{Allows paragraphs in add'l text.} % \changes{v0.12}{2016/11/28}{Expands first name before index check.} @@ -1117,53 +1071,52 @@ Keywords={LaTeX, tocdata, contents}% % If using the optional prefix, the optional text must also be given, even if it % \watchout[Optional arguments] % is empty. For example, use: -% \begin{docsidebar} -% |\captionartist{Title}|\textcolor{red}{|[]|}|[Sir]{Isaac}{Newton}| -% -% \medskip -% -% \footnotesize (If only one optional argument is given before the first name, it will be -% interpreted as the optional text, not as the optional prefix.) -% \end{docsidebar} +% \begin{sourceverb} +% \captionartist{Title}|\textcolor{red}{|[]|}|[Sir]{Isaac}{Newton} +% \end{sourceverb} +% If only one optional argument is given before the first name, it will be +% interpreted as the optional text, not as the optional prefix. % \begin{macrocode} \NewDocumentCommand{\captionartist}{s o m +O{} O{} m m O{}}{% % \end{macrocode} % Print the artist's name next to the figure: % \begin{macrocode} -\par\addvspace{\medskipamount}% -\tocdatafigprint{#5}{#6}{#7}{#8}% + \par\addvspace{\medskipamount}% + \tocdatafigprint{#5}{#6}{#7}{#8}% % \end{macrocode} % If supplemental text is provided, print it below the author: % \begin{macrocode} -\ifthenelse{\equal{#4}{}}{}{\par\tocdatafigtextprint{#4}}% + \ifblank{#4}% + {}% + {\par\tocdatafigtextprint{#4}}% % \end{macrocode} % Remove any existing vertical space and only use \cs{caption}'s built-in spacing: % \begin{macrocode} -\unskip% + \unskip% % \end{macrocode} % If starred, there should be no \acro{TOC} entry, so do not add tocdata. % Use \cs{caption*} from the \pkg{caption} or similar packages. % \begin{macrocode} -\IfBooleanTF{#1}% -{% starred -\IfValueTF{#2}{\caption*[#2]{#3}}{\caption*{#3}}% -}% starred -{% not starred + \IfBooleanTF{#1}% + {% starred + \IfValueTF{#2}{\caption*[#2]{#3}}{\caption*{#3}}% + }% starred + {% not starred % \end{macrocode} % No starred, so remember the artist's name for inclusion in the \acro{LOF}: % \begin{macrocode} -\tocdata{lof}{#6 #7}% + \tocdata{lof}{#6 #7}% % \end{macrocode} % Create the caption depending on the optional name: % \begin{macrocode} -\IfValueTF{#2}{\caption[#2]{#3}}{\caption{#3}}% -}% not starred + \IfValueTF{#2}{\caption[#2]{#3}}{\caption{#3}}% + }% not starred % \end{macrocode} % Create an index entry depending on whether there is a first name: % \begin{macrocode} -\ifthenelse{\equal{#6}{}}% -{\index{#7}}% -{\index{#7, #6}}% + \ifblank{#6}% + {\index{#7}}% + {\index{#7, #6}}% } % \end{macrocode} % \end{macro} @@ -1183,7 +1136,7 @@ Keywords={LaTeX, tocdata, contents}% % \clearpage % ^^A \pagestyle{plain} % \phantomsection -% \tocdata{toc}{Automated} +% \tocdata{toc}{\prog{makeindex}} % \addcontentsline{toc}{section}{Change History and \indexname} % % \pagestyle{plain} diff --git a/Master/texmf-dist/source/latex/tocdata/tocdata.ins b/Master/texmf-dist/source/latex/tocdata/tocdata.ins index 85a47ccc63e..22df61952b6 100644 --- a/Master/texmf-dist/source/latex/tocdata/tocdata.ins +++ b/Master/texmf-dist/source/latex/tocdata/tocdata.ins @@ -13,8 +13,8 @@ %% %% The Current Maintainer of this work is Brian Dunn. %% -%% This work consists of the files lwarp.dtx and lwarp.ins -%% and the derived file lwarp.sty. +%% This work consists of the files tocdata.dtx and tocdata.ins +%% and the derived file tocdata.sty. \input docstrip.tex \keepsilent \usedir{tex/latex/ package } @@ -30,6 +30,7 @@ The latest version of this license is in and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. \endpreamble +\askforoverwritefalse \generate{\file{tocdata.sty}{\from{tocdata.dtx}{package}}} \Msg{*********************************************************} \Msg{*} |