What is the equivalent of the "plain" Latex bibliography style?

I am maintaining the para-lipics template, which recreates the Dagstuhl LIPIcs Latex format.

I am working on the bibliography now. LIPIcs uses the “plain” bibliography style, which looks like that.

However, I can find the equivalent style in the Typst-supported styles. Does someone know which one I should pick?

It should be possible to convert the official “plain.bst” style (Official CTAN link) to CSL using tools like biblatex-csl-converter.

The question is: Has it already been done? If not, and if someone does it (me hypothetically), could it be integrated into the list of supported Typst styles?

Typst basically has no custom styles, except for maybe one or two. So this is not a question about Typst, but CSL (officially available styles).

There is none, from a bit of searching:

https://tex.stackexchange.com/questions/558181/citation-style-language-matching-biblatex-plain

https://tex.stackexchange.com/questions/208296/latex-default-citation-and-bibliography-style-with-pandoc

Typst provides a long list of CSL themes (cf. the doc link I attached in my first post). My question was whether one of those provided styles reproduced the plain style. The pages that you sent do not explicitly say that there exists no such CSL file reproducing the plain style, but it’s true that none of Zotero’s styles seems to implement plain.

Are there copyright caveats I should know if I try to reimplement plain in CSL? Could this CSL eventually be added to Typst’s list of styles?

EDIT: BibTeX’s code is distributed with Knuth’s licence:

This software is copyrighted. Unlimited copying and redistribution of this package and/or its individual files are permitted as long as there are no modifications. Modifications, and redistribution of modifications, are also permitted, but only if the resulting package and/or files are renamed.

If I name the file bibtex-plain-unofficial.csl I should be fine I guess?

1 Like

Just for reference, here are the bibliography styles of BibTeX, and their CSL counterpart (or lack thereof):

BibTeX’s .bst CSL (or Typst-supported style)
abbrv.bst :question:(probably not)
acm.bst :white_check_mark: "association-for-computing-machinery"
alpha.bst :white_check_mark: "alphanumeric"
apalike.bst :white_check_mark: "american-psychological-association" (*)
ieeetr.bst :white_check_mark: "ieee"
plain.bst :question:(probably not)
siam.bst :question:(probably not)
unsrt.bst :question:(probably not)

(*) Not sure the official APA style and apalike are the same though.

It’s not exactly correct/full right now, but most are from GitHub - citation-style-language/styles: Official repository for Citation Style Language (CSL) citation styles.. Show aliases of citation styles in docs and completions by YDX-2147483647 · Pull Request #6696 · typst/typst · GitHub

It isn’t explicitly stated, but it would be very weird to not mention it at all if it existed. All widely used once must be present in the CSL repo.

If “alphanumeric” is from the same source code, then you’re probably fine, as core maintainers created a CSL file for it, IIRC.

I didn’t check alphanumeric to be fair, I assume it is roughly the same as BibTeX’s alpha. But I’m mostly interested in plain. If I want it to be added to Typst, I assume I first have to PR the CSL Github, and once it’s accepted, PR Typst somehow? (I know that I can just import it in my project in the meantime)

First, an issue would be nice. There you can ask for directives.

since you maintain a template, you could always bundle your csl file in the package:

In your package:

// read to bytes (not string)
#let plain-csl = read("plain.csl", encoding: none)

In your users’ document

#import "...": plain-csl
#set bibliography(style: plain-csl)

… or something like that.

Then you template can support the correct citation style, and still offer customization of citation styles, without needing upstream support in Typst.

To close this thread: I coded a CSL reproduction of BibTeX’s “plain”, which you can import as described by @SillyFreak.