Hi Taco, talking about the bib module ... I usually get confused when I cite a reference in the text but accidentally use the wrong citation key or have forgotten to put the record into my bib file at all. Instead of screaming question marks in the pdf output ConTeXt tacidly typesets a reference number and adds an empty entry to the list of references. Is this really desired? After all, it makes tracking down the wrong \cite command a bit of an issue ... admittedly some warnings show up in the log but definitely not on the pdf printout. Would it be possible to adopt the same error handling as for \in and friends? Best, Oliver
Oliver Buerschaper wrote:
Hi Taco,
talking about the bib module ... I usually get confused when I cite a reference in the text but accidentally use the wrong citation key or have forgotten to put the record into my bib file at all. Instead of screaming question marks in the pdf output ConTeXt tacidly typesets a reference number and adds an empty entry to the list of references. Is this really desired? After all, it makes tracking down the wrong \cite command a bit of an issue ... admittedly some warnings show up in the log but definitely not on the pdf printout. Would it be possible to adopt the same error handling as for \in and friends?
I would like an example, but I am afraid it will turn out to be unfixable within the current implementation. (there is probably a chicken-and-egg problem) Best, Taco
Hi Taco,
talking about the bib module ... I usually get confused when I cite a reference in the text but accidentally use the wrong citation key or have forgotten to put the record into my bib file at all. Instead of screaming question marks in the pdf output ConTeXt tacidly typesets a reference number and adds an empty entry to the list of references. Is this really desired? After all, it makes tracking down the wrong \cite command a bit of an issue ... admittedly some warnings show up in the log but definitely not on the pdf printout. Would it be possible to adopt the same error handling as for \in and friends?
I would like an example, but I am afraid it will turn out to be unfixable within the current implementation. (there is probably a chicken-and-egg problem)
Perhaps there might be hope ;-) Empty references in the publication list only seem to occur for "refcommand=num" together with the ams style. Check this out: --- \usemodule[bib] \setupbibtex[database=references] \setuppublications [alternative=ams, refcommand=num] \starttext \cite[Hoekwater:2007] \completepublications \stoptext --- The reference in the text appears without any flaw and the list contains an empty entry! The external bib file doesn't even exist. Now delete the ams option and at least the bogus list entry will disappear. However, in the text no trace of any error whatsoever. With the default settings things come quite close to what I would expect: --- \usemodule[bib] \setupbibtex[database=references] \starttext \cite[Hoekwater:2007] \completepublications \stoptext --- Wouldn't it be nice to just replace the "(Xxxx, 0000)" entry by "??" to make it consistent with the cross referencing errors? Best, Oliver
Hi Oliver,
---
The reference in the text appears without any flaw and the list contains an empty entry! The external bib file doesn't even exist. Now delete the ams option and at least the bogus list entry will disappear. However, in the text no trace of any error whatsoever.
That is the chicken and egg problem I was talking about. When the publication list sort order is 'by citation order', and 'only show cited publications' (as per ams), then \cite looks at the list to find the number, and the list checks the \cite order for what to include. All is good if the ref is actually there, but intercepting errors is problematic.
Wouldn't it be nice to just replace the "(Xxxx, 0000)" entry by "??" to make it consistent with the cross referencing errors?
I did it this way, because I prefer better-matching page breaks over visual similarity. At least some of the other \cite options generate ?? instead. Best, Taco
That is the chicken and egg problem I was talking about. When the publication list sort order is 'by citation order', and 'only show cited publications' (as per ams), then \cite looks at the list to find the number, and the list checks the \cite order for what to include. All is good if the ref is actually there, but intercepting errors is problematic.
I see ... just curious: do you happen to know how the LaTeX folks handle wrong citation keys?
Wouldn't it be nice to just replace the "(Xxxx, 0000)" entry by "??" to make it consistent with the cross referencing errors?
I did it this way, because I prefer better-matching page breaks over visual similarity. At least some of the other \cite options generate ?? instead.
I'm afraid I don't follow you ... what does it have to do with page breaks? Oliver
Oliver Buerschaper wrote:
That is the chicken and egg problem I was talking about. When the publication list sort order is 'by citation order', and 'only show cited publications' (as per ams), then \cite looks at the list to find the number, and the list checks the \cite order for what to include. All is good if the ref is actually there, but intercepting errors is problematic.
I see ... just curious: do you happen to know how the LaTeX folks handle wrong citation keys?
I assume they output ??, but I am not sure. The problem is not impossible, it is just that my implementation of crossreferencing is giving me problems. I should warn you: since there is only a problem in the module if there is a problem in the input also (so to say), rewriting large sections of the module to fix the lack of error reporting is not very high on my todo list.
I did it this way, because I prefer better-matching page breaks over visual similarity. At least some of the other \cite options generate ?? instead.
I'm afraid I don't follow you ... what does it have to do with page breaks?
If you have several unknown references in a paragraph, then something like (Xxxxx, 0000) will give you a closer approximation of the running length of the final paragraph than just ??. The difference can easily make a paragraph one line longer or shorter, thus influencing page breaks and float placement. Best, Taco
participants (2)
-
Oliver Buerschaper
-
Taco Hoekwater