From: Oliver von Criegern <oliver.v.criegern@badw-muenchen.de>
To: ntg-context@ntg.nl, Hans Hagen <j.hagen@xs4all.nl>
Subject: Re: Cross references to column numbers
Date: Tue, 12 Nov 2019 13:02:35 +0100 [thread overview]
Message-ID: <c5cfd3a1-d62c-0f5f-487f-54dbb5ba3955@badw-muenchen.de> (raw)
In-Reply-To: <14aca916-68ae-d225-c608-3d4bb7b5fbe3@xs4all.nl>
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
___________________________________________________________________________________
next prev parent reply other threads:[~2019-11-12 12:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-12 13:26 Oliver von Criegern
2019-09-02 16:46 ` Oliver von Criegern
2019-09-09 20:05 ` Henri Menke
2019-09-10 11:16 ` Hans Hagen
2019-09-10 16:52 ` Oliver von Criegern
2019-09-10 20:05 ` Henning Hraban Ramm
2019-11-12 12:02 ` Oliver von Criegern [this message]
2019-11-15 14:44 ` Oliver von Criegern
2019-11-15 15:31 ` Taco Hoekwater
2019-11-15 15:36 ` Taco Hoekwater
2019-11-15 19:22 ` Pablo Rodriguez
2019-11-16 8:59 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c5cfd3a1-d62c-0f5f-487f-54dbb5ba3955@badw-muenchen.de \
--to=oliver.v.criegern@badw-muenchen.de \
--cc=j.hagen@xs4all.nl \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).