diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/langnames/langnames.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/langnames/langnames.sty | 106 |
1 files changed, 81 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/langnames/langnames.sty b/Master/texmf-dist/tex/latex/langnames/langnames.sty index e679d89a2b8..d3027ffe262 100644 --- a/Master/texmf-dist/tex/latex/langnames/langnames.sty +++ b/Master/texmf-dist/tex/latex/langnames/langnames.sty @@ -14,32 +14,88 @@ %% 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. -\NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{langnames} - [2022/08/25 v1.0 langnames package for naming and classification of languages] - \csname - \endcsname} -\usepackage{xkeyval} - -\DeclareOption{glottolog}{\input{ln_langs_glot.tex} - \input{ln_fams_glot.tex}} -\DeclareOption{wals}{\input{ln_langs_wals.tex} - \input{ln_fams_wals.tex}} -\DeclareOption{none}{} -\newcommand{\lname}[1]{% - \csname KV@names@#1\endcsname\unskip -} -\newcommand{\liso}[1]{% - \csname KV@names@#1\endcsname{} (ISO 639-3: #1)\unskip -} -\newcommand{\lfam}[1]{% - \csname KV@names@#1\endcsname{} (\csname KV@fams@#1\endcsname{})\unskip -} -\newcommand{\newlang}[3]{% - \define@key{names}{#1}{#2} - \define@key{fams}{#1}{#3} -} -\ProcessOptions \relax + [2022/09/05 v2.0 langnames package for naming and classification of languages] +\usepackage{expkv-opt,expkv-def} +\ekvdefinekeys{langnames}{% + noval glottolog = {% + \def\langnames@cs@prefix{glottolog}% + \input{ln_langs_glot.tex}% + \input{ln_fams_glot.tex}% + },% + noval wals = {% + \def\langnames@cs@prefix{wals}% + \input{ln_langs_wals.tex}% + \input{ln_fams_wals.tex}% + },% + noval none = {% + \def\langnames@cs@prefix{none}% + },% + noval native = {% + \input{ln_langs_wals_native.tex}% + \input{ln_langs_glot_native.tex}% + }% +} +\ekvoProcessLocalOptions{langnames} +\newcommand*{\lname}[1]{% + {% + \csname langnames@langs@\langnames@cs@prefix @#1\endcsname + }% +} +\newcommand*{\liso}[1]{% + {% + {\csname langnames@langs@\langnames@cs@prefix @#1\endcsname} + (ISO 639-3: #1)% + }% +} +\newcommand*{\lfam}[1]{% + {% + {\csname langnames@langs@\langnames@cs@prefix @#1\endcsname} + (\csname langnames@fams@\langnames@cs@prefix @#1\endcsname)% + }% +} +\newcommand*{\newlang}[3]{% + \expandafter\def\csname langnames@langs@none@#1\endcsname{#2}% + \expandafter\def\csname langnames@fams@none@#1\endcsname{#3}% +} +\newcommand*{\renewlang}[4]{% + \expandafter\def\csname langnames@langs@#1@#2\endcsname{#3}% + \expandafter\def\csname langnames@fams@#1@#2\endcsname{#4}% +} +\newcommand*{\newlangnative}[4]{% + \expandafter\def\csname langnames@langs@native@#1@#2\endcsname{#3}% +} +\newcommand*{\langnative}[1]{% + {% + \csname langnames@langs@native@\langnames@cs@prefix @#1\endcsname + }% +} +\newcommand*{\changetonone}{% + \def\langnames@cs@prefix{none}% +} +\newcommand*{\changetowals}{% + \def\langnames@cs@prefix{wals}% +} +\newcommand*{\changetoglottolog}{% + \def\langnames@cs@prefix{glottolog}% +} +\def\ssp{\space\space\space\space\space\space} +\AddToHook{begindocument/before}{% + \ifdefined\langnames@cs@prefix + \else + \PackageError{langnames}{% + You haven't passed any option to `langnames'. Can't\MessageBreak + proceed. Please pass one from the list given below.\MessageBreak + ---------------------------------------------------\MessageBreak + 1. glottolog: Glottolog\MessageBreak + 2. wals:\ssp World Atlas of Languages\MessageBreak + 3. none:\ssp Your own list.\MessageBreak + ---------------------------------------------------\MessageBreak + Refer to the documentation for more details.\MessageBreak + At the moment I will default to option `none'% + }% + \fi +} \endinput %% %% End of file `langnames.sty'. |