Start with the dictionary environment

Use datatool to create database of entries and print them sorted.
This commit is contained in:
finga 2024-12-03 21:00:56 +01:00
commit 8a6bc1c949
2 changed files with 34 additions and 0 deletions

13
CHANGELOG.md Normal file
View file

@ -0,0 +1,13 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Create the `dictionary` environment where the
`\entry{word}{description}` command can be used.

21
dictionary.sty Normal file
View file

@ -0,0 +1,21 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{dictionary}[2024/11/24 Dictionary]
\RequirePackage{babel}
\RequirePackage{datatool}
\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}{%
\selectlanguage{vietnamese}\textbf{\word:} \selectlanguage{naustrian}\translation\\}%
\selectlanguage{vietnamese}%
}