New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Ltax-style bibliographic support ('\cite') (Origin: bugzilla #503239) #2755

Closed
doxygen opened this Issue Jul 1, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 1, 2018

status RESOLVED severity enhancement in component general for ---
Reported in version 1.5.3 on platform Other
Assigned to: Dimitri van Heesch

On 2007-12-12 10:33:50 +0000, Jan van Dijk wrote:

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!

On 2007-12-12 19:16:02 +0000, Dimitri van Heesch wrote:

*** Bug 503235 has been marked as a duplicate of this bug. ***

On 2007-12-12 19:16:38 +0000, Dimitri van Heesch wrote:

*** Bug 503237 has been marked as a duplicate of this bug. ***

On 2011-03-01 13:31:42 +0000, Jan van Dijk wrote:

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.

On 2011-07-25 01:53:33 +0000, David Munger wrote:

I proposed a patch for BibTeX support here: https://bugzilla.gnome.org/show_bug.cgi?id=635562#c1

On 2011-07-28 18:45:37 +0000, Dimitri van Heesch wrote:

Thanks David, a variant of your patch has been included in the latest subversion update.

On 2011-07-28 18:46:53 +0000, Dimitri van Heesch wrote:

*** Bug 635562 has been marked as a duplicate of this bug. ***

On 2011-07-28 18:47:43 +0000, Dimitri van Heesch wrote:

*** Bug 317328 has been marked as a duplicate of this bug. ***

On 2011-08-08 12:36:29 +0000, Jan van Dijk wrote:

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.

On 2011-08-14 14:05:28 +0000, Dimitri van Heesch wrote:

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.

On 2011-08-14 14:31:27 +0000, Jan van Dijk wrote:

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.

On 2011-10-01 21:42:41 +0000, Dimitri van Heesch wrote:

Confirmed. Should be fixed in the next subversion update.

On 2011-12-03 18:22:57 +0000, Dimitri van Heesch wrote:

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.

On 2012-02-20 13:32:11 +0000, david.coeurjolly@liris.cnrs.fr wrote:

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

tag but found
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 ?

On 2013-03-07 13:44:49 +0000, Guillaume Lazzara wrote:

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

    citelist <title>Bibliographic References</title> citelist

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

@doxygen doxygen closed this Jul 1, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment