On Fri, 28 Jan 2011, Mojca Miklavec wrote:

On Wed, Jan 26, 2011 at 16:10, Julius Canute wrote:

I wan to cite references in my ConTeXt document using IEEE citation style. Specifically for Web URL. How to do that using ConTeXt and BiBTeX?

It is quite possible that nobody has used IEEE citation style in
ConTeXt (I didn't check how it should look like).

I am attaching a file that I used a couple of years ago. I haven't checked it with the latest version of the bib module.

Aditya
%D \module

%D   [       file=bibl-ieee,

%D        version=2007.06.25,

%D          title=IEEE bibliography style,

%D       subtitle=IEEE Publications,

%D         author={Aditya Mahajan},

%D           date=\currentdate,

%D      copyright={Aditya Mahajan}]



\unprotect



%D The default mnemonics are not compatible with IEEE style.



\setuplabeltext [\s!en] [\v!january  :\s!mnem=Jan.]

\setuplabeltext [\s!en] [\v!february :\s!mnem=Feb.]

\setuplabeltext [\s!en] [\v!march    :\s!mnem=Mar.]

\setuplabeltext [\s!en] [\v!april    :\s!mnem=Apr.]

\setuplabeltext [\s!en] [\v!may      :\s!mnem=May]

\setuplabeltext [\s!en] [\v!june     :\s!mnem=Jun.]

\setuplabeltext [\s!en] [\v!july     :\s!mnem=Jul.]

\setuplabeltext [\s!en] [\v!august   :\s!mnem=Aug.]

\setuplabeltext [\s!en] [\v!september:\s!mnem=Sep.]

\setuplabeltext [\s!en] [\v!october  :\s!mnem=Oct.]

\setuplabeltext [\s!en] [\v!november :\s!mnem=Nov.]

\setuplabeltext [\s!en] [\v!december :\s!mnem=Dec.]



\setupbibtex          [sort=author]

\setuppublicationlist [maybeyear=off]



\setuplistalternative

  [ieee]

  [\c!distance=1em,

      \c!width=2em,

    \c!stretch=0em,

    \c!command=,

  ]



\setuppublicationlist 

  [\c!numbercommand=\!!ieee@brackets,

           \c!width=2em,

     \c!alternative=ieee,

      \c!samplesize={99},

  ]





%D This should probably go into the core.



\def\doverysimplebibnumref#1#2%

   {\refsep

    \ifcase#1\relax \unknownreference{#1}\else

      \def\tempa{#2}\ifx\empty\tempa#1\else#1\docommaordash{#1}{#2}#2\fi

    \fi}%



\def\docommaordash#1#2%

   {\doifelse{\the\numexpr#1+1-#2\relax}{0}%

     {\bibalternative\c!pubsep}%

     {\bibalternative\c!inbetween}}%



\setupcite

       [author,year]

       [\c!andtext={ and },

        \c!otherstext={ et al.},

        \c!pubsep={, },

        \c!lastpubsep={ and },

        \c!compress=\v!no,

        \c!inbetween={ },

        \c!left={(},

        \c!right={)}]



\setupcite

       [authoryear]

       [\c!andtext={ and },

        \c!otherstext={ et al.},

        \c!pubsep={, },

        \c!lastpubsep={ and },

        \c!compress=\v!no,

        \c!inbetween={ },

        \c!left={(},

        \c!right={)}]



\setupcite

       [authoryears]

       [\c!andtext={ and },

        \c!otherstext={ et al.},

        \c!pubsep={, },

        \c!lastpubsep={ and },

        \c!compress=\v!no,

        \c!inbetween={, },

        \c!left={(},

        \c!right={)}]



\setupcite

       [key,serial,authornum,page,short,type,doi,url]

       [\c!andtext={ and },

        \c!otherstext={ et al.},

        \c!pubsep={, },

        \c!lastpubsep={ and },

        \c!compress=\v!no,

        \c!inbetween={ },

        \c!left={[},

        \c!right={]}]



\setupcite

       [num]

       [\c!andtext={ and },

        \c!otherstext={ et al.},

        \c!pubsep={, },

        \c!lastpubsep={ and },

        \c!compress=\v!yes,

        \c!inbetween={]--[},

        \c!left={[},

        \c!right={]}]



%D This is the ugliest way to make sure that the number is right justified.

%D The trouble is that \filename{core-lst.tex} contains an explicit

%D \type|\hfill|.



\def\!!ieee@brackets#1%

  {\hbox \ifdim\!!widtha>\zeropoint to \!!widtha \fi

   {\hss[#1]\hskip 0.5em}}



\setuppublications

   [\c!sorttype=cite,

    \c!criterium=,

    \c!refcommand=num,

    \c!numbering=\v!yes,

    \c!numbercommand=\!!ieee@brackets,

    monthconversion=month:mnem]



\setuppublicationlist

   [\c!artauthor=\normalshortauthor,

    \c!editor=\normalshortauthor,

    \c!author=\normalshortauthor,

    \c!namesep={, },

    \c!lastnamesep={ and },

    \c!finalnamesep={, and },

    \c!firstnamesep={ },

    \c!juniorsep={ },

    \c!vonsep={ },

    \c!surnamesep={ },

    \c!authoretallimit=5,

    \c!editoretallimit=5,

    \c!artauthoretallimit=5,

    \c!authoretaldisplay=5,

    \c!editoretaldisplay=5,

    \c!artauthoretaldisplay=5,

    \c!authoretaltext={ et al.},

    \c!editoretaltext={ et al.},

    \c!artauthoretaltext={ et al.},

    artauthorcommand=\!!ieee@repeatedauthors,

    authorcommand=\!!ieee@repeatedauthors,

]



%D Just to be sure



\def\maybeyear#1{}

\def\etalchar#1{#1}



%D Show repeated authors by ------



\def\!!ieee@oldauthors{}



\def\!!ieee@repeatedauthors#1#2#3%

    {\xdef\!!ieee@newauthors{#3}%

      \ifx\!!ieee@oldauthors\!!ieee@newauthors

          ------%

       \else

         \dospecialbibinsert{#1}{#2}{#3}%

         \global\let\!!ieee@oldauthors\!!ieee@newauthors

       \fi}



\setuppublicationlayout[article]%

 {\insertartauthors {}                 {,} {\insertthekey{}{,}{}}%

  \insertarttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \insertjournal    {\space\bgroup \it}

                        {\unskip\/\egroup} {}%

  \insertvolume     {,\space vol.~} 

        {\insertissue {,\space no.~} {} {}} {}%

  \insertpages      {,\space pp.\space}       {} {}%

  \insertpubyear    {,\space\insertmonth{}{\space}{}} 

                                         {} {}%

  \insertnote       {.\space}            {.} {.}}



%TODO. Add edition to book and inbook



\setuppublicationlayout[book]

 {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

  \inserttitle      {\space\bgroup\it}

                                 {\/\egroup} {}%

  \insertvolume     {,\space vol.~}  

           {\insertissue{,\space no.~}{}{}} {}%

  \insertseries     {,\space ser.\space} {} {}%

  \inserteditors    {,\space} {,\space Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {}%

  \insertpubname    {,\space} 

                 {\insertcity{,\space}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertnote       {.\space}            {.} {.}}



\setuppublicationlayout[inbook]%

 {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

  \insertchapter    {\space\bgroup\it}

                                 {\/\egroup} {}%

  \inserttitle      {,\space in}          {} {}%

  \insertvolume     {,\space vol.~}  

           {\insertissue{,\space no.~}{}{}} {}%

  \insertseries     {,\space ser.\space} {} {}%

  \inserteditors    {,\space} {,\space Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {}%

  \insertpubname    {,\space} 

                 {\insertcity{,\space}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertpages      {,\space pp.\space}  {} {}%

  \insertnote       {.\space}            {.} {.}}



% TODO. Booklet, manual



\setuppublicationlayout[incollection]%

 {\insertartauthors {}           {,} {\insertthekey{}{,}{}}%

  \insertarttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \inserttitle      {\space in\space\bgroup\it} 

                                {\/\egroup} {}%

  \insertseries     {,\space ser.\space} {} {}%

  \inserteditors    {,\space} {,\space Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertpublisher  {,\space}            {} {}%

  \insertcity       {,\space}            {} {}%

  \insertpages      {,\space pp.\space}       {}  {}%

  \insertnote       {.\space}           {.} {.}}





\setuppublicationlayout[conference]%

 {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

  \insertarttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \inserttitle      {\space in \bgroup \it}

                        {\unskip\/\egroup}  {}% 

  \insertseries     {,\space ser.\space} {} {}%

  \inserteditors    {,\space} {,\space Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {}%

  \insertvolume     {,\space vol.~}  

           {\insertissue{,\space no.~}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertcity       {,\space}            {} {}%

  \insertpages      {,\space pp.\space}       {} {}%

  \insertnote       {.\space}            {.} {.}}





\setuppublicationlayout[inproceedings]%

 {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

  \insertarttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \inserttitle      {\space in \bgroup \it}

                        {\unskip\/\egroup}  {}%

  \insertseries     {,\space ser.\space} {} {}%

  \inserteditors    {,\space} {,\space Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {}%

  \insertvolume     {,\space vol.~}  

           {\insertissue{,\space no.~}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertcity       {,\space}            {} {}%

  \insertpages      {,\space pp.\space}       {} {}%

  \insertnote       {.\space}            {.} {.}}



\setuppublicationlayout[proceedings]%

  {\inserteditors    {}           {,Ed%

           \ifnum\getvalue{editor@num}>1 s\fi.\space} {\insertthekey{}{,}{}}%

   \inserttitle      {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \insertseries     {,\space ser.\space} {} {}%

  \insertvolume     {,\space vol.~}  

           {\insertissue{,\space no.~}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertcity       {,\space}            {} {}%

  \insertpages      {,\space pp.\space}       {} {}%

  \insertnote       {.\space}            {.} {.}}



\setuppublicationlayout[mastersthesis]%

  {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

   \inserttitle      {\space\quotation\bgroup}

                                 {,\egroup} {}%

   \inserttype       {\space}            {} { Master's Thesis}%

   \insertpubname    {,\space}           {} {}%

   \insertcity       {,\space}           {} {}%

   \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

   \insertnote       {.\space}           {.} {.}}





\setuppublicationlayout[phdthesis]%

  {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

   \inserttitle      {\space\quotation\bgroup}

                                 {,\egroup} {}%

   \inserttype       {\space}            {} { Ph.D.\ Thesis}%

   \insertpubname    {,\space}           {} {}%

   \insertcity       {,\space}           {} {}%

   \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

   \insertnote       {.\space}           {.} {.}}





\setuppublicationlayout[techreport]%

 {\insertauthors {}                 {,} {\insertthekey{}{,}{}}%

  \inserttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \insertbibtype    {\space}           {\insertvolume{,\space}{}{},} {}%

  \insertpubname    {,\space} 

                 {\insertcity{,\space}{}{}} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertnote       {.\space}            {.} {.}}



\setuppublicationlayout[misc]%

 {\insertauthors    {}           {,} {\insertthekey{}{,}{}}%

  \inserttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \insertseries     {,\space ser.\space} {} {}%

  \insertpubyear    {,\space\insertmonth{}{,\space}{}}

                                         {} {}%

  \insertcity       {,\space}            {} {}%

  \insertpages      {,\space pp.\space}       {} {}%

  \insertnote       {.\space}            {.} {.}}



\setuppublicationlayout[unpublished]%

 {\insertauthors {}                 {,} {\insertthekey{}{,}{}}%

  \inserttitle   {\space\quotation\bgroup}

                                 {,\egroup} {}%

  \insertpubyear    {\space\insertmonth{}{\space}{}} 

                                         {.} {}%

  \insertnote       {\space}            {.} {.}}





\protect

___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to