[NTG-context] Validate (cross)references

2011-05-27 Thread 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.)

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
___


Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Wolfgang Schuster

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
___


Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Andreas Schneider
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
___


Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Jesse Alama

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/___
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
___

Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Aditya Mahajan

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
___


Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Taco Hoekwater




On 27 mei 2011, at 19:50, Aditya Mahajan adit...@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
___


Re: [NTG-context] Validate (cross)references

2011-05-27 Thread Hans Hagen

On 27-5-2011 8:03, Taco Hoekwater wrote:





On 27 mei 2011, at 19:50, Aditya Mahajanadit...@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
___