Xetex - tri dans une table
J'ai un tableau qui comporte plusieurs colonnes, parmi lesquelles
|Col. A|...|...|Col. B|...|Col. C|...|
Je veux imprimer le tableau 3 fois, une fois trié selon le col.A, à côté du col.B, à côté du col.C.En ce moment, je le fais avec l'aide de MSExcel et insère les tableaux triés dans mon code . Mais cela devrait aussi être possible avec nomencl, car le nomencl trie les listes.
Mon exemple minimum:
\begin{tabular}{|c|c|c|c|c|c|c|c|} \\
... & HZL & Unicode & Name & ...& ...& ...& ... \\
... & 124 & 1279F & GER & ..& ...& ...& ... \\
... & 113 & 1259F & mur & ...& ...& ...& ... \\
\end{tabular}
HZL = Col.A, Unicode = Col.B, Nom = Col.C
Comme cela se déroule dans le cadre d'une couse hittite, le tableau devra être trié chaque semaine lorsque de nouveaux signes seront ajoutés. L'environnement tabulaire sera en fait un environnement pour des tables plus longues (longtabulaire ou supertabulaire). J'utilise XeTex, j'ai vu la possibilité ExcelToLatex, mais je finis par devoir copier trois tableaux dans mon code chaque semaine, ce qui n'est pas du tout élégant. Ce que je veux, c'est quelque chose comme:
\def\tabentry124{... & 124 & 1279F & GER & ..& ...& ...& ... \\}
\def\tabeentry113{... & 113 & 1259F & mur & ...& ...& ...& ... \\}
\begin{tabular}
\tabentry113
\tabentry124
\end{tabular}
Ce code me sauverait même une procédure de tri, puisque les entrées seraient déjà triées selon le numéro HZL.
Merci d'avance pour toute idée!
Angelika
Réponses
Voici un petit exemple sur la façon dont vous pourriez utiliser pgfplotstablepour trier votre table:
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableset{col sep=semicolon, string type}
\pgfplotstableread
{
HZL;Unicode;Name
124;1279F ;GER
113;1259F ;mu
}\loadedtable
sort by "HZL" column:
\pgfplotstabletypeset[sort,sort cmp={int <},sort key=HZL]\loadedtable
\bigskip
sort by "Unicode" column:
\pgfplotstabletypeset[sort,sort cmp={string <},sort key=Unicode]\loadedtable
\bigskip
sort by "Name" column:
\pgfplotstabletypeset[sort,sort cmp={string <},sort key=Name]\loadedtable
\end{document}