new2 new2
WWW http://www.math.utah.edu/~beebe

The TUG bibliography archive

Last top-level updates: Sat Jun 29 18:51:57 2019 [but the bibliography archive files are updated often!]

This is a large archive of freely-distributable bibliographic data in BibTeX format; see the sections below for more information on its contents, and how to mirror, and use, the data. As of 29 June 2019, there are more than 1.48 million BibTeX entries in the combined archives at this site.

If you are unfamiliar with BibTeX, or bibliographic markup systems, and would like to learn more, visit this tutorial . It discusses many of the issues that are important for bibliographic work, and describes numerous software tools that can make such work easier and more productive.

You can jump from here directly to the TUG bibliography archive download or mirror sections. Valid HTML 4.0!

Project history

The TeX User Group (TUG) bibliography archive began in the early 1990s (before the World Wide Web!) as a modest project to record bibliographic data for the maintainer's large collection of books and journals. The data are in BibTeX format, which is the most extensible, portable, and powerful format for markup of bibliographic information, and has the great advantage that even people who have never seen a BibTeX entry can easily understand the meaning of its various fields.

When the bibtex program is available, as it is in all standard TeX and LaTeX distributions since the mid-1980s, entries can be referenced in a document with \cite{lab-1,lab-2,…,lab-n} commands, which causes those citation labels to be written to an auxiliary file when TeX typesets the document. When BibTeX later reads that file, it searches a user-supplied list of bibliographic data files for matching entries, and then formats them into the user-chosen bibliographic style, of which hundreds are available. The next time that TeX typesets the document, the selected references are displayed as a bibliography section at the point where the \bibliography{file-1,file-2,…,file-k} command appears. When bibliographic entries cross-reference other entries, it may be necessary to run TeX and BibTeX a few more times in order to collect all of the needed cross references. Their log files record requests for still-missing BibTeX entries.

The great beauty of that approach is that the horrid and tedious job of formatting reference-list data is handled completely by a computer program, instead of a poor human, and provided that the BibTeX entries are correct, the bibliography will be too. Cross references embedded in BibTeX entries ensure that related documents, such as comments, errata, notes, and remarks are automatically included as well, without the author having to remember to cite them. The ease of bibliography production afforded by BibTeX encourages authors to do a thorough job of citing prior work, rewarding the authors of those works, and helping the reader to find related documents.

As the collection grew, so did its value, and it became evident that it was an effort worth sharing with others, because once a correct BibTeX entry has been created for a document, no one else has to do that job again. In addition, as new data become available, such as Web locations of documents, and standard document numbers, the BibTeX entries can be updated, and new citations of those entries then automatically include the new material, provided that a bibliography style that knows about the new fields has been used.

The growth of the World Wide Web allows sharing of data with others around the globe, and made it worthwhile to develop software tools to convert bibliographic data from a wide variety of formats to BibTeX form. That has been particularly important for automatically recovering reusable bibliographic data from publisher Web pages for journal-issue contents, which is likely to be the most reliable source of such data. Some of those tools are documented in a journal article, A Bibliographer's Toolbox, and the conversion to relational databases is described in another article, BibTeX meets relational databases. The most important tools for BibTeX file creation and maintenance are described in yet another article, Bibliography prettyprinting and syntax checking.

The TUG bibliography archive covers scores of subjects, and hundreds of journals, with more than one million BibTeX entries. Having them available in multiple SQL databases has made it possible to automate the job of identifying new entries that are candidates for inclusion in author- or subject-specific bibliographies, as well as to run numerous sanity checks on the entire corpus of data. As a result, both the quality and the quantity of the bibliographic data continue to grow.

Several publishers, including ACM, AIP, AMS, APS, arXiv, Elsevier (ScienceDirect), EMS, EPS, IEEE, SAO/NASA, SIAM, Springer, and Wiley, have recognized the value of BibTeX markup, and can return literature database search results in BibTeX form. However, most of those results still require a certain amount of manual editing to provide missing fields, to add protecting braces around proper nouns in titles, to supply missing authors, and to correct botched mathematical markup. Some of those publishers have even adopted the BibTeX citation-label syntax that was developed for the TUG bibliography and BibNet Project archives. None of them yet offers complete journal coverage in BibTeX form, and often, there are severely-low limits on how many entries can be retrieved in response to a single search.

