Could someone please take a look at this?

Am 12.11.19 um 13:02 schrieb Oliver von Criegern:
Am 10.09.19 um 13:16 schrieb Hans Hagen:
On 9/9/2019 10:05 PM, Henri Menke wrote:
Bump

On 9/3/19 4:46 AM, Oliver von Criegern wrote:
Dear list members,

is there any way to get a cross reference to a column in a two column layout?

yes and no:

no : there is not something buil tin
yes: one can write some hack in a few lines

but instead of posting such a hack (which then will a live of its own) i'll add a feature:

\pagereference[column:#1]

\doifelsereferencefound{column:#1}{\number\referencecolumnnumber}{}

in the next beta,

Hans

Thanks for implementing this, but I am afraid it does not work properly, at least not if there are several targets following one after another.

Consider this example:


\setupcolumns[
    n=2,
]
\setuplinenumbering[
    step=5,
    method=page,
]

\def\Lab#1{%
\pagereference[#1]%
\pagereference[column:#1]%
\someline[#1]%
}

\def\Ref#1{
page \at[#1],
column \doifelsereferencefound{column:#1}{\number\referencecolumnnumber}{},
line \inlinerange[#1].
}

\starttext
\startcolumns
\startlinenumbering

REFERENCES:\par
A: \Ref{A}\par
B: \Ref{B}\par
C: \Ref{C}\par
D: \Ref{D}\par
E: \Ref{E}\par
F: \Ref{F}\par
\input lorem
TARGETS:
\Lab{A} A,
\Lab{B} B,
\Lab{C} C.
\input lorem
TARGETS:
\Lab{D} D,
\Lab{E} E,
\Lab{F} F.
\input lorem

\stoplinenumbering
\stopcolumns
\stoptext

As you will see, targets A, B and C are all in the first column, and targets D, E and F are all in the second column. But the references read as follows:

A: page 1, column 1, line 29.
B: page 1, column 1, line 29.
C: page 1, column 2, line 29.
D: page 1, column 2, line 14.
E: page 1, column 3, line 14.
F: page 1, column 3, line 14.


Best regards,
Oliver



At least, I would need to get some value that tells me whether the target is in the left or in the right column. How to achieve this?

This is the more simplified version of the my previous question cited below.

Best regards,
Oliver.


Am 12.08.19 um 15:26 schrieb Oliver von Criegern:
Dear list members,

how can I create cross references to column numbers?

I have a two column layout with column numbers in the header instead of page numbers (actually, these column numbers are calculated from the page numbers). Now I want to create a cross reference that returns the column number of the target. How can I achieve this?

Of course, I can get the page number with \pagereference (for the target) and \at (for the reference), but for calculating the column number (according to what I did in the header), I would also need to know whether the target is in the left or in the right column, and I can't see how I can get this information.

For an example, see the question posted by me at stackexchange:
https://tex.stackexchange.com/questions/502944/context-cross-references-to-column-numbers

Besides, I am wondering, regarding the generally very regular and consistent naming of commands in ConTeXt, why this is not so in the case of references. For example, to refer to a page, I need \pagereference (for the target) and \at (for the reference); to refer to a line, I need \someline (for the target) and \inline (for the reference), but only if I want it to automatically add the word "line" or something else before the number, otherwise I have to use \inlinerange. It took me some time to find that out. Wouldn't it be easier to have just one command for the target and another one for the reference, and everything else, as counters and headers to be returned, text to be added etc. to be configured by options?
Because all these \in \at \about ... give back different things (a title, a number, a range, a ...) and packaging all that in one macro doens't make it cleaner so soon users will then wrap complex calls in a macro of their own (which then can clash with some existing name).

Also, the ref mechanism evolved over decades and we're not going to drop compatibility.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

--
Dr. Oliver von Criegern
Referat für IT und Digital Humanities
Bayerische Akademie der Wissenschaften
Alfons-Goppel-Str. 11
80539 München
Tel.: 089-23031-1310

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to