[NTG-context] conditional for undefined references
Wolfgang Schuster
wolfgang.schuster.lists at gmail.com
Sun Mar 29 14:33:09 CEST 2020
Pablo Rodriguez schrieb am 29.03.2020 um 13:53:
> Dear list,
>
> consider the following sample:
>
> \setuppapersize[A8]
> \starttext
> \ConTeXt:
>
> \in[seac]
>
> Is it defined?:
> \doifelse{\in[seac]}{??}{undefined}{defined}
>
> \Lua:
>
> \ctxlua{context([[{\in[seac]}]])}
>
> Is it defined?:
> \startlua
> if [[{\in[seac]}]] == "??" then
> context("undefined")
> else
> context("defined")
> end
> \stoplua
> \stoptext
>
>
> Is there a way to deal with undefined references?
>
> I mean, I need a conditional to handle undefined references.
>
> Why do I have undefined references in my documents? Well, I have almost
> 90 (Markdown) documents that I need to compile as single documents and
> also as one document. When compiling as single documents, there are a
> few references to other documents. This is the reason why they are
> undefined.
>
> Any chance to be able to catch a "??" output (or \dummyreference) from
> "\in[reference]"?
>
> Many thanks for your help,
ConTeXt gives you a message about missing references in the log-file but
there is no simple way to show the in the PDF which is a step backwards
because in MkII it was able to get a small message in the margins about
unknown references.
What you can do is to use the \doifelsereferencefound command to check
if the requested reference exists before you get the page number etc.
\starttext
Take a look at
\doifelsereferencefound{unknown:1}
{\at{page}[unknown:1]}
{\dummyreference\inright[style=\ttxx]{Missing reference}}.
This line ha a reference.\pagereference[unknown:2]
Take a look at
\doifelsereferencefound{unknown:2}
{\at{page}[unknown:2]}
{\dummyreference\inright[style=\ttxx]{Missing reference}}.
\stoptext
Wolfgang
More information about the ntg-context
mailing list