Project content highlights

Note: In the tables in the rest of this document, you can replace .html with .bib in any bibliography link to get the original BibTeX file. With similar changes, you can get DVI files (.dvi), LaTeX wrappers (.ltx), PDF files (.pdf), compressed PostScript files (.ps.gz or .ps.xz), spelling dictionaries (.sok), and titleword cross-reference files (.twx).

Journals on the history, philosopy, and popularization of mathematics and science
Ambix: Journal of the Society for the History of Alchemy and Chemistry
Annals of Science
Annals of the History of Computing
Archive for History of Exact Sciences
Berichte zur Wissenschaftsgeschichte [Reports on Science History]
BJHS Themes
British Journal for the History of Science (2010–2019) (also 1962–1989 , 1990–1999 , and 2000–2009 )
British Journal for the Philosophy of Science
British Society for the History of Science Monographs
BSHM Bulletin: Journal of the British Society for the History of Mathematics
Bulletin of the Atomic Scientists
Bulletin for the History of Chemistry
Centaurus: an International Journal of the History of Science and its Cultural Aspects
Chymia: Annual Studies in the History of Chemistry
Contemporary Physics
Cryptologia
Dædalus: proceedings of the American Academy of Arts and Sciences
Dialectica: International Review of Philosophy of Knowledge
The European Physical Journal H: Historical Perspectives on Contemporary Physics
Foundations of Chemistry
Foundations of Physics
Foundations of Physics Letters
Foundations of Science
Historia Mathematica
Historical Studies in the Natural Sciences
Historical Studies in the Physical Sciences
Historical Studies in the Physical and Biological Sciences
History and Technology
History of Geo- and Space Sciences
History of Science
HOPOS: Journal of the International Society for the History of Philosophy of Science
IEEE Annals of the History of Computing
International Studies in the Philosophy of Science
Isis (2010–2019) (also 1910–1919 , 1920–1929 , 1930–1939 , 1940–1949 , 1950–1959 , 1960–1969 , 1970–1979 , 1980–1969 , 1990–1999 , and 2000–2009 )
Journal of Cold War Studies
Journal for General Philosophy of Science / Zeitschrift für allgemeine Wissenschaftstheorie
Journal for the History of Astronomy
Japanese Studies in the History of Science
Journal of Cold War Studies
Minerva: A Review of Science, Learning and Policy
The Natural Philosopher
Notes and Records of the Royal Society of London [The Royal Society Journal of the History of Science]
NTM Zeitschrift fü Geschichte der Wissenschaften, Technik und Medizin == NTM Journal of the History of Science, Technology and Medicine
Nuncius
Osiris (series 1 and 2) [companion to Isis]
Perspectives on Science
Philosophy of Science (2010–2019) (also 1930–1939 , 1940–1949 , 1950–1959 , 1960–1969 , 1970–1979 , 1980–1969 , 1990–1999 , and 2000–2009 )
Printing History
Physics in Perspective (PIP)
Physis: Rivista Internazionale di Storia della Scienza
Revue d'Histoire des Mathématiques = Journal for the History of Mathematics
Revue d'Histoire des Sciences
Rutherford Journal [the New Zealand Journal for the History and Philosophy of Science and Technology]
Science & Education (Springer)
Science and Public Policy (2010–2019) (also 1970–1979 , 1980–1969 , 1990–1999 , and 2000–2009 )
Science in Context
Science Studies
Scientific American (2010–2019) (also 1870–1879 , 1880–1889 , 1890–1899 , 1900–1909 , 1910–1919 , 1920–1929 , 1930–1939 , 1940–1949 , 1950–1959 , 1960–1969 , 1970–1979 , 1980–1969 , 1990–1999 , and 2000–2009 )
Smithsonian (2000–2009) (also 1980–1969 , and 1990–1999 )
Social Studies of Science
Spontaneous Generations: A Journal for the History and Philosophy of Science
Studies in History and Philosophy of Biological and Biomedical Sciences
Studies in History and Philosophy of Science Part A
Studies in History and Philosophy of Modern Physics [Part B]
Studies in History and Philosophy of Science Part C
Sudhoffs Archiv: Zeitschrift für Wissenschaftsgeschichte
Synthese (2010–2019) (also 1930–1939 , 1940–1949 , 1950–1959 , 1960–1969 , 1970–1979 , 1980–1969 , 1990–1999 , and 2000–2009 )
Theoria
Zeitschrift für allgemeine Wissenschaftstheorie / Journal for General Philosophy of Science
Computer science journals and topics
Acta Informatica Algorithmica
Algorithms AT&T Bell Laboratories Technical Journal (1984)
AT&T Technical Journal (1985--1989) AT&T Technical Journal (1990--1996)
Bell Labs Technical Journal (1996--1999) Bell Labs Technical Journal (2000--2009)
Bell Labs Technical Journal (2010--2019) Bell System Technical Journal (1920--1929)
Bell System Technical Journal (1930--1939) Bell System Technical Journal (1940--1949)
Bell System Technical Journal (1950--1959) Bell System Technical Journal (1960--1969)
Bell System Technical Journal (1970--1979) Bell System Technical Journal (1980--1983)
Byte magazine (1970--1979) Byte magazine (1980--1989)
Byte magazine (1990--1994) Byte magazine (1995--1998)
C Users Journal (1988--1994) C++ Report
C/C++ Users Journal (1994--1999) C/C++ Users Journal (2000--2002)
Chicago Journal of Theoretical Computer Science Classic Shell Scripting
Common Lisp Communication Design Quarterly Review
Communications in Computer Algebra Communications of the ACM (1958--1959)
Communications of the ACM (1960--1969) Communications of the ACM (1970--1979)
Communications of the ACM (1980--1989) Communications of the ACM (1990--1999)
Communications of the ACM (2000--2009) Communications of the ACM (2010--2019)
Computability Computer Animation and Virtual Worlds
Computer Graphics and Image Processing Computer Graphics Forum
Computer Graphics World Computer Journal (1950--1959)
Computer Journal (1958--1999) Computer Journal (1960--1969)
Computer Journal (1970--1979) Computer Journal (1980--1989)
Computer Journal (1990--1999) Computer Journal (2000--2009)
Computer Journal (2010--2019) Computer Language (magazine)
Computer Languages (journal) Computer Networks (1977--1984)
Computer Networks (1999) Computer Networks (2000--2009)
Computer Networks (2010--2019) Computer Networks and ISDN Systems
computer science books (and much else) Computer Systems Science and Engineering
Computer Vision and Image Understanding (1) Computer Vision and Image Understanding (2)
Computer Vision, Graphics, and Image Processing Computer Vision, Graphics, and Image Processing. Graphical Models and Image Processing
Computer Vision, Graphics, and Image Processing. Image Understanding Computers and Graphics
Computing Computing Surveys
Computing Systems Journal Concurrency and Computation: Practice and Experience
Concurrency: Practice and Experience Cool Chips Symposia
C# programming language Data compression
Data Explorer scientific visualization system Datamation
Digital Technical Journal Dr. Dobb's Journal (1980--1989)
Dr. Dobb's Journal (1990--1999) Dr. Dobb's Journal (2000--2003)
Embedded Linux Journal Empirical Software Engineering
Floating-point arithmetic Formal Aspects of Computing
ForTec Forum Fortran Forum
Fortran programming language (1956--1980) Fortran programming language (1981--1989)
Fortran programming language (1990--) Foundations of Computer Science (volumes)
Foundations of Computer Science (1980--1989) Foundations of Computer Science (1990--1999)
Foundations of Computer Science (2000--2009) Foundations of Computer Science (2010--2019)
Fundamenta Informaticae (1990--1999) Fundamenta Informaticae (2000--2009)
Fundamenta Informaticae (2010--2019) Future Generation Computer Systems
Graphical Models (1) Graphical Models (2)
Graphical Models and Image Processing Hashing algorithms
Hewlett-Packard Journal High-Performance Fortran
Hot Chips symposia Hot Topics in Operating Systems Workshops
IBM Journal of Research and Development IBM Systems Journal
ICCMSE 2007 conference Information Processing Letters (1970--1979)
Information Processing Letters (1980--1989) Information Processing Letters (1990--1999)
Information Processing Letters (2000--2009) Information Processing Letters (2010--2019)
INFORMS Journal on Computing Intel IA-64 architecture
Intel Technology Journal International Journal of Computer Applications
International Journal of Computational Geometry and Applications International Journal of Computer and Information Sciences
International Journal of Computer Processing of Languages International Journal of Computer Processing of Oriental Languages
International Journal of Computer Systems Science and Engineering International Journal of Foundations of Computer Science
International Journal of High Performance Computing Applications International Journal of High Speed Computing
International Journal of Image and Graphics International Journal of Parallel Programming
International Journal of Parallel, Emergent and Distributed Systems International Journal of Supercomputer Applications
International Journal of Supercomputer Applications and High-Performance Computing International Journal on Software Tools for Technology Transfer
Java Report JavaWorld magazine
Journal of Algorithms Journal of Automated Reasoning
Journal of C Language Translation Journal of Computer Documentation
Journal of Computer Security Journal of Computer and System Sciences
Journal of Data and Information Quality Journal of Digital Information
Journal of Experimental Algorithmics Journal of Functional Programming
Journal of Graphics Tools Journal of Graphics, GPU, and Game Tools
Journal of Grid Computing Journal of Network and Computer Applications
Journal of Open Research Software Journal of Open Source Software
Journal of Parallel and Distributed Computing Journal of Scientific Computing
Journal of Software: Evolution and Process Journal of Software Maintenance: Research and Practice
Journal of Software Maintenance and Evolution: Research and Practice Journal of Supercomputing
Journal of Systems and Software Journal of the ACM
Journal of Universal Computer Science Journal of Visualization and Computer Animation
Journal on Computing and Cultural Heritage Journal on Educational Resources in Computing
Journal on Emerging Technologies in Computing Systems lcc C compiler
Lecture Notes in Computational Science and Engineering Lecture Notes in Computer Science (1990)
Lecture Notes in Computer Science (1991) Lecture Notes in Computer Science (1992)
Lecture Notes in Computer Science (1993) Lecture Notes in Computer Science (1994)
Lecture Notes in Computer Science (1995a) Lecture Notes in Computer Science (1995b)
Lecture Notes in Computer Science (1996a) Lecture Notes in Computer Science (1996b)
Lecture Notes in Computer Science (1997a) Lecture Notes in Computer Science (1997b)
Lecture Notes in Computer Science (1998a) Lecture Notes in Computer Science (1998b)
Lecture Notes in Computer Science (1999a) Lecture Notes in Computer Science (1999b)
Lecture Notes in Computer Science (2000) Lecture Notes in Computer Science (2001a)
Lecture Notes in Computer Science (2001b) Lecture Notes in Computer Science (2001c)
Lecture Notes in Computer Science (2001d) Lecture Notes in Computer Science (2002a)
Lecture Notes in Computer Science (2002b) Lecture Notes in Computer Science (2002c)
Lecture Notes in Computer Science (2002d) Lecture Notes in Computer Science (2002e)
Lecture Notes in Computer Science (2003a) Lecture Notes in Computer Science (2004a)
Lecture Notes in Computer Science (2005a) Lecture Notes in Computer Science (2006a)
Lecture Notes in Computer Science (2007a) Lecture Notes in Computer Science (2008a)
Lecture Notes in Computer Science (2009a) Lecture Notes in Computer Science (2010a)
Lecture Notes in Computer Science (2011) Lecture Notes in Computer Science (2011a)
Lecture Notes in Computer Science (2012) Lecture Notes in Computer Science (2012a)
Lecture Notes in Computer Science (2012b) Lecture Notes in Computer Science (2012c)
Lecture Notes in Computer Science (2012d) Lecture Notes in Computer Science (2012e)
Lecture Notes in Computer Science (2012f) Lecture Notes in Computer Science (2012g)
Lecture Notes in Computer Science (2012h) Lecture Notes in Computer Science (2012i)
Lecture Notes in Computer Science (2012j) Lecture Notes in Computer Science (2012k)
Lecture Notes in Computer Science (2012l) Lecture Notes in Computer Science (2013a)
Lecture Notes in Computer Science (2014a) Lecture Notes in Computer Science (volumes)
Letters on Programming Languages and Systems Linux Journal
Literate programming Mathematics in Computer Science
Microprocessors Microsoft Systems Journal
Multithreading NATO Advanced Study Institute Proceedings
Network Security Nordic Journal of Computing
O'Reilly books Open Computing magazine
Open Systems Today magazine Operating Systems Review
ORSA Journal on Computing PageRank algorithm (Google)
Parallel and Distributed Computing Practices Parallel Computing
Parallel Processing Letters Pattern matching
Proceedings of the ACM on Measurement and Analysis of Computing Systems Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies
PVM (Parallel Virtual Machine) and MPI (Message Passing Interface) Queue magazine
Regular-expression matching Scalable Computing: Practice and Experience (1)
Scalable Computing: Practice and Experience (2) Science & Education (Springer)
SIGACT News SIGAda Ada Letters
SIGARCH Computer Architecture News SIGCSE Bulletin (1960--1969)
SIGCSE Bulletin (1970--1979) SIGCSE Bulletin (1980--1989)
SIGCSE Bulletin (1990--1999) SIGCSE Bulletin (2000--2009)
SIGCSE Bulletin (2010--2019) SIGGRAPH Computer Graphics (1972--1999)
SIGGRAPH Computer Graphics (2000--2009) SIGGRAPH Computer Graphics (2010--2019)
SIGMETRICS Performance Evaluation Review SIGMOD Record
SIGNUM SIGPLAN Notices (1960--1969)
SIGPLAN Notices (1970--1979) SIGPLAN Notices (1980--1989)
SIGPLAN Notices (1990--1999) SIGPLAN Notices (2000--2009)
SIGPLAN Notices (2010--2019) SIGSAM Bulletin
Software---Practice and Experience Software Engineering Notes (1976--1979)
Software Engineering Notes (1980--1989) Software Engineering Notes (1990--1999)
Software Engineering Notes (2000--2009) Software Engineering Notes (2010--2019)
Software Process: Improvement and Practice SoftwareX
String matching Supercomputer
Supercomputing Supercomputing '1988
Supercomputing '1989 Supercomputing '1990
Supercomputing '1991 Supercomputing '1992
Supercomputing '1993 Supercomputing '1994
Supercomputing '1995 Supercomputing '1996
Supercomputing '1997 Supercomputing '1998
Supercomputing '1999 Supercomputing '2000
Supercomputing '2001 Supercomputing '2002
Supercomputing '2003 Supercomputing '2004
Supercomputing '2005 Supercomputing '2011
Supercomputing '2012 Supercomputing Frontiers and Innovations
Supercomputing Review Symposia on the Theory of Computing (1960--1969)
Symposia on the Theory of Computing (1970--1979) Symposia on the Theory of Computing (1980--1989)
Symposia on the Theory of Computing (1990--1999) Symposia on the Theory of Computing (2000--2009)
Symposia on the Theory of Computing (2010--2019) Symposia on the Theory of Computing (volumes)
SysAdmin Theoretical Computer Science (1975--1979)
Theoretical Computer Science (1980--1984) Theoretical Computer Science (1985--1989)
Theoretical Computer Science (1990--1994) Theoretical Computer Science (1995--1999)
Theoretical Computer Science (2000--2004) Theoretical Computer Science (2005--2009)
Theoretical Computer Science (2010--2014) Theoretical Computer Science (2015--2019)
Unicode Unix/World
Unix/World Open Computing USENIX proceedings (1980--1989)
USENIX proceedings (1990--1999) USENIX proceedings (2000--2009)
USENIX proceedings (2010--2019) Virtual machines
Visual instruction sets X Journal
X Resource
ACM Transactions
Transactions on Accessible Computing Transactions on Algorithms
Transactions on Applied Perception Transactions on Architecture and Code Optimization
Transactions on Asian Language Information Processing Transactions on Asian and Low-Resource Language Information Processing
Transactions on Asian Language Information Processing Transactions on Autonomous and Adaptive Systems
Transactions on Computation Theory Transactions on Computational Biology and Bioinformatics
Transactions on Computational Logic Transactions on Computer Systems
Transactions on Computer-Human Interaction Transactions on Computing Education
Transactions on Cyber-Physical Systems Transactions on Database Systems
Transactions on Design Automation of Electronic Systems Transactions on Economics and Computation
Transactions on Embedded Computing Systems Transactions on Graphics
Transactions on Information and System Security Transactions on Information Systems
Transactions on Intelligent Systems and Technology Transactions on Interactive Intelligent Systems
Transactions on Internet Technology Transactions on Knowledge Discovery from Data
Transactions on Management Information Systems Transactions on Mathematical Software
Transactions on Modeling and Computer Simulation Transactions on Modeling and Performance Evaluation of Computing Systems
Transactions on Multimedia Computing, Communications and Applications Transactions on Office Information Systems
Transactions on Programming Languages and Systems Transactions on Privacy and Security
Transactions on Reconfigurable Technology and Systems Transactions on Sensor Networks
Transactions on Software Engineering and Methodology Transactions on Spatial Algorithms and Systems
Transactions on Speech and Language Processing Transactions on Storage
Transactions on the Web
Cryptography
Cryptography (1404--1989) Cryptography (1990--1999)
Cryptography (2000--2009) Cryptography (2010--2019)
Cryptography and Communications Cryptologia (history of cryptography)
Designs, Codes, and Cryptography International Journal of Applied Cryptography
International Journal of Information Security Groups Complexity Cryptology
Journal of Cryptographic Engineering Journal of Cryptology
Journal of Discrete Mathematical Sciences and Cryptography Journal of Mathematical Cryptology
Fonts and typography
Electronic Publishing---Origin, Dissemination, and Design Fonts in typography
Serif: The Magazine of Type and Typography TUGboat (TeX User Group journal)
TeX used for books TeX used for journals
TeX with graphics TeXniques
TeXnische Komödie Tree-drawing algorithms
Typesetting Typography
IEEE journals
Computing in Science and Engineering IEEE Annals of the History of Computing
IEEE Computational Science and Engineering IEEE Computer (1972--1979)
IEEE Computer (1980--1989) IEEE Computer (1990--1999)
IEEE Computer (2000--2009) IEEE Computer (2010--2019)
IEEE Computer Architecture Letters IEEE Computer Graphics and Applications
IEEE Concurrency IEEE Distributed Systems Online
IEEE Micro IEEE MultiMedia
IEEE Parallel and Distributed Technology IEEE Security & Privacy
IEEE Software IEEE Standards
IEEE Transactions on Big Data IEEE Transactions on Computers (1968--1969)
IEEE Transactions on Computers (1970--1979) IEEE Transactions on Computers (1980--1989)
IEEE Transactions on Computers (1990--1999) IEEE Transactions on Computers (2000--2009)
IEEE Transactions on Computers (2010--2019) IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Software Engineering (1975--1979) IEEE Transactions on Software Engineering (1980--1989)
IEEE Transactions on Software Engineering (1990--1999) IEEE Transactions on Software Engineering (2000--2009)
IEEE Transactions on Software Engineering (2010--2019) IEEE Transactions on Visualization and Computer Graphics
IEEE/ACM Transactions on Audio, Speech, and Language Processing IEEE/ACM Transactions on Networking

