Archive for the ‘biblatex’ Category
Extending biblatex to support multiple scripts
As regular readers will know, I’ve taken an interest in biblatex since it was first developed. Since the original author disappeared, I’ve been at least formally involved in maintain the code. So far, that’s been limited to tackling a few tricky low-level TeX issues, but there are some bigger issues to think about.
Philip Kime, lead Biber and biblatex developer, is keen to extend the LaTeX end to supporting multiple scripts. The Biber end is already done (in the ‘burning edge’ version), and writes to the .bbl file in the format:
\field{form=original,lang=default}{labeltitle}{Title}
\list{form=original,lang=default}{location}{1}{%
{Москва}%
}
\list{form=romanised,lang=default}{location}{1}{%
{Moskva}%
}
However, that presents a big issue: how to do that without breaking every existing style. Supporting scripts means we need an additional argument for a very large number of commands: some of them need to have two optional arguments, and some of them need to be expandable:
\iffieldundef[form=original,lang=default]{....}
Reading (two) optional arguments and working through keyval options expandably is tricky, which is where I come in. The natural way for me to solve the first problem is to use LaTeX3, and the xparse package. However, that’s a big change for biblatex, so before I (and the rest of the biblatex team) go for this I though it would be worth raising the issue and looking for opinions. The alternative is to write the code into biblatex directly, but it’s complicated and as I’ve already done the job once I’m reluctant to do this!
So, what I want to know is ‘What do users think?’ Is it reasonable to require xparse as part of `biblate
Traditional BibTeX styles with biblatex
The biblatex package offers a lot of power in creating complex bibliographies. It also uses its own style files, separate from the ‘traditional’ ones used by BibTeX (plain, unsrt, etc.). In many ways that is a good thing, as the traditional styles are rather limited. However, lots of people rely on the traditional styles, so emulating them would be useful. There’s an open question on the TeX-sx site asking how to do this: it’s very much a ‘marker’, as the person who asked is one of the biblatex experts! Marco Daniel has now taken up the challenge, with a GitHub repo set up for development of a set of styles. They are still a work in progress, but it looks like the question will soon have an answer!
A first pass at a physics style for biblatex
I’ve just uploaded a first attempt at biblatex-phys to CTAN: give it a day or so to be mirrored around the world or pick it up from the BitBucket development site. I’ve based the style on REVTeX, which seems to show that the AIP and APS use more-or-less the same style with a few tiny variations. So I’ve provided one style and used some options to control the output. I’m sure there will be a few rough edges, so at the moment I’ve set the version as 0.9, meaning that there may well be adjustments before a truly usable release. However, I’d hope people pick this up and test it: that’s the only way to improve it!
Working on biblatex styles for physics
A while ago, a question was asked on TeX-sx about biblatex support for the IEEE and AIP bibliography styles. I sorted out an IEEE one pretty quickly: it’s a single style and there is a good demonstration document, so this was not too hard. However, to date I’ve not got the physics side of things sorted. I’ve now been reminded about this, and hopefully have the time available to get on with this. So now all I have to decide is which styles to got for: both the AIP and APS seem pretty obvious, but beyond that I’m not so sure.
Co-ordinating biblatex style development
Bibliographies formatting is complicated, and over the years this has led to the development of a lot of BibTeX styles and tools like custom-bib. For biblatex users the output style can be altered from within LaTeX, and while there is not yet an equivalent of custom-bib for biblatex there is some excellent advice available for developing new styles.
One of the key ideas of is to make it possible to address the citation styles in fields where BibTeX could never provide the correct tools. That shows up most obviously in humanities, where the position of citations in the output needs to feed back into how they appear. Life gets even more complicated when you consider areas that need specialised fields included in their bibliographies: a classic example is law. There are already developments under-way to help support these situation, for example Biber-based flexible data model. Addressing the needs of style authors properly requires co-ordination between the core biblatex team and the style creators, and between different style authors. The question of how to achieve this communication came up recently on TeX-sx.
There are at least a couple of obvious ways for people to stay in touch with each other. First, where there is a need for a specific function to be added to biblatex, the package GitHub site is the place to go. Adding issues makes sure that they don’t get lost in direct e-mails, and also ensures that anyone with a point of view can comment. Secondly, for more open discuss TUG have a bibliography mailing list. To date, this has not been very heavy in terms of traffic, but it would be an ideal forum to co-ordinate effort. It’s publicly archived and anyone can join, so there is no danger of loosing important comments.
Of course, there are other ways to communicate too! All of the team are active on TeX-sx, and when we can we pick up biblatex issues and add them to the to do list. Direct e-mail works too, and I’m sure some style authors will go for direct communication. The key thing is to use the power of biblatex to make life easier for the end-user.
biblatex: A team to continue the work
I posted a while ago about biblatex, looking for news of the author, Philipp Lehman. He’d been very active in replying to bug reports up to about 5 months ago, since when no-one has heard from him. As I said before, that’s a big concern well beyond LaTeX work, but it’s also left a question over continued development of biblatex.
Philipp Lehman had discussed a number of plans with the lead developer of Biber, Philip Kime. Unsurprisingly, Philip Kime has been keen to make sure that development of biblatex continues, but he wanted some help with the styles and any ‘hard-core’ TeX stuff. So a small team of ‘biblatex maintainers’ has been set up:
- Philip Kime (lead)
- Audrey Boruvka
- Me
We’ve got two separate tasks. First, we want to deal with issues with the current release of biblatex (v1.7). These are tracked on the SourceForge site, and there are a few outstanding which are being looked at. Second, we want to continue the work that Philipp Lehman had planned. That work is taking place on GitHub, and there are some big issues to tackle.
Perhaps the biggest single item on the horizon for biblatex 2.0 is dropping BibTeX support, and going Biber-only. That’s something that Philipp Lehman has been planning for some time: the reality is that supporting BibTeX is increasingly awkward, and it’s making adding new features increasingly complex (and bug-prone). Of course, dropping BibTeX support will be a significant change, but it’s been on the horizon for some time, and will open the way to further extending the data model biblatex (and Biber) user.
Of course, if Philipp Lehman does return (and we hope he does), then the ‘team’ will be very happy to hand back to him. For the moment, sticking with the roadmap seems the best way forward.
biblatex status
Over the past few years, the biblatex package has been developed by Philipp Lehman to be the leading method for creating bibliographies in LaTeX. The combination of biblatex with Biber is even more powerful: arguably the most complete solution to database-driven bibliographies available.
Philipp Lehman has done a massive amount of work to get us to this position, and has until recently been very reactive to user feedback. However, over the past few months no-one has heard from him. Philip Kime has posted to (de.)comp.text.tex about this: it seems that the TeX community as a whole know very little about Philipp Lehman beyond his e-mail address! (A number of avenues have regrettable given no more information.) Any information, or indeed contact from Philipp, would be great.
Philip Kime has some patches for biblatex which are not in the CTAN release and which improve interaction with Biber. He’s therefore created a ‘caretaker’ clone of biblatex on GitHub, so that these are no ‘lost’.
What happens next of course depends on whether Philipp Lehman reappears: clearly the best outcome. There are no urgent bug fixes or changes needed at the moment, so until after TeX Live 2012 is finalised there is no appetite to take any further action. That can’t go on for ever, of course, so if there is still no contact by the time of the TeX Live freeze then steps will have to be taken. Anyone interested in volunteering to help if that is needed should get in touch!
biblatex-chem updates
Recent changes to biblatex (in v1.6) mean that the biblatex-chem bundle is currently broken. I’ve not released a quick-fix as there are some long-standing issues to address in biblatex-chem. When I initially wrote the code, I started from scratch and defined only what I wanted. That works, but means that any changes in biblatex are not automatically picked up. From biblatex-ieee, I took the alternative approach and worked from the standard biblatex styles to what was needed. That’s a better long-term approach, so it’s the one I’m now bringing to biblatex-chem. It will take a little while, so user might want to keep an eye on the development code.
Physical science styles for biblatex: improvements underway
As regular readers will know, I’m a big fan of the biblatex approach to producing bibliographies, particularly now that we have Biber ‘on tap’. There was a question on the {TeX} site a while ago about an IEEE style, and so I wrote the biblatex-ieee style as a partial answer. Doing that, I realised that my other biblatex styles need a bit of work. I’ve now revised both biblatex-nature and biblatex-science to make them more flexible, and also to improve their documentation. Next on the list is the biblatex-chem bundle: there are four styles in it, so it will take a little while. Once all of that is done, then I will take a look at the requirements for physics, which I’m going to call biblatex-phys.
Biber now in TeX Live 2010
Many readers will be familiar with the Biber program, a replacement for BibTeX which works with the biblatex package. Binaries for common platforms have been available from TLcontrib for a while, but have now been added to the main TeX Live 2010 system. So you can install Biber on the ‘common’ platforms using the TeX Live Manager (or tlmgr from the command line). Yet another reason to move on from BibTeX and switch to biblatex, if you’ve not already!