ConTeXt: referências cruzadas para números de colunas

ConTeXt: referências cruzadas para números de colunas

Em um layout de duas colunas, preciso criar referências retornando os números das linhas e colunas do alvo referido.

Como parece não existir um contador de colunas, os números das colunas exibidos no cabeçalho são calculados a partir do número da página.

Posso me referir a números de linha pelos comandos \someline (para o alvo) e \inlinerange (para a referência), e posso me referir a números de páginas por \pagereference (para o alvo) e \at (para a referência). Mas como posso me referir à coluna?

Para calcular o número da coluna do alvo referido (de acordo com o que fiz no cabeçalho), eu precisaria (além do número da página) da informação se o alvo está na coluna da esquerda ou na coluna da direita. Como posso obter essas informações?

(Na referência do ConTeXt na página 79, há um exemplo usando um comando \currentcolumn, que para mim, no entanto, sempre retorna 1; e o exemplo não funciona para mim de qualquer maneira.)

Abaixo, dou um exemplo da minha configuração de duas colunas com referências a linhas e páginas, onde eu precisaria dos números das colunas:

\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

O resultado disso é:

PDF com referências a linhas e páginas

informação relacionada