After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 503239 - Support for Ltax-style bibliographic support ('\cite')
Support for Ltax-style bibliographic support ('\cite')
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.5.3
Other All
: Normal enhancement
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
: 317328 503235 503237 635562 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-12-12 10:33 UTC by Jan van Dijk
Modified: 2013-03-07 13:44 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan van Dijk 2007-12-12 10:33:50 UTC
In our plasma modelling group we have been happy doxygen users for a long time now. After all these years of using doxygen, we feel that one feature is still missing: LaTeX-style bibliography support (a \cite command).

In my (C++) code, I would like to be able to write:

/** Nifty class implements the Nifty algorithm that has been
 *  discussed in \cite{Dijk2007/1}.
 */
struct NiftyClass
{
        // ...
};

Dijk2007/1 would be a BibTeX entry, declared in a bibtex file myrefs.bib, say.
(The fact that Doxygen uses this file, and perhaps others as well, could be configured in the .doxy file, or somewhere else.)

The idea is that doxygen compiles a bibliographic reference from the .bib files and the\cite commands. That would be a separate HTML page, similar to those generated by the \todo and \bug tags.

Then, in the doxygen-output (in particular the HTML-docs) for the NiftyClass
we would see something like:

   Nifty class implements the Nifty algorithm that has been
   discussed in [42].

Where [42] would be a clickable reference to the appropriate anchor on the generated bibliography page.

Could such feature be considered? We would welcome it very much!
Comment 1 Dimitri van Heesch 2007-12-12 19:16:02 UTC
*** Bug 503235 has been marked as a duplicate of this bug. ***
Comment 2 Dimitri van Heesch 2007-12-12 19:16:38 UTC
*** Bug 503237 has been marked as a duplicate of this bug. ***
Comment 3 Jan van Dijk 2011-03-01 13:31:42 UTC
I spotted two more duplicates: 317328 and 635562. (The former is older, but seems to refer to Latex output only.)

That adds up to four, indicating that this feature is desired for real. I really hope somebody with knowledge of Doxygen's internals will pick this up. Thanks.

BTW: I seem to recall that Dimitri has responded to this enhancement request, and confirmed it. Now It appears that the bug is unconfirmed ... and those comments are nowhere to be seen.
Comment 4 David Munger 2011-07-25 01:53:33 UTC
I proposed a patch for BibTeX support here: https://bugzilla.gnome.org/show_bug.cgi?id=635562#c1
Comment 5 Dimitri van Heesch 2011-07-28 18:45:37 UTC
Thanks David, a variant of your patch has been included in the latest subversion update.
Comment 6 Dimitri van Heesch 2011-07-28 18:46:53 UTC
*** Bug 635562 has been marked as a duplicate of this bug. ***
Comment 7 Dimitri van Heesch 2011-07-28 18:47:43 UTC
*** Bug 317328 has been marked as a duplicate of this bug. ***
Comment 8 Jan van Dijk 2011-08-08 12:36:29 UTC
I have just started to play with this. Thanks a lot, this is what we have been wishing for for a long time!

I have a few comments, though. They look like simple issues to fix for somebody who knows what he is doing:

* Specifying an absolute path as argument of CITE_BIB_FILES results in problems. As an example, "CITE_BIB_FILES = /home/jan/src/gum-cvs/doc/refs/plreflst.bib" resulted in: "error: could not write to file /home/jan/src/test_doxygen/bib/doxygen_bibtex_28135_/home/jan/src/gum-cvs/doc/refs/plreflst.bib" and similar errors.

* Something like \cite VanDijk2011/2 will not work, since the argument of \cite is parsed as a LABELID, it will stop parsing at the '/' character. It would be nice if this were changed, since using '/' (or ':', for that matter), followed by an index is quite common among BibTex users. Otherwise, would it be possible to allow \cite "VanDijk2011/2" instead? It would not be nice if users have to modify all their .bib files to use (e.g.) VanDijk2011_2 instead.

* url={blabla} lines in bibtex files are not handled correctly. They result in the message "citelist:4: warning: Found unknown command `\rev'". Indeed, in the files doxygen.bst and doxygen_bst.h (line 156) I see that \rev is emitted. Should that have been \ref? I blindly tried that change, but this results in other errors: "citelist:4: warning: unable to resolve reference to `CITEREF_' for \ref command".

Thanks again,

With kind regards, Jan.
Comment 9 Dimitri van Heesch 2011-08-14 14:05:28 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.5. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.
Comment 10 Jan van Dijk 2011-08-14 14:31:27 UTC
I just checked with trunk (revision 773) and I still observe the three issues that I mentioned in comment #8. Therefore, I reopened this bug.
Comment 11 Dimitri van Heesch 2011-10-01 21:42:41 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 12 Dimitri van Heesch 2011-12-03 18:22:57 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.6. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.
Comment 13 david.coeurjolly 2012-02-20 13:32:11 UTC
Hi all,

I'm still having issues with cite command (svn doxygen release 1.7.6.1-20120122):
  
   - my cite commands and the bibtex file are correctly parsed/handled in the latex output (result is perfect)
   - in the HTML output
       * \cite generates correct links (e.g. html/citelist.html#CITEREF_MyKey)
       * however, the citelist.html page is empty (header/footer but no "content")


When I look at the doxygen outputs, nothing special appears (hop.txt is std output and hop2.txt is std:cerr) :

%%%> grep cite hop.txt hop2.txt

hop.txt:Generating docs for page citelist...
hop2.txt:citelist:3: warning: expected <dt> tag but found <dl> instead!
hop2.txt:citelist:4: warning: unexpected end of comment while looking for a html description title

Nothing appears if I "grep" on "bib".

Any idea ?
Comment 14 Guillaume Lazzara 2013-03-07 13:44:49 UTC
Thanks for this feature.

I encounter two problems though:

- Something like \cite sauvola.00.pr will not work, only the first word will be taken into account.

- citelist pages wont be generated when a tag file is used. The tagfile usually already specifies a page 

  <compound kind="page"> 
    <name>citelist</name> 
    <title>Bibliographic References</title> 
    <filename>citelist</filename> 
  </compound> 

and this prevents the new citelist from being written. The result are 
broken links in the documentation.