Related bibliographies

The BibNet Project contains bibliographies on selected authors in numerical analysis and quantum theory, and on selected subjects in those areas. If names like Niels Bohr, Albert Einstein, Werner Heisenberg, Robert Oppenheimer, Wolfgang Pauli, Erwin Schrödinger, and Edward Teller are possibly familiar to you, then you may find their bibliographies useful, because they record not only all (or nearly all) the known publications of those authors, but also publications about them and their work.

Quantum theory radically changed the history of the Twentieth Century, so even if you didn't know about those scientists before, you certainly use electronic devices, including computers, GPS systems, the Internet, and mobile telephones, that could not exist without the understanding of quantum theory and Relativity that they were key figures in developing. Nuclear weapons created in the Manhattan Project in the Second World War (1939–1945), and the Cold War that followed it, are also a legacy of quantum theory, but so is nuclear power, which provides 13% of the world's electrical supply, and in some countries, more than half the electricity.

Two other large BibTeX-format bibliography archives of note are the Karlsruhe Collection of Computer Science Bibliographies (3 million entries in early 2013), and the Universität Trier DBLP Computer Science Bibliography (2.1 million entries in early 2013).

The Karlsruhe archive mirrors the Utah archives, possibly with some rearrangement into subject-specific directories.

Archive file types

