# BibTeX

BibTeX é um software de gerenciamento de referências para formatar listas de referências. A ferramenta BibTeX é normalmente usada em conjunto com o sistema de preparação de documentos LaTeX. Dentro do sistema de composição tipográfica, seu nome é estilizado como ${\mathrm {B{\scriptstyle {IB}}\!T\!_{\displaystyle E}\!X} }$. O nome é uma combinação da palavra "bibliografia" e do nome do software de composição tipográfica "TeX".
O objetivo do BibTeX é facilitar a citação de fontes de forma consistente, separando as informações bibliográficas da apresentação dessas informações, de forma semelhante à separação de conteúdo e apresentação/estilo suportada pelo próprio LaTeX.

## Estrutura básica

Nas palavras do autor do programa, Oren Patashnik:
   BibTeX funciona dessa forma: ele recebe como entrada
   * um arquivo .aux produzido pelo LaTeX em uma execução anterior;
   * um arquivo .bst (de estilo), que especifica o estilo geral da lista de referência e especifica como formatar entradas individuais, e que é escrito por um designer de estilo (...) em uma linguagem para fins específicos (...), e
   * um arquivo .bib constituindo um banco de dados de todas as entradas da lista de referência que o usuário pode esperar usar.
   O BibTeX escolhe do arquivo .bib apenas as entradas especificadas pelo arquivo .aux (ou seja, aquelas fornecidas por comandos \cite ou \nocite do LaTeX) e cria como saída um arquivo .bbl contendo essas entradas junto com os comandos de formatação especificados pelo arquivo .bst (...). O LaTeX usará o arquivo .bbl, talvez editado pelo usuário, para produzir a lista de referências.

## História

O BibTeX foi criado por en:Oren Patashnik e Leslie Lamport em 1985. Está escrito em en:WEB/Pascal.
A versão 0.98f foi lançada em março de 1985.
Com a versão 0.99c (lançada em fevereiro de 1988), um estado estacionário foi alcançado por 22 anos.
Em março de 2010, a versão 0.99d foi lançada para melhorar a impressão de URL. Mais lançamentos foram anunciados.

## Reimplementações

Durante o período após a implementação do BibTeX em 1985, várias reimplementações foram publicadas:

### BibTeXu

    Uma reimplementação do BibTeX (por Yannis Haralambous e seus alunos) que suporta o conjunto de caracteres UTF-8. Taco Hoekwater da equipe LuaTeX criticou-o em 2010 por sua documentação pobre e por gerar erros difíceis de depurar.

### bibtex8

    Uma reimplementação do BibTeX que suporta conjuntos de caracteres de 8 bits.

### CL-BibTeX

    Uma reimplementação completamente compatível do BibTeX em Common Lisp, capaz de usar arquivos BibTeX .bst diretamente ou convertê-los em arquivos Lisp .lbst legíveis por humanos. CL-BibTeX suporta Unicode em implementações Unicode Lisp, usando qualquer conjunto de caracteres que Lisp conheça.

### MLBibTeX

    Uma reimplementação do BibTeX com foco em recursos multilíngues, por Jean-Michel Hufflen.

### BibLaTeX

    Uma reimplementação completa. "Ele redesenha a maneira como o LaTeX interage com o BibTeX em um nível bastante fundamental. Com o BibLaTeX, o BibTeX é usado apenas para classificar a bibliografia e gerar rótulos. Em vez de ser implementado nos arquivos de estilo do BibTeX, a formatação da bibliografia é totalmente controlada por macros TeX." Ele usa o programa de processamento de bibliografia en:Biber (LaTeX) e oferece suporte completo a Unicode e temas.

### Bibulous

    Uma substituição de BibTeX drop-in com base em modelos de estilo, incluindo suporte completo a Unicode, escrito em Python.

## Arquivo de informação bibliográfica

