Hi Taco, Normally, while using \cite one does not need to worry about adding an explicit space after the command. So, you can write "\cite[something] says ...." rather than "\cite[something]\ says ...". But something has changed in core ConTeXt which has changed this behaviour. Consider the test file: \usemodule [bib] \setuppublications [alternative=num] \starttext Test~\cite[something] is wrong \stoptext I have two versions of ConTeXt. With ConTeXt 2009.01.18 (which has t-bib version=2008.10.27), I get (notice the space after [] and is) %----------- Test [] is wrong %------------- With ConTeXt 2009.03.09 (which has t-bib version=2008.12.01) I get (notice that there is no space after [] and is) %----------- Test []is wrong %------------- The behaviour is the same whether I use pdftex or luatex. There is no major difference between the two versions of t-bib. The changelog says %D \item Catalan translation of 'References' (10/11/2008) %D \item 'chapter' -> 'chapitre' in bibl-apa-fr (27/11/2008) %D \item Run bibtex via os.execute in mkiv modee (01/12/2008) So I am guessing that the difference is because of something else, but I cannot see any differences. Any suggestions? Aditya
On Tue, 10 Mar 2009, Aditya Mahajan wrote:
So I am guessing that the difference is because of something else, but I cannot see any differences.
The old version gives \dodoubleempty #1->\noshowargumenterror \doifnextcharelse [{\dodoubletestempty #1} {\dodoublefakeempty #1} #1<-\dododocite The new one gives \dodoubleempty #1->\noshowargumenterror \doifnextoptionalelse {\dodoubletestemp ty #1} {\dodoublefakeempty #1} #1<-\dododocite So, \doifnextcharelse vs \doifnextoptionalelse. Aditya
Aditya Mahajan
On Tue, 10 Mar 2009, Aditya Mahajan wrote:
So I am guessing that the difference is because of something else, but I cannot see any differences.
The old version gives
\dodoubleempty #1->\noshowargumenterror \doifnextcharelse [{\dodoubletestempty #1} {\dodoublefakeempty #1} #1<-\dododocite
The new one gives
\dodoubleempty #1->\noshowargumenterror \doifnextoptionalelse {\dodoubletestemp ty #1} {\dodoublefakeempty #1} #1<-\dododocite
So, \doifnextcharelse vs \doifnextoptionalelse.
Any progress on this? I'm seeing the same behavior. Jesse -- Jesse Alama (alama@stanford.edu)
Am 29.03.2009 um 20:09 schrieb Jesse Alama:
Aditya Mahajan
writes: On Tue, 10 Mar 2009, Aditya Mahajan wrote:
So I am guessing that the difference is because of something else, but I cannot see any differences.
The old version gives
\dodoubleempty #1->\noshowargumenterror \doifnextcharelse [{\dodoubletestempty #1} {\dodoublefakeempty #1} #1<-\dododocite
The new one gives
\dodoubleempty #1->\noshowargumenterror \doifnextoptionalelse {\dodoubletestemp ty #1} {\dodoublefakeempty #1} #1<-\dododocite
So, \doifnextcharelse vs \doifnextoptionalelse.
Any progress on this? I'm seeing the same behavior.
\startmode[whisper] ask Taco for a after key and use \autoinsertnextspace \stopmode Wolfgang
Wolfgang Schuster
Am 29.03.2009 um 20:09 schrieb Jesse Alama:
Aditya Mahajan
writes: On Tue, 10 Mar 2009, Aditya Mahajan wrote:
So I am guessing that the difference is because of something else, but I cannot see any differences.
The old version gives
\dodoubleempty #1->\noshowargumenterror \doifnextcharelse [{\dodoubletestempty #1} {\dodoublefakeempty #1} #1<-\dododocite
The new one gives
\dodoubleempty #1->\noshowargumenterror \doifnextoptionalelse {\dodoubletestemp ty #1} {\dodoublefakeempty #1} #1<-\dododocite
So, \doifnextcharelse vs \doifnextoptionalelse.
Any progress on this? I'm seeing the same behavior.
\startmode[whisper] ask Taco for a after key and use \autoinsertnextspace \stopmode
context --mode=whisper request.tex -- Jesse Alama (alama@stanford.edu)
Wolfgang Schuster wrote:
So, \doifnextcharelse vs \doifnextoptionalelse.
I still think Hans should fix that in the core, but ...
Any progress on this? I'm seeing the same behavior.
\startmode[whisper] ask Taco for a after key and use \autoinsertnextspace \stopmode
can you try this in the header just to see how if it works out? \usemodule[bib] \let\normaldocite\docite \def\docite[#1][#2]% {\normaldocite[#1][#1]\autoinsertnextspace } ... \starttext Best wishes, Taco
Taco Hoekwater
Wolfgang Schuster wrote:
So, \doifnextcharelse vs \doifnextoptionalelse.
I still think Hans should fix that in the core, but ...
Any progress on this? I'm seeing the same behavior.
\startmode[whisper] ask Taco for a after key and use \autoinsertnextspace \stopmode
can you try this in the header just to see how if it works out?
\usemodule[bib] \let\normaldocite\docite \def\docite[#1][#2]% {\normaldocite[#1][#1]\autoinsertnextspace }
... \starttext
Thanks for helping out with this. Is the second "#1" supposed to be "#2"? In any case, this fix gives an error: ! You can't use `macro parameter character #' in horizontal mode. \p!doifinstringelse ...tringelse \@EA ##\@EA 1#1## 2##3\war {\unless \if ##2@... \rawdodoifinsetelse ...ingelse \@@@instring {,#1,} \@EA \firstoftwoarguments ... \addtocommalist #1#2->\rawdoifinsetelse {#1}#2 \resetglobal {\dodoglobal \ede... \doifreferencefoundelse ...ce \ifreferencefound #2 \else #3\fi \egroup \dores... \redoloop ->\expandrecursecontent \endofloop <to be read again> { ... l.1184 \completepublications[criterium=all] Jesse -- Jesse Alama (alama@stanford.edu)
Taco Hoekwater
Jesse Alama wrote:
Thanks for helping out with this. Is the second "#1" supposed to be "#2"?
Yes,
In any case, this fix gives an error:
Are you sure that is related? Perhaps you should create a test file.
Well, the problem seems to have gone away (after updating my local minimals). Thanks for the help! Jesse -- Jesse Alama (alama@stanford.edu)
participants (4)
-
Aditya Mahajan
-
Jesse Alama
-
Taco Hoekwater
-
Wolfgang Schuster