commit ecfe46883b0cc0fa92b39c757e045443ec8da237
parent b633859f2e5ddd72ceee6103fbf9ab1b383eea12
Author: Antoine Amarilli <a3nm@a3nm.net>
Date: Wed, 31 Jan 2024 19:02:41 +0100
support indicating extended versions
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/maketex.py b/maketex.py
@@ -170,7 +170,10 @@ def publitobib(publi, lang, venuesz, authorsz):
s += ' title = {%s},\n' % mklinktex(publi['title'],
publi['url'], sep="\n ")
s += ' year = {%s},\n' % str(getyear(publi))
+ did_note = False
if typ == "draft":
+ assert (not did_note)
+ did_note = True
s += ' note = {Preprint: \\url{%s}},\n' % (absurl(publi['url'], SITEURL, LOCALURL))
elif typ in ["phdthesis", "mscthesis", "habilitationthesis"]:
s += ' school = {%s},\n' % (mklinktex(publi['school'],
@@ -179,9 +182,18 @@ def publitobib(publi, lang, venuesz, authorsz):
s += ' %s = {%s},\n' % (typetoobjtype[typ], venuetotex(fullname if formal_mode else name, url, issue,
True))
if typ in ["demo", "posterpaper", "shortpaper", "spotlight", "habilitationthesis"]:
+ assert (not did_note)
+ did_note = True
s += ' note = {%s},\n' % (stz[typ][lang])
#if 'issue' in publi.keys():
# s += ' number = {%s},\n' % publi['issue']
+ if formal_mode:
+ for related in ['journalversion', 'conferenceversion']:
+ if related in publi.keys():
+ assert (not did_note)
+ did_note = True
+ s += (' note = {%s~\cite{%s}},\n' %
+ (stz[related+"_explain"][lang], publi[related]))
if 'doi' in publi.keys() and publi['doi'].lower() != 'none':
s += ' doi = {%s},\n' % publi['doi']
s += ' keywords = {' + ','.join(sorted(keywords)) + '},\n'
diff --git a/parserec.py b/parserec.py
@@ -19,6 +19,14 @@ stz = {
'en': "conference version",
'fr': "version conférence",
},
+ 'journalversion_explain': {
+ 'en': "Extended journal publication:",
+ 'fr': "Version étendue correspondante :",
+ },
+ 'conferenceversion_explain': {
+ 'en': "Extended version of the conference publication:",
+ 'fr': "Version étendue de la publication conférence :",
+ },
'slides': {
'en': "slides",
'fr': "exposé",