Commit abf8c33e authored by Alessandra Gorla's avatar Alessandra Gorla
Browse files

added script to make conference proceedings really short. Updated the documentation

parent 6a92baf7
......@@ -5,12 +5,12 @@
BIB_ABBREVIATE ?= ./bib-abbreviate.pl
# TODO: reinstate bibstring-crossrefs-abbrev.bib
all: bibstring-unabbrev.bib bibstring-abbrev.bib bibroot crossrefs-abbrevv.bib docs/index.html
all: bibstring-unabbrev.bib bibstring-abbrev.bib bibroot crossrefs-abbrevv.bib crossrefs-super-abbrev.bib docs/index.html
BIBFILES := $(shell ls *.bib | grep -v bibstring-unabbrev.bib | grep -v bibstring-abbrev.bib)
clean: bibtest-aux-clean
rm -f bibstring-unabbrev.bib bibstring-abbrev.bib bibroot bibtest.tex crossrefs-abbrev.bib crossrefs-abbrevv.bib
rm -f bibstring-unabbrev.bib bibstring-abbrev.bib bibroot bibtest.tex crossrefs-abbrev.bib crossrefs-abbrevv.bib crossrefs-super-abbrev.bib
docs/index.html: README.md
asciidoctor $< --out-file=$@
......@@ -27,17 +27,21 @@ bibstring-abbrev.bib: bibstring-master.bib $(BIB_ABBREVIATE)
crossrefs-abbrev.bib: crossrefs.bib
@rm -f $@
awk '!/address =/' $< > temp
awk '!/month =/' temp > $@
rm temp
<crossrefs.bib sed \
-e '/address =/d' \
-e '/month =/d' >$@
crossrefs-abbrevv.bib: crossrefs-abbrev.bib
@rm -f $@
sed '/title =/s/Proceedings/Proc./g' $< >temp
sed '/booktitle =/s/Proceedings/Proc./g' <temp >temp1
sed 's/International/Intl./g' <temp1 >temp2
sed 's/Conference/Conf./g' < temp2 >$@
rm temp*
<crossrefs-abbrev.bib sed \
-e '/title =/s/Proceedings/Proc./g' \
-e '/booktitle =/s/Proceedings/Proc./g' \
-e 's/International/Intl./g' \
-e 's/Conference/Conf./g' >$@
crossrefs-super-abbrev.bib: crossrefs-abbrev.bib
@rm -f $@
python cref-abbrev.py
## TODO: write a new abbreviaton script, only for [book]titles
# bibstring-crossrefs-abbrev.bib: bibstring-crossrefs-master.bib $(BIB_ABBREVIATE)
......
......@@ -50,9 +50,32 @@ USAGE
To choose the abbreviated (short) or unabbreviated (long) version of the
bibliography strings, use one of these commands in your LaTeX file:
\bibliography{bibstring-abbrev,...,crossrefs-abbrevv}
Most complete option. It will use full strings for journals
(`bibstring-unabbrev`) and full proceedings info for conferences
(`crossrefs`).
\bibliography{bibstring-unabbrev,...,crossrefs}
No month and address option. It will use short strings for journals
(`bibstring-abbrev`) and full proceedings info for conferences, but
omitting months and addresses. (`crossrefs-abbrev`).
\bibliography{bibstring-abbrev,...,crossrefs-abbrev}
\bibliography{bibstring-unabbrev,...,crossrefs}
Abbreviations option. It will use short strings for journals
(`bibstring-abbrev`) and will shorten some words in the proceedings
info for conferences (e.g. Proceedings --> Proc., Conference -->
Conf.) as in `crossrefs-abbrevv`.
\bibliography{bibstring-abbrev,...,crossrefs-abbrevv}
Super-compressed option. It will use short strings for journals
(`bibstring-abbrev`) and will shorten proceedings for conferences
leaving only acronyms. (e.g. ICSE 2017: Proceedings of the
International Conference...--> ICSE 2017), as in
`crossrefs-super-abbrev`.
\bibliography{bibstring-abbrev,...,crossrefs-super-abbrev}
When using the bibliographies, add near the top of your LaTeX document:
......
'''This script was written by Alessandra Gorla to create a super
abbreviated version of the crossref bibliography. Given
crossrefs-abbrev.bib, which already excludes month and address, this
script keeps only the acronyms of the conferences, which are assumed
to be before the ":".
Thus, "ICSE 2017: Proceedings of the International Conference ..."
will be reduced to "ICSE 2017".
If title and booktitle do not include any ":" the script keeps the
strings as they are.
'''
import re
with open('crossrefs-super-abbrev.bib', 'w') as out_file:
with open('crossrefs-abbrev.bib') as cref_file:
for l in cref_file.readlines():
# this is the first line of title or booktitle, and we
# need to remove what comes after the :
if ("title =" in l):
s = re.sub(':.*$', '",', l)
out_file.write(s)
# this is either another field that we should keep
# entirely (e.g. year =) or the first line of the entry @Proceedings
elif ("=" in l or "@" in l):
out_file.write(l)
# this is the last line with only } and possible spaces
elif (re.match(' *} *', l)):
out_file.write(l+"\n")
# if the line does not fall in previous cases it means
# that it is a continuation of title/booktitle that should
# be discarded
......@@ -3416,10 +3416,10 @@
}
@Proceedings{LFP92,
title = "LFP '92: Proceedings 1992 ACM Conf. on Lisp and Functional
Programming",
booktitle = "LFP '92: Proceedings 1992 ACM Conf. on Lisp and Functional
Programming",
title = "LFP '92: Proceedings 1992 ACM Conference on Lisp and
Functional Programming",
booktitle = "LFP '92: Proceedings 1992 ACM Conference on Lisp and
Functional Programming",
year = 1992,
}
......
......@@ -3416,10 +3416,10 @@
}
@Proceedings{LFP92,
title = "LFP '92: Proc. 1992 ACM Conf. on Lisp and Functional
Programming",
booktitle = "LFP '92: Proc. 1992 ACM Conf. on Lisp and Functional
Programming",
title = "LFP '92: Proc. 1992 ACM Conf. on Lisp and
Functional Programming",
booktitle = "LFP '92: Proc. 1992 ACM Conf. on Lisp and
Functional Programming",
year = 1992,
}
......
@Proceedings{ThreeGSE2015,
title = "3GSE",
booktitle = "3GSE",
year = 2015,
}
@Proceedings{AAAI98,
title = "AAAI '98",
booktitle = "AAAI '98",
year = 1998,
}
@Proceedings{AAAI2000,
title = "AAAI/IAAI",
booktitle = "AAAI/IAAI",
year = 2000,
}
@Proceedings{AAAI2006,
title = "AAAI 2006",
booktitle = "AAAI 2006",
year = 2006,
}
@Proceedings{AAAI2011,
title = "AAAI 2011",
booktitle = "AAAI 2011",
year = 2011,
}
@Proceedings{AADEBUG2003,
title = "AADEBUG 2003",
booktitle = "AADEBUG 2003",
year = 2003,
}
@Proceedings{AADEBUG2005,
title = "AADEBUG 2005",
booktitle = "AADEBUG 2005",
year = 2005,
}
@Proceedings{ACSAC2002,
title = "ACSAC 2002",
booktitle = "ACSAC 2002",
year = 2002,
}
@Proceedings{ACSAC2006,
title = "ACSAC 2006",
booktitle = "ACSAC 2006",
year = 2006,
}
@Proceedings{ACSAC2007,
title = "ACSAC 2007",
booktitle = "ACSAC 2007",
year = 2007,
}
@Proceedings{ACSAC2008,
title = "ACSAC 2008",
booktitle = "ACSAC 2008",
year = 2008,
}
@Proceedings{ACSAC2009,
title = "ACSAC 2009",
booktitle = "ACSAC 2009",
year = 2009,
}
@Proceedings{ACSAC2012,
title = "ACSAC 2012",
booktitle = "ACSAC 2012",
year = 2012,
}
@Proceedings{ACSC2005,
title = "ACSC 2005",
booktitle = "ACSC 2005",
year = 2005,
}
@Proceedings{ACSC2009,
title = "ACSC 2009",
booktitle = "ACSC 2009",
year = 2009,
}
@Proceedings{AdaEurope99,
title = "Ada-Europe",
booktitle = "Ada-Europe",
year = 1999,
}
@Proceedings{AdaEurope2004,
title = "Ada-Europe",
booktitle = "Ada-Europe",
year = 2004,
}
@Proceedings{AIFIPP92,
title = "AIFIPP '92",
booktitle = "AIFIPP '92",
year = 1992,
}
@Proceedings{AIPL77,
title = "AIPL '77",
booktitle = "AIPL '77",
year = 1977,
}
@Proceedings{AOSD2002,
title = "AOSD 2002",
booktitle = "AOSD 2002",
year = 2002,
}
@Proceedings{AOSD2007,
title = "AOSD 2007",
booktitle = "AOSD 2007",
year = 2007,
}
@Proceedings{AOSD2010,
title = "AOSD 2010",
booktitle = "AOSD 2010",
year = 2010,
}
@Proceedings{AOSD2011,
title = "AOSD 2011",
booktitle = "AOSD 2011",
year = 2011,
}
@Proceedings{AOSD2012,
title = "AOSD 2012",
booktitle = "AOSD 2012",
year = 2012,
}
@Proceedings{APLAS2005,
title = "APLAS 2005",
booktitle = "APLAS 2005",
year = 2005,
}
@Proceedings{APPSEMII2003,
title = "APPSEM-II",
booktitle = "APPSEM-II",
year = 2003,
}
@Proceedings{APSys2013,
title = "APSys 2013",
booktitle = "APSys 2013",
year = 2013,
}
@Proceedings{APSys2014,
title = "APSys 2014",
booktitle = "APSys 2014",
year = 2014,
}
@Proceedings{ASE98,
title = "ASE '98",
booktitle = "ASE '98",
year = 1998,
}
@Proceedings{ASE2000,
title = "ASE 2000",
booktitle = "ASE 2000",
year = 2000,
}
@Proceedings{ASE2001,
title = "ASE 2001",
booktitle = "ASE 2001",
year = 2001,
}
@Proceedings{ASE2003,
title = "ASE 2003",
booktitle = "ASE 2003",
year = 2003,
}
@Proceedings{ASE2004,
title = "ASE 2004",
booktitle = "ASE 2004",
year = 2004,
}
@Proceedings{ASE2005,
title = "ASE 2005",
booktitle = "ASE 2005",
year = 2005,
}
@Proceedings{ASE2006,
title = "ASE 2006",
booktitle = "ASE 2006",
year = 2006,
}
@Proceedings{ASE2007,
title = "ASE 2007",
booktitle = "ASE 2007",
year = 2007,
}
@Proceedings{ASE2008,
title = "ASE 2008",
booktitle = "ASE 2008",
year = 2008,
}
@Proceedings{ASE2009,
title = "ASE 2009",
booktitle = "ASE 2009",
year = 2009,
}
@Proceedings{ASE2010,
title = "ASE 2010",
booktitle = "ASE 2010",
year = 2010,
}
@Proceedings{ASE2011,
title = "ASE 2011",
booktitle = "ASE 2011",
year = 2011,
}
@Proceedings{ASE2012,
title = "ASE 2012",
booktitle = "ASE 2012",
year = 2012,
}
@Proceedings{ASE2013,
title = "ASE 2013",
booktitle = "ASE 2013",
year = 2013,
}
@Proceedings{ASE2014,
title = "ASE 2014",
booktitle = "ASE 2014",
year = 2014,
}
@Proceedings{ASE2015,
title = "ASE 2015",
booktitle = "ASE 2015",
year = 2015,
}
@Proceedings{ASE2016,
title = "ASE 2016",
booktitle = "ASE 2016",
year = 2016,
}
@Proceedings{ASEE2004,
title = "ASEE 2004",
booktitle = "ASEE 2004",
year = 2004,
}
@Proceedings{ASID2006,
title = "ASID 2006",
booktitle = "ASID 2006",
year = 2006,
}
@Proceedings{ASPLOS89,
title = "ASPLOS '89",
booktitle = "ASPLOS '89",
year = 1989,
}
@Proceedings{ASPLOS91,
title = "ASPLOS '91",
booktitle = "ASPLOS '91",
year = 1991,
}
@Proceedings{ASPLOS92,
title = "ASPLOS '92",
booktitle = "ASPLOS '92",
year = 1992,
}
@Proceedings{ASPLOS94,
title = "ASPLOS '94",
booktitle = "ASPLOS '94",
year = 1992,
}
@Proceedings{ASPLOS96,
title = "ASPLOS '96",
booktitle = "ASPLOS '96",
year = 1996,
}
@Proceedings{ASPLOS98,
title = "ASPLOS '98",
booktitle = "ASPLOS '98",
year = 1998,
}
@Proceedings{ASPLOS2004,
title = "ASPLOS 2004",
booktitle = "ASPLOS 2004",
year = 2004,
}
@Proceedings{ASPLOS2008,
title = "ASPLOS 2008",
booktitle = "ASPLOS 2008",
year = 2008,
}
@Proceedings{ASPLOS2013,
title = "ASPLOS 2013",
booktitle = "ASPLOS 2013",
year = 2013,
}
@Proceedings{ASPLOS2014,
title = "ASPLOS 2014",
booktitle = "ASPLOS 2014",
year = 2014,
}
@Proceedings{AST2006,
title = "AST Workshop",
booktitle = "AST Workshop",
year = 2006,
}
@Proceedings{AST2011,
title = "AST Workshop",
booktitle = "AST Workshop",
year = 2011,
}
@Proceedings{AST2016,
title = "AST Workshop",
booktitle = "AST Workshop",
year = 2016,
}
@Proceedings{ASWEC2001,
title = "ASWEC 2001",
booktitle = "ASWEC 2001",
year = 2001,
}
@Proceedings{ASWEC2009,
title = "ASWEC 2009",
booktitle = "ASWEC 2009",
year = 2009,
}
@Proceedings{AVIS2003,
title = "AVIS 2003",
booktitle = "AVIS 2003",
year = 2003,
}
@Proceedings{BlackHatUSA2012,
title = "Black Hat USA",
booktitle = "Black Hat USA",
year = 2012,
}
@Proceedings{ByteCode2009,
title = "ByteCode 2009",
booktitle = "ByteCode 2009",
year = 2009,
}
@Proceedings{CADE92,
title = "CADE '92",
booktitle = "CADE '92",
year = 1992,
}
@Proceedings{CADE2000,
title = "CADE 2000",
booktitle = "CADE 2000",
year = 2000,
}
@Proceedings{CADE2011,
title = "CADE 2011",
booktitle = "CADE 2011",
year = 2011,
}
@Proceedings{CARDIS2004,
title = "CARDIS 2004",
booktitle = "CARDIS 2004",
year = 2004,
}
@Proceedings{CASCON1999,
title = "CASCON '99",
booktitle = "CASCON '99",
year = 1999,
}
@Proceedings{CASCON2000,
title = "CASCON '00",
booktitle = "CASCON '00",
year = 2000,
}
@Proceedings{CASES2005,
title = "CASES 2005",
booktitle = "CASES 2005",
year = 2005,
}
@Proceedings{CASSIS2004,
title = "CASSIS 2004",
booktitle = "CASSIS 2004",
year = 2004,
}
@Proceedings{CASSIS2005,
title = "CASSIS 2005",
booktitle = "CASSIS 2005",
year = 2005,
}
@Proceedings{CAV95,
title = "CAV '95",
booktitle = "CAV '95",
year = 1995,
}
@Proceedings{CAV96,
title = "CAV '96",
booktitle = "CAV '96",
year = 1996,
}
@Proceedings{CAV2001,
title = "CAV 2001",
booktitle = "CAV 2001",
year = 2001,
}
@Proceedings{CAV2006,
title = "CAV 2006",
booktitle = "CAV 2006",
year = 2006,
}
@Proceedings{CAV2011,
title = "CAV 2011",
booktitle = "CAV 2011",
year = 2011,
}
@Proceedings{CAV2016,
title = "CAV 2016",
booktitle = "CAV 2016",
year = 2016,
}
@Proceedings{CBSE2001,
title = "CBSE4",
booktitle = "CBSE4",
year = 2001,
}