diff options
Diffstat (limited to 'macros/latex/contrib/crumbs/crumbs.tex')
-rw-r--r-- | macros/latex/contrib/crumbs/crumbs.tex | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/macros/latex/contrib/crumbs/crumbs.tex b/macros/latex/contrib/crumbs/crumbs.tex new file mode 100644 index 0000000000..b80776ffcb --- /dev/null +++ b/macros/latex/contrib/crumbs/crumbs.tex @@ -0,0 +1,129 @@ +% (The MIT License) +% +% Copyright (c) 2021 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. + +\documentclass[12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[tt=false,type1=true]{libertine} +\usepackage{ffcode} +\usepackage{xcolor} +\usepackage{crumbs} +\usepackage{fancyhdr} + \fancyhf{} + \setlength{\headheight}{1.2in} + \renewcommand{\headrulewidth}{1pt} + \renewcommand\crumb[2]{{\sffamily[{\ifnum\value{section}=\value{crumbi}\color{orange}\fi#1}]\quad}} + \renewcommand\subcrumb[2]{{\sffamily[{\ifnum\value{subsection}=\value{subcrumbi}\color{orange}\fi#1}]$\;$}} + \fancyhead[L]{ + \ff{\char`\\crumbs}: \crumbs + \\[3pt] + \small\ff{\char`\\subcrumbs}: \subcrumbs + \\[3pt] + \footnotesize\ttfamily section=\the\value{section}, crumbi=\the\value{crumbi}, subcrumbi=\the\value{subcrumbi} + } + +\title{\ff{crumbs}: \LaTeX{} Package \\ for Navigation Crumbs} +\author{Yegor Bugayenko} +\date{0.1.0 2021/09/04} + +\begin{document} +\pagenumbering{gobble} +\raggedbottom +\setlength{\parindent}{0pt} +\setlength{\columnsep}{32pt} +\setlength{\parskip}{6pt} + +\maketitle +\pagestyle{fancy} +\thispagestyle{fancy} + +Before the first \ff{\char`\\section} command: + +\ff{\char`\\crumbs}: \crumbs +\\[3pt] +\small\ff{\char`\\subcrumbs}: \subcrumbs + +\section[Intro]{Introduction} + +This package helps you add navigation crumbs to your document, +which is most useful for presentation and slide decks: + +\begin{ffcode} +\documentclass{article} +\usepackage{crumbs} +\usepackage{fancyhdr} + \fancyhf{} + \pagestyle{fancy} + \fancyhead[L]{\crumbs / \subcrumbs} +\begin{document} +\section{Introduction} +Some text here. +\section{Related Works} +Some other text here. +\end{document} +\end{ffcode} + +You may redefine \ff{\char`\\crumb\{\}} and \ff{\char`\\subcrumb\{\}} +commands, if you want your crumbs to look nicer, for example: + +\begin{ffcode} +\renewcommand\crumb[2]{ + { + \ifnum\value{section}=\value{crumbi} + \color{orange} + \fi + #1 + } +} +\end{ffcode} + +The same for \ff{\char`\\subcrumb\{\}}, but the comparison should be +done not between \ff{section} and \ff{crumbi}, but between +\ff{subsection} and \ff{subcrumbi} counters. + +You can use \ff{\char`\\section} and \ff{\char`\\subsection} with +an option argument, which will be used in the crumbs, e.g.: + +\begin{ffcode} +\section[Details]{More Details About The Method} +\subsection[SLR]{Systematic Literature Review} +\end{ffcode} + +\subsection{How to Contribute} + +More details about this package you can find +in the \ff{yegor256/crumbs} GitHub repository. + +If you want to add a feature or fix a bug, you are welcome +to submit an issue or make a pull request. + +\section{How It Works} + +On the first run, a new file \ff{\char`\\jobname.crumbs} is created, +where all \ff{\char`\\section} and \ff{\char`\\subsection} commands +are being logged. + +On the second run, the file is loaded and two commands are being +created: \ff{\char`\\crumbs} and \ff{\char`\\subcrumbs}. The first +one is a collection of \ff{\char`\\crumb\{\}} calls, while the second +one is a collection of \ff{\char`\\subcrumb\{\}} ones. + +\end{document}
\ No newline at end of file |