ConTeXt: Перекрестные ссылки на номера столбцов

ConTeXt: Перекрестные ссылки на номера столбцов

В двухколоночном макете мне необходимо создать ссылки, возвращающие номера строк и столбцов целевого объекта, на который ссылаются.

Поскольку счетчика столбцов, по-видимому, не существует, номера столбцов, отображаемые в заголовке, рассчитываются на основе номера страницы.

Я могу ссылаться на номера строк с помощью команд \someline (для цели) и \inlinerange (для ссылки), а также я могу ссылаться на номера страниц с помощью \pagereference (для цели) и \at (для ссылки). Но как мне ссылаться на столбец?

Чтобы вычислить номер столбца цели, на которую ссылаются (согласно тому, что я сделал в заголовке), мне понадобится (помимо номера страницы) информация о том, находится ли цель в левом или правом столбце. Как мне получить эту информацию?

(В справочнике ConTeXt на странице 79 есть пример использования команды \currentcolumn, которая, однако, у меня всегда возвращает 1; и этот пример у меня все равно не работает.)

Ниже я привожу пример моей двухколоночной настройки со ссылками на строки и страницы, где вместо этого мне нужны номера столбцов:

\setuppapersize[A4][A4]
\setupbodyfont[9pt]

\setupcolumns[
    n=2,
    distance=1cm,
]

\setuplinenumbering[
    step=5,
    method=page,
    location=right,
    align=flushright,
    width=.25cm
]

\setupheadertexts[]
\setupheadertexts
[\ctxlua{context(2 * tex.count.pageno - 1)}]
[\ctxlua{context(2 * tex.count.pageno)}]
[\ctxlua{context(2 * tex.count.pageno - 1)}]
[\ctxlua{context(2 * tex.count.pageno)}]

\starttext

\startcolumns
\startlinenumbering
\dorecurse{2}{\input lorem}\par
REFERENCE 1: Target 1 is in line \inlinerange[TestI], column ? (how to get this?) on page \at[TestI].\par
\dorecurse{2}{\input lorem}\par
\someline[TestI]\pagereference[TestI]TARGET 1.\par
\dorecurse{2}{\input lorem}\par
\stoplinenumbering
\stopcolumns

\stoptext

Результатом чего является:

PDF со ссылками на строки и страницы

Связанный контент