Each BibTeX bibliography has the standard file extension .bib. It is accompanied by a LaTeX file with extension .ltx that is used to typeset all of the entries in the BibTeX file to demonstrate that they are free of TeX-markup errors, and show how they might appear in a reference list in one particular bibliography style. Those two files are the only ones created by humans. The remaining files for each bibliography are created by software, and are automatically updated as new versions of the bibliography are released on the TUG bibliography archive Web site. Their file extensions are:

In a Web browser, the .bib and .html files should be visually identical, allowing cut-and-paste operations from either, but the HTML file is enriched with hypertext links that in many cases lead to online documents. The BiBTeX file is the critical file, and is needed if you wish to incorporate multiple references from a given bibliography file in your document.

Downloading archive files

You can find top-level indexes of TUG bibliography archive files in one giant index or, if you know, or can guess, the BibTeX filename, in smaller separate index sections with initial-file-letter indexes in a,    b,    c,    d,    e,    f,    g,    h,    i,    j,    k,    l,    m,    n,    o,    p,    q,    r,    s,    t,    u,    v,    w,    x,    y,    z.

Mirroring the archive

If you are willing, and have adequate disk space (about 11GB), we strongly urge you to consider mirroring the project archive from its home site to your site, either for local-use only, or made available to the public at your Web site. Librarians have a good acronym for that practice: LOCKSS (Lots of Copies Keeps Stuff Safe).

