I am working on putting together a grammar book which has a lot of bilingual examples, and simultaneously trying to learn the memoir class. The book will have many tables which look like the following in it:

For reference, here is the code I used to make the table above (Where \dak and \eng are just shorthand names for two different fonts I'm using with XeLateX.)
\begin{center}
\begin{tabular}{ c c c}
\toprule
{\dak wayáte} & {\dak waŋčhíyaŋke} & {\dak wičháuŋk'upi}\\
{\eng You ate.} & {\eng I see you.} & {\eng We gave it to them. }\\
&&\\
{\dak čhičhíčaǧe} & {\dak nihdúžaža }& {\dak šá}\\
{\eng I made it for you.} & {\eng You washed yourself.} & {\eng It is red.}\\
\bottomrule
\end{tabular}
\end{center}
However, I'd much prefer to design some sort of environment / command that will automatically take in a list of words and their translations like this, and output a correctly formatted table. Here was one of my initial attempts at such a project:
\documentclass{memoir}
\usepackage{fontspec}
\newfontfamily\dak{Linux Biolinum O}
\newfontfamily\eng{JosefinSans-SemiBold}
\newenvironment{DakEx31}[6]{%
\begin{table}
\centering
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{*{3}{c}}
\toprule
{\dak #1} &{\dak #2}&{\dak #3}\\
{\eng #4}&{\eng #5}&{\eng #6}\\
\bottomrule
}
{\end{tabular}
\end{table}}
\begin{document}
\begin{DakEx31}
{wayáte}{waŋčhíyaŋke}{wičháuŋk'upi}
{You ate.}{I see you.}{We gave it to them.}
\end{DakEx31}
\end{document}
To produce a nice looking table 3 examples wide and 1 tall. However, obviously going with this approach I would need to define a different command for each size table I would want, which I would like to avoid should it become necessary to add to / change the examples provided in a given section as the writing process progresses. Also, this approach fails as I try and make my tables much larger as such a command can only accept 9 inputs.
My main experience with TeX is typing mathematical papers; and so I do not know enough to be able to design the kind of environment I need here. What I'm looking for is a command where I can specify the number of columns (and the number of rows, if necessary), and then input a list of words / their translations, and then have the output be a nicely formatted table with the text in Dakota in one font, the text in English in another, and a blank row between rows of examples. Thanks!


\dakcommand is default. – anderstood Jun 11 '15 at 23:32