Xetex - сортировка в таблице

Sep 12 2020

У меня есть таблица с несколькими столбцами, среди которых

    |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, Name = Col.C

Поскольку это происходит в рамках хеттского дома, таблицу нужно будет сортировать каждую неделю при добавлении новых знаков. Табличная среда фактически будет средой для более длинных таблиц (longtabular или supertabular). Я использую XeTex, я видел возможность ExcelToLatex, но потом мне приходится каждую неделю копировать в свой код три таблицы, что довольно нелегко. Я хочу что-то вроде:

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

Этот код сэкономил бы мне даже одну процедуру сортировки, поскольку записи уже были бы отсортированы по номеру HZL.

Заранее спасибо за любые идеи!

Анжелика

Ответы

1 leandriis Sep 12 2020 at 15:39

Вот небольшой пример того, как вы можете использовать его 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}