diff options
Diffstat (limited to 'macros/latex/contrib/crumbs/crumbs.sty')
-rw-r--r-- | macros/latex/contrib/crumbs/crumbs.sty | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/macros/latex/contrib/crumbs/crumbs.sty b/macros/latex/contrib/crumbs/crumbs.sty deleted file mode 100644 index dc35f811c2..0000000000 --- a/macros/latex/contrib/crumbs/crumbs.sty +++ /dev/null @@ -1,120 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{crumbs}[2022/09/21 0.3.2 Navigation Crumbs] - -\RequirePackage{xkeyval} -\RequirePackage{etoolbox} - -\makeatletter\newif\ifcrumbs@dry\makeatother -\makeatletter\DeclareOption{dry}{\crumbs@drytrue}\makeatother -\makeatletter\newif\ifcrumbs@increment\makeatother -\makeatletter\DeclareOption{increment}{\crumbs@incrementtrue}\makeatother -\ProcessOptions\relax - -% see https://tex.stackexchange.com/a/12414/1449 -\makeatletter\newcommand\crumbs@back{\@backslashchar}\makeatother -% \makeatletter\newcommand\crumbs@percent{\@percentchar}\makeatother -\RequirePackage{catchfile} - \newwrite\appendwrite - \ExplSyntaxOn\cs_new:Npn\appendtofile#1#2{% - \begingroup - \IfFileExists{#1}% - {\CatchFileDef{\filecontent}{#1}{\endlinechar=`^^J\catcode\endlinechar=12\relax}}% keep existing end-of-lines - {\let\filecontent\empty}% - \immediate\openout\appendwrite=#1\relax - \immediate\write\appendwrite{\unexpanded\expandafter{\filecontent} \text_purify:n{#2}}% - \immediate\closeout\appendwrite - \endgroup - }\ExplSyntaxOff - -\newcommand\subcrumbs{% - \ifnum\value{section}=0\else% - \expandafter\ifcsname crumbs\romannumeral\the\value{section}\endcsname% - \csname crumbs\romannumeral\the\value{section}\endcsname{}% - \fi% - \fi% -} - -\makeatletter\newcommand\crumbection[2][]{% - \def\temp{#1}% - \ifx\crumbs\empty% - \appendtofile{\jobname.crumbs}{% - \crumbs@back ifx\crumbs@back crumbs\crumbs@back empty% - \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back setcounter\{crumbi\}\{0\}\}% - \crumbs@back fi% - \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back stepcounter\{crumbi\}\crumbs@back crumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% - }% - \fi% - \ifcrumbs@increment\stepcounter{section}\fi% -}\makeatother - -\makeatletter\newcommand\subcrumbection[2][]{% - \def\temp{#1}% - \ifx\crumbs\empty% - \appendtofile{\jobname.crumbs}{% - \crumbs@back ifcsname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\crumbs@back else - \crumbs@back expandafter\crumbs@back newcommand\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% - \crumbs@back setcounter\{subcrumbi\}\{0\}% - \}% - \crumbs@back fi% - \crumbs@back expandafter\crumbs@back gappto\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% - \crumbs@back stepcounter\{subcrumbi\}% - \crumbs@back subcrumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% - }% - \fi% - \ifcrumbs@increment\stepcounter{subsection}\fi% -}\makeatother - -\makeatletter\ifcrumbs@dry% - \message{Since "dry" mode is ON we don't renew "section" and "subsection" commands}% -\else% - \NewCommandCopy\crumbs@oldsection\section - \renewcommand\section[2][]{% - \crumbection[#1]{#2}% - \crumbs@oldsection{#2}% - } - \NewCommandCopy\crumbs@oldsubsection\subsection - \renewcommand\subsection[2][]{% - \subcrumbection[#1]{#2}% - \crumbs@oldsubsection{#2}% - } -\fi\makeatletter - -\ifcsname crumb\endcsname% - \message{The command "crumb" is already defined}% -\else% - \newcommand\crumb[2]{#1}% -\fi% -\ifcsname subcrumb\endcsname% - \message{The command "subcrumb" is already defined}% -\else% - \newcommand\subcrumb[2]{#1}% -\fi% - -\newcommand*\crumbs{} -\newcounter{crumbi} -\newcounter{subcrumbi} -\AtBeginDocument{\IfFileExists{\jobname.crumbs}{\input{\jobname.crumbs}}{}} - -\endinput |