
Ich habe eine Tabelle mit mehreren Spalten, darunter
|Col. A|...|...|Col. B|...|Col. C|...|
Ich möchte die Tabelle 3 mal ausdrucken, einmal sortiert nach Spalte A, dann nach Spalte B, dann nach Spalte C. Momentan mache ich das mit Hilfe von MSExcel und füge die sortierten Tabellen in meinen Code ein. Es sollte aber auch mit nomencl möglich sein, da nomencl Listen sortiert.
Mein Minimalbeispiel:
\begin{tabular}{|c|c|c|c|c|c|c|c|} \\
... & HZL & Unicode & Name & ...& ...& ...& ... \\
... & 124 & 1279F & GER & ..& ...& ...& ... \\
... & 113 & 1259F & mur & ...& ...& ...& ... \\
\end{tabular}
HZL=Spalte A, Unicode=Spalte B, Name=Spalte C
Da dies im Rahmen eines hethitischen Kurses stattfindet, muss die Tabelle jede Woche sortiert werden, wenn neue Zeichen hinzugefügt werden. Die tabellarische Umgebung wird eigentlich eine Umgebung für längere Tabellen (longtabular oder supertabular) sein. Ich verwende XeTex. Ich habe die Möglichkeit von ExcelToLatex gesehen, aber dann muss ich jede Woche drei Tabellen in meinen Code kopieren, was ziemlich unelegant ist. Was ich möchte, ist so etwas wie:
\def\tabentry124{... & 124 & 1279F & GER & ..& ...& ...& ... \\}
\def\tabeentry113{... & 113 & 1259F & mur & ...& ...& ...& ... \\}
\begin{tabular}
\tabentry113
\tabentry124
\end{tabular}
Durch diesen Code würde mir sogar ein Sortiervorgang erspart, da die Einträge bereits nach der HZL-Nummer sortiert wären.
Vielen Dank im Voraus für alle Ideen!
Angelika
Antwort1
Hier ist ein kleines Beispiel, wie Sie pgfplotstable
Ihre Tabelle sortieren können:
\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}