# Background of this question

I've got the idea of creating a math dictionary with LaTeX for quite a while now. My native language is German and I write a lot of blog articles about algorithms and a few about mathematics. The algorithm articles are in English most of the time, because I think I can describe the ideas well. This is easy for datastructures and algorithms as the English words are often used in German in this area, too. (Or at least the English ones are well-known.)

But I write my math articles most of the time in English. There are simple problems like "how do I call the x values where a function is zero in English" (root). But they are hard to look up. There are good English dictionaries for "common" English and some online dictionaries are also quite good for common English (dict.leo.org). But when it comes to math, I think the situation could be better.

# What I want to do

I would like to start writing an open source dictionary that helps mathematicians to translate terms from German to English and vice versa. (I hope that people would contribute to this dictionary after they had a hard time finding the translation of a term.)

I think such a dictionary should have

• one part sorted by English words to look up the German ones
• one part sorted by German words to look up the English ones

Every entry should have a formal description of the term, possibly the area (Topology, Analytics, Numerical mathematics, ...) and how it is pronounced in the language you look up.

So my entries could look like this:

\entry{Formal description}{area}{english description}{german description}{english pronounciation}{german pronounciation}
\entry{$\Set{x | f(x) = 0}$}{Analytics}{Root of a function}{Nullstelle einer Funktion}{}{}
\entry{$x^n$}{Analytics}{}{}{\SortKey{AAABasicTerms}$x$ raised to the power of $n$}{\SortKey{AAABasicTerms}$x$ hoch $n$}


# Question

My question is quite open. I've written this to get some ideas what I could do / try or who I could ask.

I don't want to break the StackExchange rules, so the question is:

Is there an environment / document class for dictionaries?

But please feel free to give any idea you have for this in the comments (or an answer if your ideas get longer).

• Have you looked at the glossaries package at all? It is well documented and there are a variety of samples in a sub-directory of the documentation. In particular, you could create a specialised command to handle the fields you need. I think you should be able to do this in a way which would enable generation of both parts of the dictionary from a single definition, though I've never actually tried this. Or maybe see tex.stackexchange.com/questions/13801/… (which sounds less optimistic about the dual usage aspect.)
– cfr
Commented Dec 12, 2013 at 23:29
• Related: tex.stackexchange.com/a/58218/66. That answer also contains a few links to relevant questions here on TeX.SE.
– You
Commented Dec 12, 2013 at 23:43
• The multilingual dictionary ([tex.stackexchange.com/a/58218/66] (Icelandic-Czech Students Dictionary)) and the link you set contains complete code with an example how to typeset a dictionary in Latex. Commented Dec 19, 2013 at 20:50
• In the glossaries package's samples directory there's a file called sample-langdict.tex that has French to English and English to French lists, which you might be able to use as a starting point. Commented Jun 30, 2014 at 8:54
• To find good (technical, mathematical, etc.) translations, I use Wikipedia to find the right concept in french ("Zéro d'une fonction") then via the Languages menu, I change the language (english:"Zero of a function", deutsh:"Nullstelle"). Commented Dec 18, 2014 at 0:25

For dictionaries, I use dici.sty. Is is a very small package... It creates the usual dictionary headers, and tries to define as less as possible commands.

example:

\documentclass[twoside,twocolumn]{book}
\usepackage[utf8]{inputenc}
\usepackage{dici}

\begin{document}
\title{The dictionary of ...
\author{Jose Joao Almeida \and ...
\maketitle
.....................................

\begin{dictionary}
\bigletter{A}
\term{a}{um [\emph{Article}]  }
\term{aardvarks}{porco-da-terra, oricterope}
...
\bigletter{B}
...
\end{dictionary}


Unfortunately this style is not yet in CTAN. But you can get it from http://natura.di.uminho.pt/~jj/latex/dici-sty/

In this address you can find the sty, and two small examples.

Edit 1

tab2dic -header en-pt.tsv > en-pt.tex