我有一张包含多列的表格,其中包括
|Col. A|...|...|Col. B|...|Col. C|...|
我想打印表格 3 次,一次按 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
由于这是在 Hittite 课程框架内进行的,因此每周添加新符号时都必须对表格进行排序。表格环境实际上是更长表格(longtabular 或 supertabular)的环境。我正在使用 XeTex。我看到了 ExcelToLatex 的可能性,但最终我不得不每周将三个表格复制到我的代码中,这很不优雅。我想要的是类似的东西:
\def\tabentry124{... & 124 & 1279F & GER & ..& ...& ...& ... \\}
\def\tabeentry113{... & 113 & 1259F & mur & ...& ...& ...& ... \\}
\begin{tabular}
\tabentry113
\tabentry124
\end{tabular}
此代码甚至会为我节省一个排序过程,因为条目已经根据 HZL 编号排序。
提前感谢您的任何想法!
安吉莉卡
答案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}