bibliographies with recfiles
This commit is contained in:
parent
fc88ab6200
commit
aa32bfc249
@ -45,6 +45,7 @@ recset -f "$new_field" --delete $database
|
||||
- [Extended example](recfiles/extended.md)
|
||||
- [Playing with board games data](recfiles/Board_Games.md)
|
||||
- [Playing with IP addresses](recfiles/IP_ASN.md)
|
||||
- [Manage LaTeX Bibliographies](recfiles/bibliography.md)
|
||||
- [Fixes](recfiles/recfixes.md)
|
||||
|
||||
# Resources
|
||||
|
121
data/recfiles/bibliography.md
Normal file
121
data/recfiles/bibliography.md
Normal file
@ -0,0 +1,121 @@
|
||||
---
|
||||
title: "Recfile Bibliography for TeX"
|
||||
tags: [ "data", "database", "recfiles", "tex" ]
|
||||
requires: [ "Recfiles", "TeX", "Makefile" ]
|
||||
---
|
||||
|
||||
Store your bibliography in a `recfile` database, then extract any part with `make`.
|
||||
|
||||
For example, you could store books like this in `bibliography.rec`:
|
||||
|
||||
```recfile
|
||||
%rec: book
|
||||
%key: slug
|
||||
|
||||
slug: thinkingexperience
|
||||
author: H. H. Price
|
||||
title: Thinking and Experience
|
||||
year: 1953
|
||||
publisher: Harvard University Press, Cambridge
|
||||
|
||||
slug: inventingrightwrong
|
||||
author: John Leslie Mackie
|
||||
title: Inventing Right and Wrong
|
||||
year: 1997
|
||||
publisher: Penguin Books, England
|
||||
|
||||
```
|
||||
|
||||
Run `make book` to extract `book.bib`, ready for LaTeX to use:
|
||||
|
||||
```bib
|
||||
@book{thinkingexperience,
|
||||
author = {H. H. Price},
|
||||
title = {Thinking and Experience},
|
||||
year = {1953},
|
||||
publisher = {Harvard University Press, Cambridge},
|
||||
}
|
||||
|
||||
@book{inventingrightwrong,
|
||||
author = {John Leslie Mackie},
|
||||
title = {Inventing Right and Wrong},
|
||||
year = {1997},
|
||||
publisher = {Penguin Books, England},
|
||||
}
|
||||
```
|
||||
|
||||
The `makefile` syntax is just a few lines (though admittedly employs some garbled shell-crud):
|
||||
|
||||
```make
|
||||
bibs != grep -Po '%rec: \K.*' bibliography.rec
|
||||
bibfiles = $(patsubst %, %.bib, $(bibs))
|
||||
|
||||
$(bibfiles): %.bib: bibliography.rec
|
||||
recsel $< -t $(basename $@) |\
|
||||
sed 's/slug: \(.*\)/@$(basename $@){\1,/g' |\
|
||||
sed 's/^\(\b.*\b\): \(.*\)/ \1 = {\2},/gI' |\
|
||||
sed 's/^$$/}\n/g' > $@
|
||||
echo '}' >> $@
|
||||
```
|
||||
|
||||
Here's a longer `bibliography.rec` file, which can also produce `article.bib`:
|
||||
|
||||
```recfile
|
||||
%rec: book
|
||||
%key: slug
|
||||
%type: year int
|
||||
%constraint: year > -2000
|
||||
%sort: year month
|
||||
|
||||
slug: thinkingexperience
|
||||
author: H. H. Price
|
||||
title: Thinking and Experience
|
||||
year: 1953
|
||||
publisher: Harvard University Press, Cambridge
|
||||
|
||||
slug: inventingrightwrong
|
||||
author: John Leslie Mackie
|
||||
title: Inventing Right and Wrong
|
||||
year: 1997
|
||||
publisher: Penguin Books, England
|
||||
|
||||
slug: metaphysicscontemporaryintro
|
||||
author: Michael J. Loux
|
||||
title: Metaphysics: A Contemporary Introduction
|
||||
year: 1998
|
||||
publisher: Routledge, London
|
||||
|
||||
slug: pluralityworlds
|
||||
author: David Lewis
|
||||
title: On the Plurality of Worlds
|
||||
publisher: Blackwell Publishing, Oxford
|
||||
year: 2001
|
||||
|
||||
%rec: article
|
||||
%key: slug
|
||||
%sort: year month
|
||||
|
||||
slug: genuinerealisttheory
|
||||
author: John Divers
|
||||
title: A Genuine Realist Theory of Advanced Modalizing
|
||||
year: 1999
|
||||
pages: 217–240
|
||||
month: april
|
||||
journaltitle: Mind
|
||||
uri: https://academic.oup.com/mind/article-abstract/108/430/217/975258?redirectedFrom=fulltext
|
||||
volume: 108
|
||||
publisher: Harvard University Press, Cambridge
|
||||
|
||||
slug: twokindsmentalrealism
|
||||
author: Tam\'{a}s Demeter
|
||||
title: Two Kinds of Mental Realism
|
||||
year: 2009
|
||||
pages: 40:59-71
|
||||
uri: https://www.researchgate.net/profile/Tamas_Demeter2/publication/41554923_Two_Kinds_of_Mental_Realism/links/0deec53247f5a4ae21000000.pdf
|
||||
month: august
|
||||
journaltitle: Journal for General Philosophy of Science
|
||||
volume: 30
|
||||
publisher: Harvard University Press, Cambridge
|
||||
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user