forked from oscar-system/Oscar.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.bibtoolrsc
More file actions
112 lines (97 loc) · 3.91 KB
/
.bibtoolrsc
File metadata and controls
112 lines (97 loc) · 3.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# This is a config file for bibtool, see
# http://www.gerd-neugebauer.de/software/TeX/BibTool/en/
# To use it, invoke bibtool as follows:
# bibtool -r .bibtoolrsc docs/oscar_references.bib -o docs/oscar_references.bib
sort = on
# sort order for fields
sort.order{* =
bibkey
author
title
editor
booktitle
mrnumber
zbl
journal
fjournal
series
volume
number
note
howpublished
address
organization
publisher
edition
pages
year
month
doi
url
}
print.align.key = 0
print.line.length = 120
preserve.key.case = on
sort.cased = off
print.use.tab = off
delete.field = { abstract }
delete.field = { hal_id }
delete.field = { hal_version }
delete.field = { isbn }
delete.field = { issn }
delete.field = { keywords }
delete.field = { mrclass }
delete.field = { mrreviewer }
delete.field = { msc2010 }
fmt.name.name = { }
fmt.inter.name = { x }
key.format =
{
%s(bibkey)
#
%.1#n(author)
{ %1.3n(author) }
{ %2d(year) }
#
{ %+8.1n(author) }
{ %2d(year) }
}
# Enforce "{...}" around fields
rewrite.rule { "^\"\([^#]*\)\"$" "{\1}" }
rewrite.rule { "^ *\([0-9]*\) *$" "{\1}" }
# Remove empty fields
rewrite.rule { "^{ *}$" }
# Unify page range separator
rewrite.rule { pages "\([0-9]+\) *\(-\|---\|–\) *\([0-9]+\)" "\1--\3" }
# Check that 1800<=year<=2029
check.rule { year "^[\"{]1[89][0-9][0-9][\"}]$" }
check.rule { year "^[\"{]20[0-2][0-9][\"}]$" }
check.error.rule { year "" "\@ \$: Year has to be a suitable number" }
# Check that the doi field is not a URL
check.error.rule { doi "\://" "\@ \$: doi field should not be a URL" }
# Check that the url field is not a DOI
check.error.rule { url "doi\.org/" "\@ \$: url field should not contain a doi. Use the doi field instead" }
# Disallow LaTeX commands outside $...$; allow \& and \url{...} anywhere.
check.error.rule { "^\(\$[^\$]*\$\|[^\$]\)*\\\([^u&]\|u[^r]\|ur[^l]\)" "\@ \$: use Unicode characters instead of LaTeX accent escapes. Enclose LaTex inline math in single $." }
# Disallow braces outside $...$ in most fields (except author, as OEIS and STACKS need exceptions)
check.error.rule { title "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
check.error.rule { booktitle "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
check.error.rule { journal "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
check.error.rule { fjournal "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
check.error.rule { series "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
check.error.rule { publisher "^{\(\$[^\$]*\$\|[^\$]\)*[{}].*}" "\@ \$: don't use braces for case preservation. They are not needed for the julia Bibtex parse." }
# Normalize the month field to e.g. `jan` (without braces), see https://github.com/ge-ne/bibtool/issues/66#issuecomment-577283871
rewrite.case.sensitive = Off
rewrite.rule { month "{\([^#]*\)}" "\1"}
rewrite.rule { month "^ *\(1\|Jan.*\|jan.+\) *$" "jan" }
rewrite.rule { month "^ *\(2\|Feb.*\|feb.+\) *$" "feb" }
rewrite.rule { month "^ *\(3\|Mar.*\|mar.+\) *$" "mar" }
rewrite.rule { month "^ *\(4\|Apr.*\|apr.+\) *$" "apr" }
rewrite.rule { month "^ *\(5\|May.*\|may.+\) *$" "may" }
rewrite.rule { month "^ *\(6\|Jun.*\|jun.+\) *$" "jun" }
rewrite.rule { month "^ *\(7\|Jul.*\|jul.+\) *$" "jul" }
rewrite.rule { month "^ *\(8\|Aug.*\|aug.+\) *$" "aug" }
rewrite.rule { month "^ *\(9\|Sep.*\|sep.+\) *$" "sep" }
rewrite.rule { month "^ *\(10\|Oct.*\|oct.+\) *$" "oct" }
rewrite.rule { month "^ *\(11\|Nov.*\|nov.+\) *$" "nov" }
rewrite.rule { month "^ *\(12\|Dec.*\|dec.+\) *$" "dec" }