ConTeXt:列号交叉引用

ConTeXt:列号交叉引用

在双列布局中,我需要创建引用来返回所引用目标的行号和列号。

由于似乎不存在列计数器,因此标题中显示的列号是根据页码计算的。

我可以通过命令 \someline(用于目标)和 \inlinerange(用于引用)来引用行号,也可以通过 \pagereference(用于目标)和 \at(用于引用)来引用页码。但是我该如何引用列呢?

为了计算所引用目标的列号(根据我在标题中所做的操作),我需要(除了页码)有关目标位于左列还是右列的信息。我如何获取此信息?

(在第 79 页的 ConTeXt 参考中,有一个使用命令 \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

相关内容