该表只不过是一本书的未知词汇。
第一列给出了书的页码,除了标题页总是双页(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} \\% <<<<<<<<<<