This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/106363/

On September 7th, 2012, 8:12 a.m., Michel Ludwig wrote:

As I'm not very familiar with Biblatex, is it true that the only way Biblatex knows whether it should run BibTeX or Biber is through '\usepackage[backend = biber]{biblatex}'?

If so, I think it would be better if we parsed that command in order to determine which tool to run.

On September 7th, 2012, 9:45 a.m., Eugene Shalygin wrote:

Biblatex manual says that backend can be specified in 3 places: 1) \usepackage option, \ExecuteBibliographyOptions in preamble and 3) in a configuration file biblatex.cfg. Also, if user uses Bibtex as a backend and multiple bibliographies (one per chapter or per section) then Biblatex will produce several *.aux fiels for Bibtex! But with Biber Biblatex uses one auxiliary *.bcf file only. It is stated in manual, that Biblatex will always print names of these auxiliary files and required backend tool in latex warning messages. I think Biblatex+Bibtex+multiple bibliographies is not common use-case. But even in this case LaTeX ouptut will contain all what we need.

So, I would stay with parsing of the output for backend detection. My question is where to pt this information?

By the way, to the parsing. Michel, was it intentionally done that Kile does _not_ parse structure of all .tex files from project until a file is opened in text editor? Thus, if I have, for instance, a separate preamble.tex in which I connect bibliography, I must open it in editor. Otherwise KileInfo::allBibliographies() is empty and thus LaTeX::updateBibs() always returns false.
OK, so we should parse the output then. The additional information could maybe go into "LaTeXOutputHandler" in "outputinfo.h". It will be automatically passed to child LaTeX tools.

But why exactly is the new bug occurring now if the LaTeX output should contain everything we need to run the tools? (Sorry, I didn't have time to reproduce the problem yet)

Regarding the parsing, I think something more clever should be done for projects. But I may be wrong. I know that there currently still is a bug regarding the detection of the "root" project item, and the whole parser will have to be rewritten in the future anyway.

- Michel


On September 6th, 2012, 9:29 p.m., Eugene Shalygin wrote:

Review request for Kile.
By Eugene Shalygin.

Updated Sept. 6, 2012, 9:29 p.m.

Description

As we can detect what backend is used by Biblatex only when it prints it out, we need to store that information for next updates of bibliography

This patch use dirty approach: it just stores this as dynamic property of TextInfo object and uses it afterwards. I believe we must store this information somewhere or parse \usepackage{biblatex}.
Maybe in the future Biblatex will provide some other setup commands for specifiyng backend which will be needed to parse also.
I understand, that dynamic property is not the best place to store it. From the other hand, it is kind of local information in this approach, because property name is not used outside.

Testing

Manual testing
Bugs: 268047

Diffs

  • src/kilestdtools.cpp (0c6e5f0)

View Diff