BIBTEXU(1)
โจ NAME โจ
okay so this is BIBTEXU(1), the User Commands page, and the tool is bibtexu, aka UTF-8 Big BibTeX ๐
๐ SYNOPSIS ๐
bibtexu [options] aux-file
๐ธ DESCRIPTION ๐ธ
okay bestie, BibTeXu is the Unicode-compliant version of BibTeX ๐ญโจ It's largely based on Niel Kempson's BibTeX8, and it gives you way better UTF-8 support by integrating the ICU library. So no more needing the Codepage and Sort order ("CS") file ๐ โโ๏ธ Instead, sorting and case-changing are controlled with command-line options. iconic, honestly ๐
๐ฆ OPTIONS ๐ฆ
-?,--helpโ shows some brief help text ๐-d,--debug TYPEโ reports debugging info. TYPE is one or more ofall,csf,io,mem,misc,search. ๐-s,--statisticsโ reports internal statistics ๐-t,--traceโ reports execution tracing ๐ฃ-v,--versionโ reports the BibTeX version ๐ท๏ธ-l,--language LANGโ uses language LANG to convert strings to lower case. This argument gets passed to the ICU library ๐-o,--location LANGโ uses language LANG for sorting. This argument also gets passed to the ICU library ๐ง-B,--bigโ sets a large BibTeX capacity ๐-H,--hugeโ sets a huge BibTeX capacity ๐ฅ-W,--wolfgangโ sets a really huge BibTeX capacity, made for Wolfgang ๐-M,--min_crossrefs ##โ sets min_crossrefs to ## ๐--mstrings ##โ allows ## unique strings ๐ซถ
๐ UNICODE SUPPORT ๐
okay so BibTeXu has extended features for handling Unicode characters โจ Several built-in functions in bibliography styles get a glow-up, and here's the tea:
&โ pops the top two (integer) literals and pushes their bitwise AND ๐งฎ|โ pops the top two (integer) literals and pushes their bitwise OR ๐งฎadd.period$โ pops the top (string) literal and adds a.to it if the last non}' character isn't a.,?,!`, or a Unicode punctuation mark. The mark can be U+203C, U+203D, U+2047, U+2048, U+2049, U+3002, U+FF01, U+FF0E or U+FF1F. Then it pushes the resulting string ๐chr.to.int$โ pops the top (string) literal, makes sure it's a multibyte string of a single Unicode code point, converts it to the matching Unicode scalar value (integer), and pushes that integer ๐ขint.to.chr$โ pops the top (integer) literal, treats it as the Unicode scalar value of a single code point, converts it to the matching single-character multibyte string, and pushes that string ๐คnum.names$,format.name$โ same as original BibTeX, but an Ideographic/Fullwidth Comma (U+3001, U+FF0C) is accepted as a separator between persons on top of the" and "string. An Ideographic Space (U+3000) is also accepted between a family name and a given name, alongside the regular space" "๐substring$,text.length$,text.prefix$โ same as original BibTeX, but the unit of operand numbers is the Unicode code point ๐ธchange.case$โ same as original BibTeX, but letters from non-English Latin, Greek and Cyrillic are supported now ๐width$โ same as original BibTeX, but letters of Latin-1, Latin Extended-A and CJK characters are supported ๐is.cjk.str$โ pops the top (string) literal and sets flag bits in an integer if CJK characters show up in the string, then pushes that integer. Otherwise it pushes 0. Flags 0x001, 0x002, 0x004, 0x008 and 0x800 match Hanzi (Kanji, Hanja), Kana, Hangul, Bopomofo and other CJK characters, respectively. For example, the integer 0x003 gets pushed if Hanzi and Kana characters are found in a popped string literal ๐ฏ๐ตis.kanji.str$โ same asis.cjk.str$, just kept around for compatibility with (u)pBibTeX ๐ซถ
๐ฆ SEE ALSO ๐ฆ
more detailed description of BibTeXu lives at $TEXMFDIST/doc/bibtexu/README. go read it when you're feeling nerdy ๐ค
๐ AUTHORS ๐
BibTeXu was written by Yannis Haralambous and his students. It's maintained as part of TeX Live ๐ง
this manpage was written for TeX Live ๐
bye bestie ๐ you've been reading bibtexu 4.00, last updated 30 August 2022, and you literally just learned Unix like a pro โจ๐ซถ
๐ฆ where this page comes from
- alpine 3.24: texlive-doc 2026.0-r0 ยท GPL-2.0-or-later AND GPL-3.0-or-later
- arch rolling: texlive-doc 2026.1-1 ยท GPL
- debian trixie: texlive-binaries 2024.20240313.70630+ds-6 ยท TeX-Live
- fedora 43: texlive-bibtexu 11:svn66186-93.fc43 ยท LPPL-1.3c
- fedora 43: texlive-bibtexu 11:svn66186-95.fc43.1 ยท LPPL-1.3c
- fedora 44: texlive-bibtexu 12:svn66186-105.fc44 ยท LPPL-1.3c
- fedora 44: texlive-bibtexu 12:svn66186-111.fc44 ยท LPPL-1.3c
- opensuse-leap 16.0: texlive-bibtexu 2025.221.3.72svn66186-160000.3.1 ยท GPL-2.0-or-later
- ubuntu noble: texlive-binaries 2023.20230311.66589-9build3 ยท TeX-Live
- ubuntu questing: texlive-binaries 2024.20240313.70630+ds-6ubuntu2 ยท TeX-Live
- ubuntu resolute: texlive-binaries 2025.20250727.75242+ds-5build1 ยท TeX-Live
- ubuntu stonking: texlive-binaries 2026.20260303.78225+ds-5ubuntu1 ยท TeX-Live
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms