forked from Template-Latex/Template-Informe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compile_natnumurl.py
85 lines (73 loc) · 1.96 KB
/
compile_natnumurl.py
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
# Compila el archivo de estilo propio
import datetime
langs = {
'en': {
'[CHAPTER]': 'ch.~',
'[EDITOR]': ', ed.',
'[EDITORS]': ', eds.',
'[IN_OBJECT_M]': 'In ',
'[IN_OBJECT]': 'in ',
'[IN]': ' in ',
'[LANG_AND]': ' and ',
'[LANG_ET_AL]': 'et~al.',
'[NO._IN]': 'No.~',
'[NO._MID]': 'no.~',
'[OF]': ' of ',
'[PAGE]': 'p.~',
'[PAGES]': 'pp.~',
'[TECH_REP]': 'Tech. Rep.',
'[VISITED_ON]': 'visited on',
'[VOLUME_M]': 'Vol.~',
'[VOLUME]': 'vol.~'
},
'es': {
'[CHAPTER]': 'cap.~',
'[EDITOR]': ', ed.',
'[EDITORS]': ', eds.',
'[IN_OBJECT_M]': 'En ',
'[IN_OBJECT]': 'en ',
'[IN]': ' en ',
'[LANG_AND]': ' y ',
'[LANG_ET_AL]': 'et~al.',
'[NO._IN]': 'No.~',
'[NO._MID]': 'no.~',
'[OF]': ' de ',
'[PAGE]': 'p.~',
'[PAGES]': 'pp.~',
'[TECH_REP]': 'Rep. Tec.',
'[VISITED_ON]': 'visitado el',
'[VOLUME_M]': 'Vol.~',
'[VOLUME]': 'vol.~'
}
}
def format(lang, outputfile, url, description):
f = open('natnum_source.bst', 'r')
data = f.readlines()
# Check version
date = datetime.datetime.now()
for w in range(len(data)):
if 'Versión:' in data[w]:
data[w] = data[w].strip()
data[w] += f' ({date.day}/{date.month}/{date.year})\n'
break
# Transform to text
data = ''.join(data)
# Remove urls
if not url:
data = data.replace(' output.links\n new.block\n', '')
# Replace description
data = data.replace('[NATNUM_DESCRIPTION]', description)
# Replace tokens
for token in langs[lang].keys():
data = data.replace(token, langs[lang][token])
f.close()
# Write
f = open(outputfile, 'w')
for w in data:
f.write(w)
f.close()
# Guarda los formatos
format('es', 'natnumurl.bst', True, 'Archivo de estilos simple numerados + url (doi, arxivId) [es]')
format('es', 'natnum.bst', False, 'Archivo de estilos simple numerados [es]')
format('en', 'natnumurl_en.bst', True, 'Archivo de estilos simple numerados + url (doi, arxivId) [en]')
format('en', 'natnum_en.bst', False, 'Archivo de estilos simple numerados [en]')