Emulate BiBTeX's behavior #1231
Conversation
0d1181b to
403a136
Compare
|
There are still some things that need doing before this can be merged.
|
With this commit we add the former BiBTeXML project as a new subsystem to LaTeXML.
This commit replaces the old MakeBibliography with a new version based on the BiBTeX emulator.
This commit adds a simple daemon test for the new BiBTeX interface.
This commit adds a new target 'make bibtest' to Makefile.PL that runs the BiBTeX tests.
This commit inlines convenience imports to LaTeXML::Post::BiBTeX::Compiler.
This commit inlines imports to LaTeXML::Post::BiBTeX::Bibliography.
This commit inlines imports to LaTeXML::Post::BiBTeX::BibStyle.
Previously, the empty string was treated to contain exactly one name, the empty name. This caused problems in specific .bst files that relied on a name count eventually becoming 0. This commit updates the behavior, and makes num.names$ and splitNames return 0 and the empty array, respectively, for the empty input string.
Previously, when an invalid index was passed to 'text.substring' the function would return undef because of a perl implementation detail. This commit updates the behavior to instead return the empty string when an invalid index is passed.
Previously, when defining variables inside a .bst file, these were not initialized. This caused certain stylesheets, which expected them to have a sensible default value, to fail. This commit silently initializes newly defined variables.
|
While working on biblatex, I've found a couple of minor bugs on the branch. |
|
If you've gone to the trouble of rebasing, you might as well force push it. It'll make the rest of the work easier, even if I end up stealing your code rather than merging. But I'm curious that interpretting biblatex.bst depends on code from this branch? Seems likely that it would depend on bib-related infrastructure in |
|
One can do Regarding implementation details:
Regarding running biblatex with
|
|
I'm still hoping a variant of this will get merged at some point, but as nothing has happened in a little over 2 years I'm going to close it. |
I've been working on this PR for some time. It changes the way BiBTeX is handled in LaTeXML. In short, it adds a '.bst' file emulator to format bibliography entries exactly the way BiBTeX does.
The new approach has the following advantages:
<ltx:bibblock>sIt comes with some caveats too:
This PR is split into three commits:
After offline discussions with @brucemiller about this: He doesn't expect to merge this PR as is, but it should provide a starting point to where we have a mostly feature-complete, working version of the new approach.