This article is not published yet. It is excluded from search engines and from the article list.

Writing

How to Get a BibTeX Citation for Any Paper (No Software Install)

The fastest routes to a BibTeX entry — one curl command against the DOI, the export links on arXiv and ACL Anthology, or a one-press copy from your own library — plus the six things that are usually wrong with whatever you get back.

This article was drafted with AI assistance and has not been checked by a human editor yet.

You want one @article{...} block to paste into references.bib. Here is the shortest path to it — and then the six things that are usually wrong with whatever you get back.

If the paper has a DOI, one command is enough

curl -LH "Accept: application/x-bibtex" https://doi.org/10.1038/nphys1170
@article{Aspelmeyer_2009, title={Measured measurement}, volume={5},
ISSN={1745-2481}, url={http://dx.doi.org/10.1038/nphys1170},
DOI={10.1038/nphys1170}, number={1}, journal={Nature Physics},
publisher={Springer Science and Business Media LLC},
author={Aspelmeyer, Markus}, year={2009}, month=Jan, pages={11–12} }

(Wrapped here for reading; the response actually arrives as one long line.)

This is DOI content negotiation. doi.org hands the request to whichever registration agency minted the DOI, and both Crossref and DataCite serve application/x-bibtex — which covers most journal articles and, since arXiv began minting DataCite DOIs, most preprints too. No account, no browser, and it loops over a text file of DOIs with no extra tooling.

Four other places that will hand you a .bib

What you have Where the BibTeX is
A Google Scholar result The quote icon (“Cite”) under the result, then BibTeX at the bottom of the popup
An arXiv page An “export BibTeX citation” button on any /abs/ page, under References & Citations
A record on ACL Anthology, DBLP, ACM DL or IEEE Xplore The record page’s export or “Cite” control, with BibTeX among the formats — on ACL Anthology and DBLP the file is the record URL with the trailing slash (or .html) swapped for .bib
A paper already in a reference library A copy button on the entry

One gap worth knowing about: PubMed does not give you BibTeX. Its Cite button offers AMA, MLA, APA and NLM as text, and the citation-manager export is an .nbib file. Take the DOI off the record and run the command above instead.

The same paper, three sources, three different entries

Here is the BERT paper, fetched three ways on the same day.

Via the DOI, as above:

@inproceedings{Devlin_2019, title={}, url={http://dx.doi.org/10.18653/v1/N19-1423},
DOI={10.18653/v1/n19-1423}, booktitle={Proceedings of the 2019 Conference of the North},
publisher={Association for Computational Linguistics},
author={Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
year={2019}, pages={4171–4186} }

From ACL Anthology (editor, address, publisher and url dropped for length; the author list re-flowed onto one line):

@inproceedings{devlin-etal-2019-bert,
    title = "{BERT}: Pre-training of Deep Bidirectional Transformers for Language Understanding",
    author = "Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina",
    booktitle = "Proceedings of the 2019 Conference of the North {A}merican Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers)",
    month = jun,
    year = "2019",
    doi = "10.18653/v1/N19-1423",
    pages = "4171--4186"
}

And from a library that already had the paper saved:

@inproceedings{devlin2019bert,
  title = {BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding},
  author = {Jacob Devlin and Ming-Wei Chang and Kenton Lee and Kristina Toutanova},
  booktitle = {Conference of the North American Chapter of the Association for Computational Linguistics},
  pages = {4171--4186},
  year = {2019},
  doi = {10.18653/v1/n19-1423},
}

Same paper, same day, three different records. The DOI route returned an empty title — Crossref’s deposit for this DOI carries none — plus a truncated booktitle and an en dash in pages. Nothing errors; you simply get a reference with no title in your bibliography. The ACL Anthology entry is the best of the three because a human at the venue built it: the acronyms are already braced, the page range already uses --. So: prefer the source closest to the venue, and read whatever you get, because the fastest route is also the one most willing to hand you a hole.

Six things to check before you paste it in

1. The capitals will not survive

plain, abbrv, unsrt and alpha — the classic styles most journal .bst files descend from — lowercase every letter in a title except the first one, and the first one after a colon and a space. The role of DNA methylation in Arabidopsis prints as The role of dna methylation in arabidopsis. Of the BERT entries above, only the ACL Anthology one is safe, and that is because the acronym is already braced as {BERT}. Sitting at the start of a title spares just the first letter, so the unbraced BERT: in the library entry prints as Bert:. Braces are the escape hatch — anything inside {} is left alone.

title = {{BERT}: Pre-training of Deep Bidirectional Transformers},
title = {The role of {DNA} methylation in {Arabidopsis}},

You will also see whole titles wrapped as {{...}}. That protects everything at once and does work, but it also freezes capitalization the style may have been changing on purpose — brace the token, not the sentence. On biblatex with biber no case folding happens by default, but brace anyway: you rarely control which style the venue will run your .bib through.

2. BibTeX will split names you did not want split

BibTeX reads author = {World Health Organization} as the first name “World Health” and the surname “Organization”, so a style that abbreviates given names prints it as W. H. Organization. Wrap the name in its own braces so it stays one unit:

author = {{World Health Organization}},

The same rule saves any name containing the word and, which BibTeX otherwise reads as a separator between two authors. And when a surname has more than one part, use the Last, First form so nothing has to be guessed:

author = {van der Waals, Johannes Diderik},

3. @misc is not a synonym for “not sure”

Two entries for one paper, both real, both fetched the same day. From arXiv’s DataCite DOI (author list trimmed; keywords and copyright dropped):

@misc{https://doi.org/10.48550/arxiv.1706.03762,
  doi = {10.48550/ARXIV.1706.03762},
  url = {https://arxiv.org/abs/1706.03762},
  author = {Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and ...},
  title = {Attention Is All You Need},
  publisher = {arXiv},
  year = {2017}
}

And from a library holding the published version:

@inproceedings{vaswani2017attention,
  title = {Attention Is All You Need},
  author = {Ashish Vaswani and Noam Shazeer and Niki Parmar and ...},
  booktitle = {Conference on Neural Information Processing Systems},
  volume = {30},
  pages = {5998--6008},
  year = {2017},
}

@misc has no required fields, so nothing warns you that the venue, volume and pages are gone — it just prints as an author, a title and a year. Cite the version a reader should go to: if a published version exists, use @article or @inproceedings for it and keep the preprint link in url (or in eprint under biblatex). Reach for @misc only when the preprint genuinely is the only version.

4. Dashes and months

pages={11–12} in the first entry is a literal en dash. The BibTeX convention is two hyphens — pages = {11--12} — which LaTeX renders as an en dash, and which styles that reformat ranges can actually parse. Months are the same class of problem: the standard styles define jan through dec and nothing else, so an unbraced month=July is an undefined string that BibTeX drops, with the warning string name "july" is undefined. Write month = jul, or month = {July} to force the literal. The month=Jan in the first entry is fine, incidentally: BibTeX matches macro names without regard to case, so it resolves to jan.

5. Unicode, and the four characters you have to escape

A bare &, _ or # in a title (“Design & Analysis”) will halt the LaTeX run. A bare % is quieter and worse: it starts a comment, so it raises no error at all and simply swallows the rest of the line. Escape all four — \&, \_, \#, \%. Accented characters are subtler. Schölkopf is fine on biblatex with biber, which is UTF-8 native. Classic bibtex is byte-oriented, so its sorting and case folding across multibyte characters are unreliable — and any encoding mismatch between the .bib file and whatever reads it turns Schölkopf into Schölkopf. If you have to stay on bibtex, write Sch{\"o}lkopf.

6. A citation key you can actually type

The arXiv DOI above returns the key https://doi.org/10.48550/arxiv.1706.03762. DBLP returns DBLP:conf/naacl/DevlinCLT19. Rename it to something you will still recognise in six months — vaswani2017attention — and do it before the key spreads through a draft and every \cite{} has to be hunted down.

When it is forty papers, not one

Running those six checks forty times is the point at which people give up and paste whatever the first generator returned. The fix is structural: collect papers as you meet them, and take the bibliography out once, at the end, from one place.

That is the shape Litlas is built around. Papers go in from search results, from the browser extension while you are reading, or by dragging a PDF into the library, and an existing .bib imports without overwriting notes you have already written. On any paper, View BibTeX opens the entry inline and copies it in the same press; the Cite panel beside it renders the reference in APA, Chicago author-date, IEEE, MLA or Vancouver and exports .bib, .ris or CSL-JSON. A whole board — or the whole filtered library — comes out as a single .bib. There is a setting for whether venues export in full (“Conference of the North American Chapter of the Association for Computational Linguistics”) or short (“NAACL”), which is the difference between an entry you submit and one you rewrite — it applies to the per-paper export, though; the whole-library .bib currently always uses the full form.

Two limits, so they are not a surprise. Litlas normalises page ranges to --, but it does not add brace protection: the entry above really does say title = {BERT: Pre-training...}, and the {BERT} is still yours to type. And reading one paper’s BibTeX needs no account — the per-paper export is public — while building a library does, with the free plan capped at 3 boards and 100 items and no card required.

The short version

  • Have a DOI? One curl and you are done.
  • Have a URL? Try the site’s own .bib link first, Google Scholar second.
  • Whatever comes back, read it: capitals, name splitting, entry type, --, escapes, key.

Every generator produces plausible BibTeX. None of them produces finished BibTeX. That last pass is yours, and it takes about thirty seconds once you know the six places to look.

Sources

BibTeX behaviour (title case folding in plain/abbrv/unsrt/alpha, name parsing, the jan-dec month macros) from the standard BibTeX and biblatex documentation. The DOI, arXiv, ACL Anthology and DBLP entries quoted here were fetched on 2026-08-07 and are reproduced verbatim except where a trim is noted. Litlas feature claims verified against the Litlas codebase and its public API on 2026-08-07 (see intent_rubric.md §1).

How to Get a BibTeX Citation for Any Paper (No Software Install) | Litlas