If you succeed in creating a stable up-to-date mirror that you believe will be able to exist for a long time, please send e-mail to the maintainer with a request for it to be added to a list of TUG bibliography archive mirrors.

One brute-force way to pull the entire archive to your system is a recursive retrieval with either of two popular Unix utilities:

% ncftpget -R ftp://ftp.math.utah.edu/pub/tex/bib/

% wget --recursive ftp://ftp.math.utah.edu/pub/tex/bib/

A better way is to exploit the fact that the master host FTP server can return entire directory trees in any of several archive formats:

% wget ftp://ftp.math.utah.edu/pub/tex/bib.jar

% curl -o bib.tar.gz ftp://ftp.math.utah.edu/pub/tex/bib.tar.gz

% ncftpget ftp://ftp.math.utah.edu/pub/tex/bib.tar

% wget ftp://ftp.math.utah.edu/pub/tex/bib.tar.bz2

% wget ftp://ftp.math.utah.edu/pub/tex/bib.zip

% wget ftp://ftp.math.utah.edu/pub/tex/bib.zoo

You can use those same URLs in most Web browsers, and then unpack the just-downloaded archive file in a suitable location. The unpacking normally preserves file protections and file timestamps.

The preferred way, however, is to use the rsync utility, which uses a clever algorithm on both sides of the connection to transfer only the changes between files, dramatically reducing transfer times when the two archives have similar contents.