O BibTeX usa um formato de arquivo baseado em texto independente de estilo para listas de itens bibliográficos, como artigos, livros e teses. Os nomes dos arquivos de bibliografia BibTeX geralmente terminam em .bib. Um arquivo de banco de dados BibTeX é formado por uma lista de entradas, com cada entrada correspondendo a um item bibliográfico. Os tipos de entrada correspondem a vários tipos de fontes bibliográficas, como artigo (article), livro (book) ou conferência (conference).
Uma entrada de exemplo que descreve um manual de matemática seria estruturada como um nome de entrada seguido por uma lista de campos, como author e title:
Se um documento fizer referência a este manual, as informações bibliográficas podem ser formatadas de maneiras diferentes, dependendo de qual estilo de citação (estilo APA, en:The MLA style manual, en:the Chicago Manual of Style etc.) é empregado. A maneira como o LaTeX lida com isso é especificando comandos \cite e o estilo bibliográfico desejado no documento LaTeX. Se o comando \cite{abramowitz+stegun} aparecer dentro de um documento LaTeX, o programa bibtex incluirá este livro na lista de referências para o documento e gerará o código de formatação LaTeX apropriado. Ao visualizar o documento LaTeX formatado, o resultado pode ser semelhante a este:
    Abramowitz, Milton and Irene A. Stegun (1964), Handbook of mathematical functions with formulas, graphs, and mathematical tables. New York: Dover.
Dependendo do arquivo de estilo, o BibTeX pode reorganizar os sobrenomes dos autores, alterar maiúsculas e minúsculas dos títulos, omitir campos presentes no arquivo .bib, formatar texto em itálico, adicionar pontuação, etc. Uma vez que o mesmo arquivo de estilo é usado para uma lista inteira de referências, todas elas são formatadas de forma consistente com o mínimo de esforço exigido dos autores ou editores.
Os tipos de entradas e campos usados em praticamente todos os estilos BibTeX estão listados abaixo.

### Tipos de entradas na bibliografia

Um banco de dados BibTeX pode conter os seguintes tipos de entradas:

#### article

    Um artigo de um periódico ou revista
    Campos obrigatórios: author, title, journal, year
    Campos opcionais: volume, number, pages, month, note, key

#### book

    Um livro com editora explícita
    Campos obrigatórios: author/editor, title, publisher, year
    Campos opcionais: volume/number, series, address, edition, month, note, key

#### booklet

    Um trabalho que foi impresso e encadernado, mas que não é distribuído sob o nome de alguma editora ou instituição
    Campos obrigatórios: title
    Campos opcionais: author, howpublished, address, month, year, note, key

#### conference

    O mesmo que inproceedings, incluído por compatibilidade com a linguagem de marcação en:Scribe.

#### inbook

    Uma parte de um livro, geralmente sem título. Pode ser um capítulo (ou seção, etc.) e/ou um intervalo de páginas
    Campos obrigatórios: author/editor, title, chapter/pages, publisher, year
    Campos opcionais: volume/number, series, type, address, edition, month, note, key

#### incollection

    Uma parte de um livro que possui título próprio
    Campos obrigatórios: author, title, booktitle, publisher, year
    Campos opcionais: editor, volume/number, series, type, chapter, pages, address, edition, month, note, key

#### inproceedings

    Um artigo nos anais de uma conferência
    Campos obrigatórios: author, title, booktitle, year
    Campos opcionais: editor, volume/number, series, pages, address, month, organization, publisher, note, key

#### manual

    Documentação técnica
    Campos obrigatórios: title
    Campos opcionais: author, organization, address, edition, month, year, note, key

#### mastersthesis

    Uma dissertação de mestrado
    Campos obrigatórios: author, title, school, year
    Campos opcionais: type, address, month, note, key

#### misc

    Usado quando nada mais se adequar à referência
    Campos obrigatórios: none
    Campos opcionais: author, title, howpublished, month, year, note, key

#### phdthesis

    Uma tese de doutorado
    Campos obrigatórios: author, title, school, year
    Campos opcionais: type, address, month, note, key

