Xetex - テーブル内のソート

Xetex - テーブル内のソート

いくつかの列を持つテーブルがあり、その中には

    |Col. A|...|...|Col. B|...|Col. C|...|

テーブルを 3 回印刷し、1 回は列 A、次に列 B、次に列 C の順に並べ替えます。現時点では、MSExcel を使用してこれを実行しており、並べ替えたテーブルをコードに挿入しています。ただし、nomencl はリストを並べ替えるので、nomencl でも可能であるはずです。

私の最小限の例:

    \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、名前=Col.C

これはヒッタイト コースの枠組みで行われるため、新しい記号が追加されるたびに、テーブルを毎週並べ替える必要があります。表形式の環境は、実際には長いテーブル (longtabular または supertabular) 用の環境になります。私は XeTex を使用しています。ExcelToLatex の可能性も知りましたが、そうすると毎週 3 つのテーブルをコードにコピーしなければならなくなり、非常に不格好になります。私が求めているのは次のようなものです。

    \def\tabentry124{... & 124 & 1279F   & GER  & ..& ...& ...& ... \\}
    \def\tabeentry113{... & 113 & 1259F   & mur  & ...& ...& ...& ... \\}
    \begin{tabular}
    \tabentry113
    \tabentry124
    \end{tabular}

このコードでは、エントリがすでに HZL 番号に従ってソートされているため、ソート手順が 1 つも節約されます。

何かアイデアがあれば、ぜひ教えてください!

アンジェリカ

答え1

pgfplotstable以下は、テーブルを並べ替えるために を使用する方法の小さな例です。

ここに画像の説明を入力してください

\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}

関連情報