Xetex - 按表排序

Xetex - 按表排序

我有一张包含多列的表格,其中包括

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

相关内容