#### proceedings

    Anais de uma conferência
    Campos obrigatórios: title, year
    Campos opcionais: editor, volume/number, series, address, month, publisher, organization, note, key

#### techreport

    Um relatório publicado por uma escola ou outra instituição, geralmente numerado em série
    Campos obrigatórios: author, title, institution, year
    Campos opcionais: type, number, address, month, note, key

#### unpublished

    Um documento que possui um autor e um título, mas que não foi formalmente publicado
    Campos obrigatórios: author, title, note
    Campos opcionais: month, year, key

### Tipos de campos

Uma entrada BibTeX pode conter vários tipos de campos. Os seguintes tipos são reconhecidos pelos estilos de bibliografia padrão; alguns estilos de terceiros podem aceitar estilos adicionais:

#### address

    Endereço da editora (geralmente apenas a cidade, mas pode ser o endereço completo para editoras menos conhecidas)

#### annote

    Uma anotação para estilos de bibliografia anotada (atípico)

#### author

    Nome(s) do(s) autor(es) (no caso de mais de um autor, separados por and)

#### booktitle

    O título do livro, se apenas parte dele estiver sendo citado

#### Email

    E-mail do(s) autor(es)

#### chapter

    O número do capítulo

#### crossref

    A chave da entrada da referência cruzada

#### doi

    Identificador de Objeto Digital

#### edition

    A edição de um livro, formato longo (como "Primeiro" ou "Segundo")

#### editor

    O(s) nome(s) do(s) editor(es)

#### howpublished

    Como foi publicado, se o método de publicação não for padrão

#### institution

    A instituição que esteve envolvida na publicação, mas não necessariamente a editora

#### journal

    Jornal ou revista em que o trabalho foi publicado

#### key

    Um campo oculto usado para especificar ou substituir a ordem alfabética das entradas (quando os campos "autor" e "editor" estão ausentes). Observe que isso é muito diferente da chave (mencionada logo após esta lista) que é usada para citar ou fazer referência cruzada à entrada.

#### month

    O mês da publicação (ou, se não publicado, o mês da criação)

#### note

    Informações extras diversas

#### number

    O "número (da edição)" de um periódico, revista ou relatório técnico, se aplicável. Observe que este não é o "número do artigo" atribuído por alguns periódicos.

#### organization

    O patrocinador da conferência

#### pages

    Números de página, separados por vírgulas ou hífens duplos.

#### publisher

    Nome da editora

#### school

    A escola onde a tese foi escrita

#### series

    A série de livros em que o livro foi publicado (por exemplo, "The Hardy Boys" ou "en:Lecture Notes in Computer Science")

#### title

    O título da obra

#### type

    O campo que substitui o tipo de publicação padrão (por exemplo, "Research Note" para techreport, "{PhD} dissertação" para phdthesis, "Section" para inbook/incollection)

#### volume

    O volume de um jornal ou livro de vários volumes

#### year

    O ano de publicação (ou, se não publicado, o ano de criação)
Além disso, cada entrada contém uma chave (Bibtexkey) que é usada para citar ou fazer referência cruzada à entrada. Esta chave é o primeiro item em uma entrada BibTeX e não faz parte de nenhum campo.

## Arquivos de estilo

O BibTeX formata itens bibliográficos de acordo com um arquivo de estilo, geralmente gerando comandos de formatação TeX ou LaTeX. No entanto, também existem arquivos de estilo para gerar a saída HTML. Arquivos de estilo BibTeX, para os quais o sufixo .bst é comum, são escritos em uma linguagem de programação simples baseada em pilha (apelidada de "BibTeX Anonymous Forth-Like Language" ou "BAFLL", por Drew McDermott ) que descreve como os itens bibliográficos devem ser formatados. Existem alguns pacotes que podem gerar arquivos .bst automaticamente (como custom-bib ou Bib-it).
A maioria dos periódicos ou editores que suportam LaTeX tem um arquivo de estilo bibliográfico personalizado para conveniência dos autores. Isso garante que o estilo bibliográfico atenda às diretrizes do editor com o mínimo de esforço.

