BibTeX er software til at oprette formaterede bibliografilister. BibTeX bruges sammen med LaTeX og er inkluderet i alle kendte TeX- og LaTeX- distributioner .
BibTeX blev skabt i 1985 af Oren Patashnik og Leslie Lamport . BibTeX giver dig mulighed for at arbejde med kildelister ved at adskille bibliografisk information fra præsentationen. Princippet om at adskille indhold fra dets præsentation bruges både i selve LaTeX og i XHTML , CSS osv.
Når du udarbejder et dokument i LaTeX , giver BibTeX-systemet følgende fordele i forhold til standard LaTeX-miljøet thebibliography:
For at kalde BibTeX er det nok at erstatte miljøet thebibliographymed kommandoerne
\bibliographystyle { stylefile } % bst-fil, der angiver stilen for bibliografien \bibliography { bibfile } % navn på bib-filen, der indeholder den bibliografiske databasefor eksempel,
\bibliographystyle { gost780s } % GOST 7.80 \bibliography { MachLearn } % MachLearn.bibDu kan bruge flere bibliografiske databaser på samme tid (så er deres navne adskilt med kommaer).
Tekster, der bruger BibTeX, skal behandles 4 gange: det første LaTeX-pass (oprettelse af en aux-fil med linkanmodninger), derefter BibTeX (oprettelse af en bbl-fil med bibliografi klar til at blive indsat i LaTeX-filen), og yderligere to LaTeX-pas (indsættelse bibliografi og opdatering af referencenumre).
TeX Live og MiKTeX har et latexmk Perl -script, der foretager alle de nødvendige opkald automatisk. MiKTeX har også texify-værktøjet, som også foretager alle de nødvendige opkald automatisk.
BibTeX bruger bib-filer i et særligt tekstformat til at gemme lister over bibliografiske poster. Hvert indlæg beskriver præcis én publikation - en artikel, en bog, en afhandling osv.
Bib-filer kan bruges til at gemme bibliografiske databaser. Mange bibliografiprogrammer (såsom JabRef ) og online-citationstjenester ( ADS [1] , CiteULike ) kan eksportere bib-citater.
Hver post ser således ud:
@ARTIKEL { tag , forfatter = {Forfatterliste} , title = {Artikeltitel} , år = {år} , tidsskrift = {Journal title} }Her ARTICLE er posttypen ("artikel"), tag er etiket-identifikatoren for indlægget (som giver dig mulighed for at henvise til det i teksten ved hjælp af \cite{tag}), derefter listen over felter med værdier.
Hvert indlæg skal være af en bestemt type, der beskriver publikationstypen. Følgende typer er standard og håndteres af næsten alle BibTeX-stile (navnene er alfabetiske og indeholder lister over felter, se nedenfor for mulige felter ):
article Tidsskriftsartikel.Hver post indeholder en liste over standardfelter (du kan indtaste andre felter, der simpelthen ignoreres af standardprogrammer):
Derudover indeholder hver post et nøglefelt, der bruges til at citere eller krydslinke til denne post. Dette felt skal være unikt (inden for det bruger job) og ikke tomt. Dette felt har intet navn, er ikke en del af andre felter og kommer først i rækkefølge.
BibTeX bruger bst-filer til at beskrive, hvordan bib-poster konverteres til LaTeX -tekst 'e. Hver bst-fil er et program i et simpelt stack-baseret programmeringssprog, der ligner Forth eller PostScript . Der er programmer, der giver dig mulighed for at generere .bst-filer automatisk (for eksempel custom-bib eller Bib-it).
Normalt genererer BibTeX output i TeX- eller LaTeX-format, men der er også stilfiler til generering af HTML -format .
Mange tidsskrifter eller forlag, der accepterer publikationer i LaTeX-format, leverer også bibliografiske stilarter til forfattere. Dette sikrer, at bibliografiens stil også opfylder forlagets krav med minimal indsats.
Fuld sprogunderstøttelse er indbygget i moderne versioner af LaTeX og BibTeX. BibTeX understøtter dog ikke [1] bib-filer kodet i UTF-8 og andre varianter af Unicode , som er den eneste cross-platform metode til at kode tekst på andre sprog end engelsk. Årsagen er, at aktiv udvikling af BibTeX blev afbrudt i 1988, før fremkomsten af Unicode (version 0.99c blev udgivet i 1988, den nuværende version 0.99d, som indeholdt mindre ændringer, er i 2010). [2] Brugeren af ren BibTeX er tvunget til at bruge 8-bit-kodninger af bib-filer (selvom tex-filer kan være i Unicode). På trods af dette viser oplevelsen af at bruge BibTeX i Linux -operativsystemet ( Ubuntu 10.04), at BibTeX fungerer korrekt med russiske tegn i UTF-8- kodning .
BibTeX-erstatninger er CrossTeX og Biber . [3]
CrossTeX er ikke tilgængelig [4] i de store gratis distributioner af Tex Live og MiKTeX , og har endnu ikke [5] fuld Unicode-understøttelse.
Biber er tilgængelig [6] i Tex Live og MiKTeX og har [7] fuld understøttelse af UTF-8 (Unicode version 6.0). Biber kan kun fungere sammen med BibLaTeX. [8] BibLaTeX blev udviklet som en tilføjelse til BibTeX og kan fungere med både BibTeX og Biber; Biber erstatter BibTeX.
I øjeblikket opfordrer CTAN - siden [9] til at bruge BibLaTeX+Biber (eller i det mindste BibLaTeX+BibTeX) i stedet for ren BibTeX.
.bib-filen kan indeholde følgende post, som beskriver matematikbogen:
@Bog { Korn , forfatter = {Korn, G. A. og Korn, T. M.} , titel = {Håndbog i matematik for videnskabsmænd og ingeniører} , forlag = {"Science"} , år = 1974 , adresse = Moskva _ _Hvis dokumentet henviser til denne bog, kan bibliografiske oplysninger formateres på flere måder, afhængigt af den valgte formateringsstandard ( APA , MLA , Chicago , etc.). Hvordan LaTeX formaterer linket afhænger af, hvordan kommandoen påkaldes \cite, og stilen på det valgte LaTeX-dokument. Hvis kommandoen \cite{Korn}kaldes i et dokument, bibtexinkluderer programmet bogen i bibliografien for dokumentet og genererer den passende LaTeX-formateringskode. Det sidste link kan se sådan ud:
Korn G. A., Korn T. M. Håndbog i matematik for videnskabsmænd og ingeniører . - M . : " Nauka ", 1974.Afhængigt af stilfilen kan BibTeX omarrangere forfatternes efternavne og fornavne, ændre titlers store og små bogstaver, udelade nogle felter fra .bib-filen, formatere teksten i kursiv, tilføje tegnsætningstegn osv. Da der bruges én stilfil for hele bibliografien er alle bibliografiske referencer formateret ensartet med minimal indsats fra forfattere og redaktører.
Efternavnspræfikser såsom von, van og der parses automatisk, hvis de starter med et lille bogstav for at skelne dem fra efternavne. Efternavne på flere ord adskilles fra fornavne og patronymer (eller mellemnavne ) ved, at de går først, og derefter, adskilt med kommaer, skrives navne og patronymer. Nominelle suffikser, som Jf. eller ml. eller III behandles normalt med et andet afgrænsningskomma, som i eksemplet:
@Book { hicks2001 , author = "von Hicks, III, Michael" , title = "Design af en kulfiberkompositgitterstruktur til GLAST- rumfartøjet ved hjælp af en ny fremstillingsteknik" , udgiver = "Stanford Press" , år = 2001 , adresse = "Palo Alto" , udgave = "1.," , isbn = "0-69-697269-4" }I stedet for at bruge et komma til at adskille navneordssuffikset fra efternavnet, kan du indsætte hele navnet i krøllede klammer: {Hicks III}.
Forfattere skal adskilles med ordet og , ikke kommaer eller "og":
@Bog { Torre2008 , forfatter = "Joe Torre og Tom Verducci" , udgiver = "Doubleday" , title = "The Yankee Years" , år = 2008 , isbn = "0385527403" }BibTeX giver dig mulighed for at linke til andre publikationer ved hjælp af crossref. I det følgende eksempel refererer afhandlingen til en samling af abstracts.
@INPROCEEDINGS { author:06 , title = {Title of talk} , author = {First Author and Second Author} , crossref = {conference:06} , pages = {330—331} , } @PROCEEDINGS { conference:06 , editor = {First Editor and Second Editor} , title = {Proceedings of the Xth Conference on XYZ} , booktitle = {Proceedings of the Xth Conference on XYZ} , year = {2006} , month = {October} , }Dette bør tilføjes booktitletil samlingsposten for at undgå BibTeX's "tom bogtitel"-advarsel.
LaTeX-outputtet i dette eksempel kan se sådan ud:
Forfatter, første og forfatter, anden (oktober 2006), Papirtitel, i: Proceedings of the Xth Conference on XYZ, s. 330-331.