ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Otared Kavian <otared@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Conditional float references
Date: Wed, 25 Sep 2013 16:40:25 +0200	[thread overview]
Message-ID: <61307ACC-A811-42A4-B5E9-0754DB95AB6D@gmail.com> (raw)
In-Reply-To: <20130925072906.GW17308@homerow>

Hi Marco,

Thanks for your answer: indeed I was wrong about the issue I reported about doublesided page numbering. The reason is that I use TeXShop (on a Mac) and the PDF produced is shown in a single page layout (it is however possible to have doublesided layout as well: that's what I tested after your answer.

Also after applying your patch everything works as expected. I tested your file with some maths formulas and changed even the language to French with:
\unprotect
\setuplabeltext
  [\s!fr]
  [\v!atpage=page\nobreakspace, %% “at page” sounds weird
   \v!previouspage=à la page précédente,
   \v!nextpage=à la page suivante]
\protect
\mainlanguage[fr]

without any problem. So your macro is just wonderful!

However maybe it would be better to have some setup options like:
	\setuplabeltext[smartref][atpage={page},
			previouspage={à la page précédente}, %or {page précédente}
			nextpage={à la page suivante}] %or {page suivante}

In case Hans is willing to add such capabilities to the cross referencing, it would be great if one could setup the cross references in the same way by saying for instance
	\setupreferencing[alternative=smartref]
and then have \smartref be defined automatically.

A final remark concerns the possibility to visualize the reference points when one is in the process of proof reading: at least in maths, it is usual to have dozens of reference points to formulas, lemmas, theorems, etc, and it is quite useful to be able to visualize such things. For instance I use a quick and dirty macro to print in the margin « eq:Fermat » to the right of the following formula

\placeformula[eq:Fermat]
\startformula
a,b,c \in {\Bbb N}^*, \quad n \geq 3, \quad a^n + b^n = c^n \imply abc = 0.
\stopformula

when I am preparing a paper. I do the same with references to lemmas and theorems, but I print them in the margin to the left of the reference point. For now, mkiv does not support such things and it's a pity.

Best regards: OK

On 25 sept. 2013, at 09:29, Marco Patzer <lists@homerow.info> wrote:

> On 2013–09–25 Otared Kavian wrote:
> 
>> I have not yet tried it with references to maths formulas,
>> theorems, lemmas and such,
> 
> Me neither.
> 
>  \ifsinglesided
>    \strc_references_do_relative_else\plusone
>      {\def\strc_references_smart_string{\labeltext\v!nextpage}}
>      {\strc_references_do_relative_else\minusone
> 
>> The issues I noticed are the following:
>> 1. Typesetting the file gives an error message when there is no 
>> 	\setuppagenumbering[alternative=doublesided]
> 
> A typo:
> 
>  \ifsinglesided
>    \strc_references_do_relative_else\plusone
>      {\def\strc_references_smart_string{\labeltext\v!nextpage}}
> -      {\strc_references_do_relative\minusone
> +      {\strc_references_do_relative_else\minusone
> 
> 
>> 2. In the above minimal example, when stating 
>> 		\setuppagenumbering[alternative=doublesided]
>> then Test 2 and Test 3 do not result in the smart references
>> expected (they both result in « See figure 1 and figure 3. » while
>> Test 2 should give « See figure 1 and figure 3 on next page. »,
>> and Test 3 should result in « See figure 1 on previous page and
>> figure 3. »).
> 
> That's on purpose. If the graphic appears on the same double page,
> it is visible and no further reference is printed. In traditional
> typesetting a single page is rather insignificant. The reader is
> always faced with double pages, never single pages.
> 
>> Thanks again for sharing your module.
> 
> Well, it wasn't meant to be a module. I rather intended to start a
> discussion and threw some code in to start with. If there's interest
> I can make it a module.
> 
> Thanks for the feedback.
> 
> Marco
> ___________________________________________________________________________________
> 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://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


  reply	other threads:[~2013-09-25 14:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-22 21:02 Marco Patzer
2013-09-23 16:46 ` Hans Hagen
2013-09-23 22:24   ` Marco Patzer
2013-09-25  3:46 ` Otared Kavian
2013-09-25  7:29   ` Marco Patzer
2013-09-25 14:40     ` Otared Kavian [this message]
2013-09-25 15:28       ` Marco Patzer
2013-10-08 21:23 ` Marco Patzer
     [not found] <mailman.222.1379923068.18665.ntg-context@ntg.nl>
2013-09-24 11:37 ` Robert Blackstone
2013-09-24 11:48   ` Marco Patzer
     [not found] <mailman.236.1380044639.18665.ntg-context@ntg.nl>
2013-09-24 19:52 ` Robert Blackstone

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=61307ACC-A811-42A4-B5E9-0754DB95AB6D@gmail.com \
    --to=otared@gmail.com \
    --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).