NBIBTEX(1)

πŸ“¦ version 0.9.18, in ubuntu jammy

πŸ’– NBIBTEX(1) πŸ’–

okay bestie, welcome to the nbibtex glow-up ✨ this is a General Commands Manual situation and we're about to make a bibliography for LaTeX like it's nothing. no cap, this one's a banger.


✨ NAME ✨

nbibtex β€” make a bibliography for LaTeX πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

nbibtex [options] auxname[.aux] [bibname...]

🌸 DESCRIPTION 🌸

NbibTeX is a drop-in replacement for BibTeX β€” yes, fr fr, you just swap it in and go. It reads the top-level auxiliary (.aux) file that got spat out while latex(1) or tex(1) was doing its thing, and it creates a bibliography (.bbl) file that gets incorporated into your document on the next runs of LaTeX or TeX. the way that it just… handles it πŸ’…

NbibTeX looks up entries in bibliographic database (.bib) files that were specified by the \bibliography command β€” the entries it's hunting for are the ones named by the \cite and \nocite commands in your LaTeX or TeX source file. The association of a \cite command with a .bib entry is made by a little query language, described below. πŸ‘‘ NbibTeX then formats the info from those .bib entries according to instructions in a bibliography style (.nbs) file (that's the one specified by the \bibliographystyle command), and it outputs the results to the .bbl file. slay.

If the optional bibnames are used, NbibTeX looks in those named bibliographies instead of the ones specified by the \bibliography command. Here's the vibe check on that:

  • A bibname with no slash (/) character means the same thing it would mean in a \bibliographystyle command: it gets looked up according to the rules of BibTeX.
  • A bibname with a slash character is taken to be the absolute or relative pathname of a .bib file.

Explicit bibnames can be used with the -bib and -o options to make a paper-specific .bib file out of larger .bib files. obsessed. 🫢

The LaTeX manual explains what a LaTeX source file must contain to work with NbibTeX. Appendix B of the manual describes the format of the .bib files. The NbibTeXing document describes extensions and details of this format, and it gives other useful hints for using NbibTeX. πŸ“š


πŸ’… OPTIONS πŸ’…

  • -min-crossrefs=number β€” defines the minimum number of crossref required for automatic inclusion of the crossref'd entry on the citation list. the default is 2. ✌️
  • -terse β€” accepted for backward compatibility with BibTeX; NbibTeX is terse by default. (so like, it's already giving that energy, no notes πŸ’€)
  • -permissive β€” enables NbibTeX to keep on working even when some of the .bib files mentioned in the \bibliography command are missing. Also tells NbibTeX not to object if duplicate entries are found across multiple .bib files. very chill of it 🌈
  • -strict β€” tells NbibTeX to complain about all irregularities it spots in any .bib file it parses. By default, NbibTeX (like BibTeX) complains only about entries it actually intends to use. so -strict is the friend who notices everything πŸ™ˆ
  • -o file β€” writes the bibliography to file instead of to the default auxname.bbl. If file is -, it writes to standard output. iconic.
  • -bib β€” instead of writing a bibliography for use by LaTeX, writes exactly those NbibTeX entries needed by auxname. Useful for making paper-specific .bib files. main character energy πŸ”₯
  • -help β€” emit a short help message and exit. πŸŽ€
  • -version β€” emit version information and exit. ⭐

πŸ“ EXAMPLES πŸ“

To make a normal bibliography for file paper.tex:

nbibtex paper

To use the personal .bib file personal.bib to make a paper-specific bibliography for file paper.tex, which should use the command lography{paper} (yeah that's literally what the manpage says, don't @ me πŸ’€):

nbibtex -o paper.bib -bib paper personal

The file personal.bib should be found on the usual BIBINPUTS path.

To extend the bibliography paper.bib by filling in missing entries from personal.bib:

nbibtex -permissive -o paper.bib -bib paper paper personal

🧚 QUERY LANGUAGE 🧚

To specify a paper you wish to cite, classic BibTeX requires an arbitrary key. The advantage of NbibTeX is that you cite a paper by the contents of the NbibTeX entry. no more memorizing ugly keys, bestie, we're free 🌸

The citation consists of a sequence of one or more constraints separated by colons. A constraint may be empty.
A nonempty constraint is of the form key=words, where key is the name of a field in the NbibTeX entry and words is a sequence of one or more words separated by dashes. The constraint is satisfied if every word in words is found in the field named by key. (The key may also be [type], which matches against the type of the entry, or *, which looks for words in any field.)

For example, the following queries might match an entry for a useful source on arithmetic:

author=knuth:series=art-programming:volume=2
author=knuth:title=seminumerical:year=1981

As a convenience, keys may be defaulted in up to three constraints:

  1. In the first constraint, the default key is author (or if there is no author, editor).
  2. In the second constraint, the default key is year if words is all digits, and is title otherwise.
  3. In the third constraint, the default key is year if words is all digits, and is [type] otherwise.

So for example, we could have written:

knuth:seminumerical:1981

To match a word in words, Ξ’X uses the Boyer-Moore string-matching algorithm, so longer words are usually faster. (yes, the page really does say Ξ’X there, I'm just the messenger 🫠)

NbibTeX's query language can be used on the command line by nbibfind(1). πŸ¦‹


πŸ‘‘ NBIBTEX STYLES AND COMPATIBILITY WITH BibTeX πŸ‘‘

Like BibTeX, NbibTeX supports a variety of "styles" of bibliography. Each style is defined by a program written in Lua, using additional primitives suitable to construction of bibliographies. πŸŒ™

NbibTeX provides the three standard styles in a form suitable for use with the natbib package:

  • Two of these styles (abbrvnat and unsrtnat) are completely compatible with the corresponding BibTeX styles.
  • The third style (plainnat) has been changed to more closely follow the Chicago Manual of Style.
  • A compatible version is available as style plainnatc. πŸ’…

Additional styles may be created by writing new Lua code. For example, an author wishing to create a style called mcbride would put a file called mcbride.nbs (for New BibTeX Style) in the directory /usr/share/nbibtex. For guidance on what goes into such a file, consult the other files in that directory and the literate source code for NbibTeX. ✨


🌈 ENVIRONMENT 🌈

For .bib files, NbibTeX searches the directories in the path defined by the BIBINPUTS environment variable if that is set, otherwise the default. For details of the searching, see tex(1) and kpsewhich(1).

No special searching is done for the .aux file. πŸŽ€


πŸ’œ FILES πŸ’œ

  • /usr/share/nbibtex/*.nbs β€” New bibliography style files.

πŸ’€ BUGS πŸ’€

Although I have made some effort in this direction, compatibility with BibTeX does not extend to .bib files containing non-ASCII characters. 😭 noted, fr fr.


⭐ SEE ALSO ⭐


πŸŽ€ AUTHOR πŸŽ€

Norman Ramsey, Harvard University. 🫢


and that's the whole page, bestie!! πŸ’– this version dropped on 15 May 2006, and it's the NBIBTEX(1) page β€” so like, the version info and the date are right there in the sign-off, cute right? go make some bibliographies, you're gonna eat πŸ“βœ¨πŸ’…

πŸ“¦ where this page comes from