%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Copyright © 2022 Maximilian Keßler % % This work may be distributed and/or modified % % 1. under the LaTeX Project Public License and/or % 2. under the GNU General Public License % % Distribution under conditions of the LaTeX Project Public License, % requires either version 1.3 of this license or (at your option) % any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status \`maintained'. % % The Current Maintainer of this work is Maximilian Keßler. % % % Distribution under the GNU General Public License requires either % version 3 or (at your opinion) any later version. % % This package has been generated by PyTeX, available at % https://github.com/kesslermaximilian/PyTeX % and built from source file 'vocab.pysty'. % It is STRONGLY DISCOURAGED to edit this source file directly, since local % changes will not be versioned by Git and overwritten by the next build. Always % edit the source file and build the package again. % % Build details: % PyTeX version: v1.2.0-28-ge661cee (commit e661cee) % Source code version: v2.8 (commit 1d48178) % % This LaTeX package is free software and is dual-licensed % under the LPPLv1.3c and the GPLv3 licenses. % You may use it freely for your purposes. % The latest version of the package sources can be obtained % via GitLab under % https://gitlab.com/latexci/packages/LatexPackages % The latest version of the built packages can be obtained via GitLab under % https://gitlab.com/latexci/packages/LatexPackagesBuild % For further information see the urls above. % Reportings of bugs, suggestions and improvements are welcome, see the README % at the Git repository for further information. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{mkessler-vocab}[2022/01/24 - Package for emphasizing vocabulary] %%Provides a \vocab<[name in index]>{vocabulary} command to print vocabulary in bold blue and automatically index it. \RequirePackage{xkeyval} \newif\ifmkessler@vocab@english\mkessler@vocab@englishtrue \DeclareOptionX{german}{\mkessler@vocab@englishfalse} \DeclareOptionX{ngerman}{\mkessler@vocab@englishfalse} \DeclareOptionX{english}{\mkessler@vocab@englishtrue} \newif\ifmkessler@vocab@index\mkessler@vocab@indexfalse \DeclareOptionX{index}{\mkessler@vocab@indextrue} \DeclareOptionX{noindex}{\mkessler@vocab@indexfalse} \DeclareOptionX*{\PackageWarning{mkessler-vocab}{Unknown '\CurrentOption'}} \ProcessOptionsX*\relax %%%%Management of vocabulary and corresponding index \RequirePackage{xparse} \RequirePackage{xcolor} \ifmkessler@vocab@index \RequirePackage{imakeidx} \makeindex[name=vocabindex, columns=2, title=\ifmkessler@vocab@english Index\else Stichwortverzeichnis\fi, intoc] %Emphasize \vocabulary \RequirePackage{expl3} \ExplSyntaxOn \NewDocumentCommand{\vocab}{O{} m}{ \textbf{\color{blue} #2}% \if\relax\detokenize{#1}\relax% \index[vocabindex]{\text_titlecase_first:n{#2}} % true branch: #1 was empty \else \index[vocabindex]{#1} % false branch: #1 was supplied \fi } \ExplSyntaxOff \newcommand\printvocabindex{ \printindex[vocabindex] } \else \NewDocumentCommand{\vocab}{O{} m }{ \textbf{\color{blue} #2} } \fi