ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Validate (cross)references
@ 2011-05-27 15:04 Andreas Schneider
  2011-05-27 15:09 ` Wolfgang Schuster
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schneider @ 2011-05-27 15:04 UTC (permalink / raw)
  To: ntg-context

Hello,

if  I  use  \in,  \about,  \at  or  anything  else  that  generates  a
cross-reference,  and  that  reference  happens to be invalid (typo or
whatever),  it  just  prints  out  "nothing".  Is  there a way to have
context throw an error if a reference is invalid? (That probably would
only  make  sense  in the second pass of context, since the first pass
has to collect the references first.)

If context can't do it by itself, I'll probably just grep for "unknown
reference"  and  use  that,  but  if context could do it by itself, it
would be nice for automated builds (I actually have my current ConTeXt
project in a Continous Integration system, so anything that leads to a
wrong result should throw an error there.)

-- 
Best Regards,
Andreas

___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 15:04 Validate (cross)references Andreas Schneider
@ 2011-05-27 15:09 ` Wolfgang Schuster
  2011-05-27 15:19   ` Andreas Schneider
  0 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Schuster @ 2011-05-27 15:09 UTC (permalink / raw)
  To: mailing list for ConTeXt users


Am 27.05.2011 um 17:04 schrieb Andreas Schneider:

> Hello,
> 
> if  I  use  \in,  \about,  \at  or  anything  else  that  generates  a
> cross-reference,  and  that  reference  happens to be invalid (typo or
> whatever),  it  just  prints  out  "nothing".  Is  there a way to have
> context throw an error if a reference is invalid? (That probably would
> only  make  sense  in the second pass of context, since the first pass
> has to collect the references first.)

Unknown references are shown as “??” in your text.

Wolfgang

___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 15:09 ` Wolfgang Schuster
@ 2011-05-27 15:19   ` Andreas Schneider
  2011-05-27 16:58     ` Jesse Alama
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schneider @ 2011-05-27 15:19 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Friday, May 27, 2011 17:09 Wolfgang Schuster wrote:

> Am 27.05.2011 um 17:04 schrieb Andreas Schneider:

>> Hello,
>> 
>> if  I  use  \in,  \about,  \at  or  anything  else  that  generates  a
>> cross-reference,  and  that  reference  happens to be invalid (typo or
>> whatever),  it  just  prints  out  "nothing".  Is  there a way to have
>> context throw an error if a reference is invalid? (That probably would
>> only  make  sense  in the second pass of context, since the first pass
>> has to collect the references first.)

> Unknown references are shown as “??” in your text.

> Wolfgang

True,  I  was  mostly  thinking  about "\about", which just prints two
quotation  marks  and  nothing  in between. But my "problem" (if I can
even  call  it  that, since grep is already a solution, just maybe not
the  best one :D) is, that I could easily miss such small changes. I'm
working  on  technical  documentation  that  even  has  parts that are
automatically  generated  (from  XML files). I just update whatever is
necessary  (the document itself, or just the input files), commit them
to  SVN  and  our  CI  server grabs them, and runs ConTeXt. If ConTeXt
returns  with  a  return code > 0, the build is marked as "failed" and
all  necessary  admins  (me  and  my colleague) are informed via eMail
and/or  RSS  feed.  If  the  build  succeeds,  the  generated  PDF  is
automatically distributed to the users. I consider wrong references an
error,  so  I would like the build to fail (imho referencing something
that  doesn't  exist  is  like using a macro that doesn't exist, which
fails too).

But  as I said: if context can't treat that as error, I'm fine with it
too  and  will  continue  to  grep the logfile. It's just curiosity if
there may already be a setting/parameter/whatever to get context to be
more "restrictive".

-- 
Best Regards,
Andreas