## Usos

* Astrophysics Data System – O NASA ADS é um banco de dados online com mais de oito milhões de artigos de astronomia e física e fornece citações no formato BibTeX.
* en:BibDesk – Aplicativo de software de código aberto para MacOS para criar, editar, gerenciar e pesquisar arquivos BibTeX.
* en:BibSonomy – Um marcador social e sistema de gerenciamento de publicação baseado em BibTeX.
* Citavi – Gerenciador de referências. Funciona com vários editores TeX e suporta entrada e saída BibTeX.
* CiteSeerX – Um banco de dados online de publicações de pesquisa que pode produzir citações no formato BibTeX.
* en:CiteULike (descontinuado) – Um banco de dados bibliográfico baseado na comunidade que tinha entrada e saída BibTeX.
* en:The Collection of Computer Science Bibliographies – usa o BibTeX como formato interno de dados, resultados de pesquisa e contribuições principalmente no BibTeX.
* en:Connotea – Sistema de gerenciamento de publicação de estilo de marcador social de código aberto.
* Digital Bibliography & Library Project – Um site de bibliografia que lista mais de 910.000 artigos na área de ciência da computação.
* Google Livros – As informações bibliográficas de cada livro podem ser exportadas no formato BibTeX por meio do recurso 'Export Citation'.
* Google Scholar – O sistema do Google para pesquisar literatura acadêmica fornece citações no formato BibTeX se a opção estiver habilitada em 'Preferências do acadêmico'.
* Google AI – Instalada na divisão inteligência artificial do Google, é uma compilação de publicações da equipe do Google com links de citação BibTeX.
* en:HubMed – Uma interface PubMed versátil, incluindo saída BibTeX.
* en:INSPIRE-HEP – O banco de dados de literatura INSPIRE High-Energy Physics fornece citações no formato BibTeX para mais de um milhão de artigos sobre física de alta energia.
* JabRef – Aplicativo de software multiplataforma de código aberto para criar, editar, gerenciar e pesquisar arquivos BibTeX e BibLaTeX.
* MathSciNet – Banco de dados da American Mathematical Society (assinatura), escolha BibTeX na caixa "Selecionar formato alternativo"
* en:Mendeley – Gerenciador de referências, para coleta de artigos. Ele suporta a exportação de coleções para arquivos bib e os mantém sincronizados com seu próprio banco de dados.
* en:Paperpile – Gerenciador de referências, suporta entrada e saída BibTeX. A saída BibTeX pode ser personalizada.
* Pandoc – Conversor de documentos de código aberto que pode ler um arquivo BibTeX e produzir citações formatadas em qualquer estilo bibliográfico especificado em um arquivo en:citation style language (CSL).
* en:Qiqqa – Aplicativo de software para Windows que inclui um editor e validador BibTeX completo, juntamente com ferramentas para preencher automaticamente os registros BibTeX para PDFs.
* en:refbase – Gerenciador de referências de código aberto para repositórios institucionais e autoarquivamento com entrada e saída BibTeX.
* Gerenciador de referências baseado em en:RefTeX – Emacs.
* en:Wikindx – Gerenciador de bibliografia aprimorado / en:virtual research environment (ambiente de pesquisa virtual) de código aberto, incluindo entrada e saída BibTeX.
* Wikipédia – Pressionar citar esta página ao lado de um artigo fornece uma citação no formato BibTeX.
* Zentralblatt MATH – Base de dados da European Mathematical Society, FIZ Karlsruhe e Heidelberg Academy (assinatura, 3 entradas gratuitas); escolha o botão ou formato BibTeX.
* Zotero – Gerenciador de referência de código aberto com recursos avançados, como sincronização entre diferentes computadores, bookmarking social, pesquisa dentro de PDFs salvos e saída BibTeX.