# Find out what collections are available to rsync:
% rsync rsync://ftp.math.utah.edu/
CTAN            all of ftp://ctan.tug.org/ (huge)
bib             TeX User Group bibliography archive (large)
bibnet          BibNet Project bibliography archive
historic       	archive of past TeX distributions and files
texlive         all of ftp://tug.org/texlive/ (huge)
TUHS           	The Unix Heritage Society (TUHS) mirror

# Fetch one of them (the -a option preserves important timestamp
# information, and the -z option turns on compression to reduce
# network traffic; add the -v option for verbose output):
% rsync -a -z rsync://ftp.math.utah.edu/bib .

# See how long a subsequent update might take
% time rsync -a -z rsync://ftp.math.utah.edu/bib .
0.004u 0.013s 0:00.34 2.9%      0+0k 0+0io 0pf+0w

rsync can be used to populate an initial copy of a mirror

The rsync utility should now be standard in most Unix distributions, but if your machine does not have it, you can find it at http://rsync.samba.org/. There is a separate project that wraps the command-line version in a graphical user interface for common Unix, Mac OS X, and Microsoft Windows systems: http://www.opbyte.it/grsync/. Prebuilt versions of grsync are installable from some Unix package distributions. The grsync program remembers your settings, so once you have used it to configure and run a mirror update, you can run it manually from time to time and get updates with a single click.

