
いくつかの列を持つテーブルがあり、その中には
|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}