conditional for undefined references
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, Pablo -- http://www.ousia.tk
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
On 3/29/20 2:33 PM, Wolfgang Schuster wrote:
Pablo Rodriguez schrieb am 29.03.2020 um 13:53:
[...] Is there a way to deal with undefined references? [...] Any chance to be able to catch a "??" output (or \dummyreference) from "\in[reference]"?
What you can do is to use the \doifelsereferencefound command to check if the requested reference exists before you get the page number etc.
Many thanks for your reply, Wolfgang. \doifelsereferencefound is exactly what I need. Many thanks for your help, Pablo -- http://www.ousia.tk
participants (2)
-
Pablo Rodriguez
-
Wolfgang Schuster