Once you have a copy of the archive on your system, use a regularly-scheduled cron job to keep your copy up-to-date. We recommend at least weekly updates if your copy is for local use only, and nightly (our time: GMT/UCT - 7 hours) if your copy is a mirror on a public Web site.

There are public mirrors of the TeX User Group bibliography archives at Oak Ridge National Laboratory (Oak Ridge, TN, USA) and at Sandia National Laboratory (Albuquerque, NM, USA).

Searching archive files

There are several ways to search the archive files, apart from Web search engines whose own copies of the data are likely to be several weeks out of date. If you know which bibliography has the entry you want, then just visit the file in your favorite text editor and use its search commands.

The Unix grep command-line utility family is one common approach to search in multiple files:

% grep -B 4 '^ *title *= .*Einstein.*Berlin' *.bib

Its limitation is that it is line based, and search strings must match a single line.

The bibsearch utility provides a much faster way, and it eliminates the line-boundary constraint because each BibTeX entry is treated as a single block of text:

% bibsearch
> title & einstein & berlin & 2003

A more powerful way to search is first to convert the data to SQL (Structured Query Language) with bibtosql, and then to use the bibsql front end, or the sqlite3 program directly, and enter SQL commands for selective searching and display of specified fields, or even entire BibTeX entries:

# create the SQLite3 database (once only)
% bibtosql --create -database sqlite *.bib | sqlite3 tugbib.db

