29 lines
832 B
TeX
29 lines
832 B
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{dictionary}[2024/11/24 Dictionary]
|
|
|
|
\RequirePackage{babel}
|
|
\RequirePackage{datatool}
|
|
|
|
\DeclareKeys[dictionary]{
|
|
primary.store = \@dictionary@primary,
|
|
secondary.store = \@dictionary@secondary
|
|
}
|
|
|
|
\ProcessKeyOptions[dictionary]
|
|
|
|
\PassOptionsToPackage{\@dictionary@primary,\@dictionary@secondary}{babel}
|
|
|
|
\newcommand{\entry}[2]{%
|
|
\DTLnewrow{dictionary}%
|
|
\DTLnewdbentry{dictionary}{word}{#1}%
|
|
\DTLnewdbentry{dictionary}{translation}{#2}%
|
|
}
|
|
|
|
\newenvironment{dictionary}{%
|
|
\DTLifdbexists{dictionary}{\DTLcleardb{dictionary}}{\DTLnewdb{dictionary}}%
|
|
}{%
|
|
\DTLsort{word}{dictionary}%
|
|
\scriptsize%
|
|
\DTLforeach*{dictionary}{\word=word,\translation=translation}{%
|
|
\foreignlanguage{\@dictionary@primary}{\textbf{\word:} }\foreignlanguage{\@dictionary@secondary}{\translation}\\}%
|
|
}
|