___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 15:19   ` Andreas Schneider
@ 2011-05-27 16:58     ` Jesse Alama
  2011-05-27 17:50       ` Aditya Mahajan
  0 siblings, 1 reply; 7+ messages in thread
From: Jesse Alama @ 2011-05-27 16:58 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 2779 bytes --]

On 2011-05-27 17:19:30 +0200, Andreas Schneider said:

> On Friday, May 27, 2011 17:09 Wolfgang Schuster wrote:
> 
>> Am 27.05.2011 um 17:04 schrieb Andreas Schneider:
> 
>>> Hello,
>>> 
>>> if  I  use  \in,  \about,  \at  or  anything  else  that  generates  a
>>> cross-reference,  and  that  reference  happens to be invalid (typo or
>>> whatever),  it  just  prints  out  "nothing".  Is  there a way to have
>>> context throw an error if a reference is invalid? (That probably would
>>> only  make  sense  in the second pass of context, since the first pass
>>> has to collect the references first.)
> 
>> Unknown references are shown as “??” in your text.
> 
>> Wolfgang
> 
> True,  I  was  mostly  thinking  about "\about", which just prints two
> quotation  marks  and  nothing  in between. But my "problem" (if I can
> even  call  it  that, since grep is already a solution, just maybe not
> the  best one :D) is, that I could easily miss such small changes. I'm
> working  on  technical  documentation  that  even  has  parts that are
> automatically  generated  (from  XML files). I just update whatever is
> necessary  (the document itself, or just the input files), commit them
> to  SVN  and  our  CI  server grabs them, and runs ConTeXt. If ConTeXt
> returns  with  a  return code > 0, the build is marked as "failed" and
> all  necessary  admins  (me  and  my colleague) are informed via eMail
> and/or  RSS  feed.  If  the  build  succeeds,  the  generated  PDF  is
> automatically distributed to the users. I consider wrong references an
> error,  so  I would like the build to fail (imho referencing something
> that  doesn't  exist  is  like using a macro that doesn't exist, which
> fails too).
> 
> But  as I said: if context can't treat that as error, I'm fine with it
> too  and  will  continue  to  grep the logfile. It's just curiosity if
> there may already be a setting/parameter/whatever to get context to be
> more "restrictive".

+1

I would also like ConTeXt to help me keep me document sensible in this 
way. I also resort to grep-type solutions, but sometimes I forget to do 
this, and sometimes, there are embarrassing consequences of such 
oversight.  If ConTeXt could help me avoid this all-too-common 
oversight of mine, I'd be delighted.  Throwing an error would be one 
way to do this.  If throwing an error is not possible, perhaps being 
able to customize what gets printed when an undefined reference is 
encountered.  E.g., instead of "??", a big, annoying, 
impossible-to-miss mark in the margin (as one sees when working with 
overfull lines) or a giant red stopsign saying "UNDEFINED REFERENCE", 
would do just as well.

-- 
Jesse Alama
http://centria.di.fct.unl.pt/~alama/

[-- Attachment #1.2: Type: text/html, Size: 9102 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 16:58     ` Jesse Alama
@ 2011-05-27 17:50       ` Aditya Mahajan
  2011-05-27 18:03         ` Taco Hoekwater
  0 siblings, 1 reply; 7+ messages in thread
From: Aditya Mahajan @ 2011-05-27 17:50 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Fri, 27 May 2011, Jesse Alama wrote:

> Throwing an error would be one way to do this.  If throwing an error is not 
> possible, perhaps being able to customize what gets printed when an undefined 
> reference is encountered.  E.g., instead of "??", a big, annoying, 
> impossible-to-miss mark in the margin (as one sees when working with overfull 
> lines) or a giant red stopsign saying "UNDEFINED REFERENCE", would do just as 
> well.

\def\dummyreference{{\red\bfd UNKNOWN REFERENCE}}

Aditya
___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 17:50       ` Aditya Mahajan
@ 2011-05-27 18:03         ` Taco Hoekwater
  2011-05-27 21:00           ` Hans Hagen
  0 siblings, 1 reply; 7+ messages in thread
From: Taco Hoekwater @ 2011-05-27 18:03 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: mailing list for ConTeXt users





On 27 mei 2011, at 19:50, Aditya Mahajan <adityam@umich.edu> wrote:

> On Fri, 27 May 2011, Jesse Alama wrote:
> 
>> Throwing an error would be one way to do this.  If throwing an error is not possible, perhaps being able to customize what gets printed when an undefined reference is encountered.  E.g., instead of "??", a big, annoying, impossible-to-miss mark in the margin (as one sees when working with overfull lines) or a giant red stopsign saying "UNDEFINED REFERENCE", would do just as well.
> 
> \def\dummyreference{{\red\bfd UNKNOWN REFERENCE}}
> 
I think this is good. Undefined references can not simply be converted to errors, because then 'context' stops processing, and of course in any first run there will be undefined references, so you would never get past that if it was simply an error.

But it would also help (for interactive use, at least) if context reported undefined references last, maybe even after the 'x processed pages' line.

Best wishes,
Taco
___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Validate (cross)references
  2011-05-27 18:03         ` Taco Hoekwater
@ 2011-05-27 21:00           ` Hans Hagen
  0 siblings, 0 replies; 7+ messages in thread
From: Hans Hagen @ 2011-05-27 21:00 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Taco Hoekwater

On 27-5-2011 8:03, Taco Hoekwater wrote:
>
>
>
>
> On 27 mei 2011, at 19:50, Aditya Mahajan<adityam@umich.edu>  wrote:
>
>> On Fri, 27 May 2011, Jesse Alama wrote:
>>
>>> Throwing an error would be one way to do this.  If throwing an error is not possible, perhaps being able to customize what gets printed when an undefined reference is encountered.  E.g., instead of "??", a big, annoying, impossible-to-miss mark in the margin (as one sees when working with overfull lines) or a giant red stopsign saying "UNDEFINED REFERENCE", would do just as well.
>>
>> \def\dummyreference{{\red\bfd UNKNOWN REFERENCE}}
>>
> I think this is good. Undefined references can not simply be converted to errors, because then 'context' stops processing, and of course in any first run there will be undefined references, so you would never get past that if it was simply an error.
>
> But it would also help (for interactive use, at least) if context reported undefined references last, maybe even after the 'x processed pages' line.

there is commented code that writes it to the log; i can make that an 
option (directive) if needed

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | 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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-05-27 21:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-27 15:04 Validate (cross)references Andreas Schneider
2011-05-27 15:09 ` Wolfgang Schuster
2011-05-27 15:19   ` Andreas Schneider
2011-05-27 16:58     ` Jesse Alama
2011-05-27 17:50       ` Aditya Mahajan
2011-05-27 18:03         ` Taco Hoekwater
2011-05-27 21:00           ` Hans Hagen

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).