# search the SQLite3 database
% sqlite3 tugbib.db

-- how many BibTeX entries are in the database?

sqlite> select count(*) from bibtab;
926188

-- which entries are about Einstein's years in Berlin?

sqlite> select filename, label from bibtab
        where (title like '%Einstein%Berlin%')
        order by filename, year, label;
bohr-niels.bib|Hendry:1986:BRJ
bohr-niels.bib|Hendry:1986:BRW
...
einstein.bib|Treder:1966:ESE
einstein.bib|Kirsten:1979:AEB
einstein.bib|Nelkowski:1979:ESB
...
einstein.bib|vanDongen:2012:MIM
...

-- get the most recent entry about Einstein in Berlin

sqlite> select entry from bibtab
     where (label = 'vanDongen:2012:MIM');

@Article{vanDongen:2012:MIM,
  author =       "Jeroen van Dongen",
  title =        "Mistaken Identity and Mirror Images: {Albert and Carl
                 Einstein}, {Leiden} and {Berlin}, {Relativity} and
                 Revolution",
...
}

The sqlite3 program is public-domain software. It is extremely portable, and its database files do not depend on the host operating system or the host CPU's memory byte order; once created, those files can be copied and used everywhere. Prebuilt versions are available for common desktop platforms, and even for some mobile telephones!

Because most BibTeX entries in the archives carry a time stamp field that records when the entry was created or modified, you can use that field to find recently-added material:


-- change output format to aligned column

sqlite> .mode columns

-- find the most recent Einstein entries

sqlite> select label, bibtimestamp, substr(title, 1, 40) from bibtab
        where (filename = 'einstein.bib')
          and (bibtimestamp > '2013.01.01 00:00:00 AAA')
        order by bibtimestamp;
Lanouette:1994:AS  2013.01.11 06:50:11 ???  Atomic Spies
Walker:1997:PUD    2013.01.11 09:28:10 MST  Prompt and utter des
Buchwald:2001:HEB  2013.01.11 12:08:33 MST  Histories of the Ele
Walker:2004:TMI    2013.01.11 12:17:42 ???  Three Mile Island: N
Thackray:1977:BRB  2013.01.12 11:56:22 MST  Book Review: booktit
...

The paper at the bibsql Web site gives numerous examples of how the data can be mined in many more ways that are simply infeasible without the added structure of SQL fields.