如何引用“枚举”表中的行/列?

如何引用“枚举”表中的行/列?

该表只不过是一本书的未知词汇。

第一列给出了书的页码,除了标题页总是双页(2-3、4-5、6-7...),第二列是拉丁词,第三列是翻译。双页的页码只写一次,因此保留到下一个分页符。

现在,如果未知单词再次出现,我不想写两次翻译,而只参考它第一次出现的双页(第一列):4--5 & word1 \?label{word1} & translation1 \\ ... \\ 18--19 & word1 & see on \?ref{word1} \\

我想我还需要为第一列采用一种新的格式。

% uses-*- MODE: latex; TeX-engine: luatex; coding: utf-8; -*-
\RequirePackage{xpatch}
\RequirePackage[no-math]{fontspec}
\documentclass[paper=A6,fontsize=8pt,verbose,latin]{scrartcl}

\usepackage[main=latin,ngerman,greek.ancient]{babel}
\usepackage{ragged2e, luamaths, letltxmacro}
\defaultfontfeatures+{Ligatures={TeX,Common}}
% \defaultfontfeatures[\rmfamily,\sffamily]{Scale=MatchUppercase}
\setmainfont[Extension = .otf,%
             ItalicFont=NewCM10-BookItalic,%
             BoldFont=NewCM10-Bold,%
             BoldItalicFont=NewCM10-BoldItalic,%
             ]{NewCM10-Book}
\setsansfont{NewCMSans10-Book}             
\setmonofont{New Computer Modern10}
\usepackage{hyperref, zref-clever, zref-vario}
\zcsetup{hyperref=true,nameinlink,lang=latin}
\usepackage{tabularray}
\UseTblrLibrary{zref,booktabs,varwidth}
% \usepackage{uninormalize}
\usepackage{microtype}

\begin{document}

% \title{Cattus Petasatus}
% \maketitle

\NewTblrTheme{cattus}{%
  \SetTblrStyle{firsthead}{font=\bfseries}
  \DefTblrTemplate{contfoot}{cattus}{}
  \SetTblrTemplate{contfoot}{cattus}
  \DefTblrTemplate{conthead-text}{cattus}{}
  \SetTblrTemplate{conthead-text}{cattus}
  \DefTblrTemplate{caption-tag}{cattus}{}
  \SetTblrTemplate{caption-tag}{cattus}
  \DefTblrTemplate{caption-sep}{cattus}{}
  \SetTblrTemplate{caption-sep}{cattus}
}

\begin{longtblr}[theme = cattus]{%
  colspec={Q[r]QX[l]}, row{1} =
    {font=\bfseries}, rowhead = 1, % headsep = 65pt, 
    column{1-2} = {font=\bfseries} , 
  }
  pagina & verba & versio \\\midrule
  0 & petasatus & de Graeco {\selectlanguage{greek}πεταννύναι},
    ">mit breiter Krempe"< \\\hline[dotted]
  1 & totum diem & Akk.\ d.\ zeitlichen Ausdehnung \\
  & {urceatim Adv.\\
    \textless urceus, -i} & {\\Kanne, Krug}
  \\\hline[dotted] % <--- \?label{urceatim} 
  2--3 & deses & untätig\\ % <--- \?label{deses}
  & fore & futurum esse \\
  & frigus, -oris & Kälte \\
  & foras  & nach draußen \\
  & lascivire & tamquam sine ullis vinculis ludere
  et persultare \\ % <--- \?label{lascivire}
  & quiescere & quies, -etis \\
  & quiescendi & Gen.\ d.\ Gerunds \\
  & stomachosus & verärgert \\\hline[dotted]
  4--5 & tremebundus & zitternd \\
  & pavor & timor \\\hline[dotted]
  6--7 & calcare & treten auf \\
  & huc & hierher \\\hline[dotted]
  8--9 & stropha & Trick \\
  & indicare & demonstrare \\
  & lascivire &  vide ad ? \\ % <--- \?ref{lascivire}
  & diem degere & den Tag verbringen\\\hline[dotted]
  10--11 & repente & plötzlich \\
  & discedere & weggehen \\
  & cavere & aufpassen auf \\\hline[dotted]
  12--13 & duce catto & abl.~abs. \\
  & nocivus & schädlich \\
  & ascendere & aufsteigen \\
  & sursum Adv. & aufwärts \\
  & surgere & sich erheben \\
  & descendere & absteigen \\
  & pavescere & timere \\
  & tremescere & zittern \\\hline[dotted]
  14--15 & per-cautus & sehr vorsichtig \\
  & mitis & nett \\
  & urceatim & vide ad ? \\ % <--- \?ref{urceatim}
  & sublimis & in der Höhe \\
  & librare & hochhalten \\ % <--- \?label{librare}
  & vibrare &  durchschütteln \\
  & galerus & Hut & \\\hline[dotted]
  16--17 & in promptu & in Reserve \\
  & careo alqua.\ re & mir fehlt etw. \\
  & comptus & Haarschmuck \\
  & gestare & tragen \\
  & collocare & plazieren \\
  & lanx  & Tablett\\
  & lascivire & vide ad ? \\ % <---\?ref{lascivire}
  & bellus & schön \\
  & libellum & liber parvus \\
  & librare & vide ad ? \\ % <--- \?ref{librare}
\end{longtblr}
\end{document}

答案1

\makeatletter
\def\mylabel#1{\@bsphack
  \protected@write\@auxout{}%
         {\string\newlabel{#1}{{\mypage}{}}}%
  \@esphack}

\newcommand{\setlabel}[1]{%
  #1\def\@tempa{#1}\ifx\@tempa\@empty\else\message{pagina#1}\gdef\mypage{#1}\fi}
\makeatother

\begin{longtblr}[theme = cattus]{%
  colspec={Q[r]QX[l]}, row{1} =
    {font=\bfseries}, rowhead = 1, % headsep = 65pt, 
    column{1-2} = {font=\bfseries} , 
    cell{2-Z}{1} = {cmd=\setlabel}% <<<<<<<<<<<<<<<<<
  }
  & lascivire & tamquam sine ullis vinculis ludere
  et persultare \mylabel{lascivire} \\% <<<<<<<<<<<<<<<<<
  & lascivire &  vide ad  \ref{lascivire} \\% <<<<<<<<<<

在此处输入图片描述

相关内容