Už se na to před časem trochu narazilo - není úplně legrace mít správně zformátovanou bibliografii. Nabízím následující postup, jak automaticky (no, skoro) generovat bibliografii dle normy. Možná to tak nevypadá, ale je to určité zjednodušení práce. Upozornění - jedná se o anglickou verzi (tj. p. místo s. pro čísla stránek atd.). Kdybyste moc toužili po české verzi, lze to zkusit i nějak trochu přeložit, resp. použít překladový soubor odjinud. A pak to používám v harvardském stylu citací - ale asi by to šlo použít i v "klasickém" číslování v hranatých závorkách.
K provedení algoritmu je potřeba Matlab (ano, je to úchylárna to používat na tohle, uznávám ... ale aspoň je ve škole přístupný, pokud ho nemáte doma, jde se vzdáleně připojit a použít ho tam, případně kdo není jen mozek v láhvi může do školy i reálně dojít).
Algoritmus:
1) Stáhněte si archiv: http://uloz.to/x22tyxP/bib-zip. Obsahuje dva matlabí skripty (použijí se časem) a jeden soubor stylů (ten zkopírujte do složky se zdrojáky texu, příp. TexnicCentre projektu). Ten soubor stylů je fakt super, doporučuju přečíst - jakou zavrženou duši napadlo nutit programátora k psaní v suffixové notaci, to by mě fakt zajímalo.
2) V kódu diplomky: K balíčkům přidejte
\usepackage{natbib}
- to umožní harvardskou notaci. Za \begin{document} dodejte
\renewcommand{\cite}{\citep}
- tím se dokončí přechod k temné stra... k harvardské notaci. A pak někam (kde chcete vysadit bibliografii) dejte:
\bibliographystyle{mffstyle}
\bibliography{exportlist}
- první řádek říká, že se má pro formátování použít mffstyle.bst, druhý, že má bibliografii nacucnout ze souboru exportlist.bib.
3) Jde se na citace. Použijeme aplikaci EndNote Web: http://www.myendnoteweb.com. Dobrá zpráva je, že umí v databázích vyhledávat publikace, ukládat je do složek (což se hodí, protože když pak děláte na jiném projektu, než je diplomka, tak si triválně překopírujete citace a jedete...) a pak vyexportovat pro bibtex. No, špatná zpráva je, že při tom vyhledávání to zkrátí křestní autora na první písmeno a tečku, což odporuje krásné a chytré normě ISO 690. Takže jinak (ale přesto s EndNote Web!). Vlezeme do Google scholar - vložíme název citovaného článku, ono ho to najde (snad ), načež klikneme na Citovat pod nalezeným článkem - a tam Import do programu EndNote. Mělo by to stáhnout soubor scholar.enw.
4) Takhle si postahujeme soubory pro všechny relevantní články, čímž získáme scholar.enw, scholar (1).enw, scholar (2).enw... Teď je dáme do složky se skriptem spojovac (musí to být jediné enw soubory v té složce) - a spojovač pustíme. Vyplivne to merged.enw (soubor obsahující všechny ty citace - to nám dovolí hromadný import do EndNote).
5) Vlezeme do EndNote Web a v Collect/Import references si reference naimportujeme do zamýšlené složky. Kouzlo - najednou jsou autoři uvedeni s nezkráceným křestním jménem. Sláva. Ručně doplníme zbytek citací (z cizích diplomek apod., které nejsou ve Scholaru).
6) Tak, když jsme si tak pěkně citace naimportovali...tak je zase vyexportujeme (Format/Export references) - a pro bibtex. Už je skoro vyhráno - ale jednak podle normy má být číslo svazku tučně, druhak by bylo hezké mít automaticky vygenerovaná jména článků/zdrojů, abychom mohli přímo citovat a nemuseli u každé položky bibtexu dopisovat název návěští. A o to se postará druhý matlabí skript - buřtíkovač (aby to udělal tučné).
7) Vezmeme soubor exportlist.txt, který vypadnul z exportu z EndNote a hodíme ho do složky k buřtíkovači (nebo naopak) - a pustíme buřtíkovač. Ten tedy jednak vytuční "volume" (je-li definován), druhak každé položce přiřadí název, pomocí kterého se cituje - je to vždy za @article{Název návěští, (místo article může být i něco jiného, samozřejmě, to nevadí). Název návěští se skládá z příjmení prvního autora a roku. Tj. pokud Ferdinand Vomacka v 2016 napsal článek "On nature of time travel", tak se to z textu cituje jako \cite{Vomacka2016}.
Po spuštění buřtíkovače nám vypadne exportlist.bib, který dáme k zdrojákům; a to už je skoro ten svatý grál. Než se z něj napijeme, může být potřeba ještě něco doladit. Na co jsem narazil:
a) ten exportlist.bib musí být v nějakém 8bitovém kódování, prý. Já použil Ansi, běhá to s tím. Konvertoval jsem to sofistikovaně - prostě jsem otevřel ten soubor v Notepadu2, dal Encoding, ANSI, potvrdil, že vím, že se může zhroutit vesmír a bylo to.
b) Může se stát, že jeden autor (případně víc autorů stejného jména) napsal víc článků v roce a tedy návěští nefunguje, protože se vyskytne vícekrát stejné. Tak pak můžeme buď strávit hodinu tím, že budeme psát automatický skript, který to upraví... a nebo za deset vteřin za ty roky publikace napíšeme a,b,c,...
Tak snad se bude líbit, případné problémy sem házejte (ideálně i s kódy, abych to kdyžtak mohl zreplikovat), navrhujte vylepšení atd. Případně, pokud jsem přes úžasnou přehlednost a logičnost ISO 690 přehlédl nějaké pravidlo a citace to plive blbě, tak taky dejte vědět, zkusím s tím něco udělat.
BibTex styl a automatizace porodu bibliografie
Vše o státnicích úspěšně završujících roky studia na naší alma mater.
-
- Matfyz(ák|ačka) level I
- Příspěvky: 20
- Registrován: 26. 1. 2010 14:28
- Typ studia: Informatika Mgr.
- Bydliště: Praha
Re: BibTex styl a automatizace porodu bibliografie
Díky moc. Ještě pro jistotu nahrávám příslušný archiv přímo sem, kdyby to bylo časem ze serveru uloz.to třeba smazáno...
- bib.zip
- Tři užitečné soubory pro citace s balíčkem natbib v angličtině dle normy ISO 690.
- (6.84 KiB) Staženo 262 x
Přejít na
- Aktuální informace
- ↳ Studijní oddělení
- ↳ Knihovna
- ↳ Studentská komora Akademického senátu (SKAS)
- ↳ Volby na ak. rok 2013/2014
- Všichni
- ↳ Práce
- ↳ Klubovna
- ↳ Toto fórum
- ↳ Státní závěrečná zkouška
- ↳ Bakalářské SZZ
- ↳ Magisterské SZZ
- ↳ Info for foreign students
- ↳ Akce
- ↳ Fotbalový turnaj 2008
- Informatika ZS
- ↳ Výuka ZS 1. ročník
- ↳ DMI002 Diskrétní matematika
- ↳ 2007
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ MAI054 Matematická analýza I
- ↳ 2007
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ MAI057 Lineární algebra I
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ PRG030 Programování I
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ SWI120 Principy počítačů a operačních systémů
- ↳ SWI087 Principy počítačů
- ↳ Ostatní
- ↳ DMI051 Úvod do řešení problémů kombinatorických, mat. i jiných (IPS) II
- ↳ Výuka ZS 2. ročník
- ↳ MAI056 Matematická analýza III
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ OFY016 Fyzika pro nefyziky I - Svět kolem nás
- ↳ SWI089 Ochrana informace I
- ↳ SWI096 Internet
- ↳ TIN061 Algoritmy a datové struktury II
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ Ostatní
- ↳ Aplikační software
- ↳ NPRG035 Jazyk C# a platforma .NET
- ↳ NPRG041 Programování v C++
- ↳ AIL062 Výroková a predikátová logika
- ↳ 2007
- ↳ 2006
- ↳ 2005
- ↳ PGR013 Java
- ↳ MAI059 Pravděpodobnost a statistika
- ↳ Výuka ZS 3. ročník
- ↳ SWI099 Administrace Systemu Windows
- ↳ SWI015 Programování v Unixu
- ↳ SWI098 Principy překladačů
- ↳ 2006
- ↳ Ostatní
- ↳ DBI007 Organizace a zpracování dat I
- ↳ 2006
- ↳ MAI062 Algebra I
- ↳ PGR003 Počítačová grafika I
- ↳ SWI090 Počítačové sítě I
- ↳ Výuka ZS NMgr.
- ↳ TIN066 Datové struktury I
- ↳ TIN062 Složitost I
- ↳ TIN064 Vyčíslitelnost I
- ↳ MAI060 Pravděpodobnostní metody
- ↳ SWI004 Operační systémy
- ↳ SWI106 Administrace Unixu
- ↳ Ostatní
- ↳ NTIN090 Základy složitosti a vyčíslitelnosti
- ↳ OPT042 Programování s omezujícími podmínkami
- ↳ AIL002 Neuronové sítě
- ↳ AIL025 Evoluční algoritmy I
- ↳ AIL069 Umělá inteligence I
- ↳ NDBI001 Dotazovací jazyky I
- ↳ TIN070 Testování software
- ↳ NDBI027 Datové sklady a analytické metody pro Business Intelligence
- ↳ NDBI034 Vyhledávání multimediálního obsahu na webu
- ↳ NPRG023 Softwarový projekt
- Informatika LS
- ↳ Výuka LS 1. ročník
- ↳ MAI055 Matematická analýza II
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ MAI058 Lineární algebra II
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ PRG031 Programování II
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ TIN060 Algoritmy a datové struktury I
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ SWI095 Úvod do UNIXu
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ Ostatní
- ↳ Výuka LS 2. ročník
- ↳ SWI071 Ochrana informace II
- ↳ TIN071 Automaty a gramatiky
- ↳ PRG033 Ročníkový projekt - specifikace
- ↳ DMI011 Kombinatorika a grafy I
- ↳ DBI025 Databázové systémy
- ↳ Ostatní
- ↳ SWI036 Programování pro Windows I & II
- ↳ SWI096 Internet
- ↳ PRG005 Neprocedurální programování
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ NSWI143 Architektura počítačů
- ↳ Výuka LS 3. ročník
- ↳ Ostatní
- ↳ PGR004 Počítačová grafika II
- ↳ PRG036 Technologie XML
- ↳ SZZ026 Bakalářská práce
- ↳ PRG003 Metodika programování a filozofie programovacích jazyků
- ↳ MAI064 Matematické struktury
- ↳ MAI042 Numerická matematika
- ↳ SWI021 Počítačové sítě II
- ↳ SWI045 Rodina protokolů TCP/IP
- ↳ NPRG038 Pokročilé programování pro .NET
- ↳ Výuka LS NMgr.
- ↳ SWI109 Konstrukce překladačů
- ↳ NPRG042 Programování v paralelním prostředí
- ↳ SWI117 Technologie vývoje webových aplikací
- ↳ SWI026 Softwarové inženýrství
- ↳ MAI061 Metody matematické statistiky
- ↳ I1 Ostatní Teoretická informatika
- ↳ I2 Ostatní Softwarové systémy
- ↳ I3 Ostatní Matematická lingvistika
- ↳ I4 Ostatní Diskrétní modely a algoritmy
- ↳ AIL026 Evoluční algoritmy II
- ↳ AIL070 Umělá inteligence II
- ↳ NDBI010 Dokumentografické informační systémy
- ↳ NDBI023 Dobývání znalostí
- ↳ NDBI016 Transakce
- ↳ NDBI006 Dotazovací jazyky II
- ↳ NAIL029 Strojové učení
- Matematika
- ↳ Výuka LS 1. ročník
- ↳ Lineární algebra 2
- ↳ Programování 2
- ↳ Matematická analýza 1b
- ↳ Volitelné předměty
- ↳ Výuka LS 2. ročník
- ↳ Pravděpodobnost a statistika
- ↳ Teorie Míry a integrálu II
- ↳ Algebra II
- ↳ Matematická analýza 2b
- ↳ Ostatní
- ↳ Výuka LS 3. ročník
- ↳ Předměty numeriky
- ↳ Úvod do funcionální analýzy
- ↳ Funkcionální analýza I
- ↳ Vybrané partie z funkcionální analýzy
- ↳ Náhodné procesy 2
- ↳ Matematická statistika 2
- ↳ Teorie pravděpodobnosti 2
- ↳ Matematická ekonomie
- ↳ Ostatní
- ↳ LS - Předměty MMIB a pokročilé Algebry
- ↳ Všeobecná diskuse
- ↳ Počítačová algebra
- ↳ Teorie čísel a RSA
- ↳ Aplikovaná kryptografie II
- ↳ Standardy v kryptografii
- ↳ Kryptoanalytické útoky
- ↳ Aplikace bezpečnostních mechanismů
- ↳ Kvantové a DNA počítače
- ↳ Faktorizace velkých čísel
- ↳ Algebraická geometrie v kladné charakteristice
- ↳ Výuka ZS 1. ročník
- ↳ MAA001 Matematická analýza 1a
- ↳ PRM044 Programování I
- ↳ MAA079 Proseminář z kalkulu 1a
- ↳ DMA005 Diskrétní matematika
- ↳ ALG001 Lineární algebra a geometrie I
- ↳ Ostatní
- ↳ Volitelné předměty
- ↳ Výuka ZS 2. ročník
- ↳ MIB
- ↳ Matematická analýza 2a
- ↳ Teorie míry a integrálu
- ↳ Numerika
- ↳ Algebra
- ↳ Předměty finanční matematiky
- ↳ Ostatní
- ↳ Výuka ZS 3. ročník
- ↳ Matematická statistika
- ↳ Teorie pravděpodobnosti
- ↳ Náhodné procesy
- ↳ Optimalizace
- ↳ Předměty numeriky
- ↳ Předměty finanční matematiky
- ↳ Komplexní analýza
- ↳ Funcionální analýza
- ↳ Ostatní
- ↳ ZS - předměty MMIB a pokročilé Algebry
- ↳ Úvod do algebry
- ↳ Složitost pro kryptografii
- ↳ Samoopravné kódy
- ↳ Teoretická kryptografie
- ↳ Aplikovaná kryptografie I
- ↳ Datové a procesní modely
- ↳ Eliptické křivky
- ↳ Členění kryptografických standardů
- ↳ Kryptografické protokoly
- ↳ Úvod do teorie grup
- ↳ Právní aspekty zabezpečení dat
- ↳ Komutativní okruhy
- Fyzika ZS
- ↳ Výuka ZS 1. ročník
- ↳ OFY067 Fyzika v experimentech I
- ↳ MAF027 Lineární algebra I
- ↳ OFY021 Fyzika I (mechanika a molekulová fyzika)
- ↳ OFY056 Programování pro fyziky
- ↳ MAF033 Matematická analýza I
- Oborový mix aktuální
- ↳ Anglický jazyk
- ↳ Tělesná výchova
- ↳ Granty GAUK
- Odkazy
- ↳ Wiki
- ↳ SKAS
- ↳ Spolek Matfyzák
- Matematika Archiv
- ↳ Výuka LS 2006/2007 3. ročník
- ↳ Předměty numeriky
- ↳ Úvod do funcionální analýzy
- ↳ Náhodné procesy 2
- ↳ Matematická statistika 2
- ↳ Teorie pravděpodobnosti 2
- ↳ Matematická ekonomie
- ↳ Výuka LS 2006/2007 2. ročník
- ↳ Pravděpodobnost a statistika
- ↳ Teorie Míry a integrálu II
- ↳ Angličtina
- ↳ Algebra II
- ↳ Matematická analýza 2b
- ↳ Ostatní
- ↳ Výuka LS 2006/2007 1. ročník
- ↳ Volitelné předměty
- ↳ Lineární algebra 2
- ↳ Programování 2
- ↳ Matematická analýza 1b
- Zrušené předměty
- ↳ SWI087 Principy počítačů
- ↳ SWI120 Principy počítačů a operačních systémů
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ PRG029 Programování v C++
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ PRG032 Objektově orientované programování
- ↳ 2006
- ↳ 2005
- ↳ 2004
- ↳ SWI097 Základy operačních systémů
- ↳ NDBI003 Organizace a zpracování dat II
- Roztřídit (resty)
- ↳ Výuka ZS 2005/06 2. ročník
- ↳ Předměty informační bezpečnosti
- ↳ Předměty finanční matematiky
- ↳ Teorie míry a integrálu
- ↳ Numerika
- ↳ Algebra
- ↳ Analýza/kalkulus
- ↳ Matematika obecně
- ↳ Výuka LS 2005/06 2.ročník
- ↳ Základy matematického modelování
- ↳ Finanční management
- ↳ Úvod do optimalizace
- ↳ Numerika
- ↳ Kalkulus
- ↳ Angličtina
- ↳ Diferenciální geometrie
- ↳ Pravděpodobnost a statistika
- ↳ Teorie míry a integrálu II
- ↳ Algebra II
- ↳ Analýza 2b