Skip to content
Permalink
Browse files

[BibTeX] Use location as event-place for conferences (#1525)

Moreover, in this way we make sure that the order of the fields
`address` and `location` in BibTeX don't matter. We take `location`
either as `event-place` in extra for conferenceArticles (e.g. for
ACM) or as a backup for the `place` field. This solves #1020.

Additionally, delete `institution` from inputField map because it
is already handled as an backupPublisher.
  • Loading branch information...
zuphilip committed Feb 4, 2019
1 parent 5772369 commit 8203550b89c3288e3e0b5171c6d6db2f937ef72a
Showing with 81 additions and 9 deletions.
  1. +13 −5 ACM Digital Library.js
  2. +68 −4 BibTeX.js
@@ -187,7 +187,7 @@ function getArticleType(doc) {
var testCases = [
{
"type": "web",
"url": "http://dl.acm.org/citation.cfm?id=1596682&preflayout=tabs",
"url": "https://dl.acm.org/citation.cfm?id=1596682&preflayout=tabs",
"defer": true,
"items": [
{
@@ -209,6 +209,7 @@ var testCases = [
"DOI": "10.1145/1596655.1596682",
"ISBN": "9781605585987",
"abstractNote": "Repository-based revision control systems such as CVS, RCS, Subversion, and GIT, are extremely useful tools that enable software developers to concurrently modify source code, manage conflicting changes, and commit updates as new revisions. Such systems facilitate collaboration with and concurrent contribution to shared source code by large developer bases. In this work, we investigate a framework for \"performance-aware\" repository and revision control for Java programs. Our system automatically tracks behavioral differences across revisions to provide developers with feedback as to how their change impacts performance of the application. It does so as part of the repository commit process by profiling the performance of the program or component, and performing automatic analyses that identify differences in the dynamic behavior or performance between two code revisions. In this paper, we present our system that is based upon and extends prior work on calling context tree (CCT) profiling and performance differencing. Our framework couples the use of precise CCT information annotated with performance metrics and call-site information, with a simple tree comparison technique and novel heuristics that together target the cause of performance differences between code revisions without knowledge of program semantics. We evaluate the efficacy of the framework using a number of open source Java applications and present a case study in which we use the framework to distinguish two revisions of the popular FindBugs application.",
"extra": "event-place: Calgary, Alberta, Canada",
"itemID": "Mostafa:2009:TPA:1596655.1596682",
"libraryCatalog": "ACM Digital Library",
"pages": "162–171",
@@ -224,9 +225,15 @@ var testCases = [
}
],
"tags": [
"calling context tree",
"performance-aware revision control",
"profiling"
{
"tag": "calling context tree"
},
{
"tag": "performance-aware revision control"
},
{
"tag": "profiling"
}
],
"notes": [],
"seeAlso": []
@@ -328,7 +335,7 @@ var testCases = [
},
{
"type": "web",
"url": "http://dl.acm.org/citation.cfm?id=258948.258973&coll=DL&dl=ACM",
"url": "https://dl.acm.org/citation.cfm?id=258948.258973&coll=DL&dl=ACM",
"defer": true,
"items": [
{
@@ -350,6 +357,7 @@ var testCases = [
"DOI": "10.1145/258948.258973",
"ISBN": "9780897919180",
"abstractNote": "Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations. The key ideas in Fran are its notions of behaviors and events. Behaviors are time-varying, reactive values, while events are sets of arbitrarily complex conditions, carrying possibly rich information. Most traditional values can be treated as behaviors, and when images are thus treated, they become animations. Although these notions are captured as data types rather than a programming language, we provide them with a denotational semantics, including a proper treatment of real time, to guide reasoning and implementation. A method to effectively and efficiently perform event detection using interval analysis is also described, which relies on the partial information structure on the domain of event times. Fran has been implemented in Hugs, yielding surprisingly good performance for an interpreter-based system. Several examples are given, including the ability to describe physical phenomena involving gravity, springs, velocity, acceleration, etc. using ordinary differential equations.",
"extra": "event-place: Amsterdam, The Netherlands",
"itemID": "Elliott:1997:FRA:258948.258973",
"libraryCatalog": "ACM Digital Library",
"pages": "263–273",
@@ -19,7 +19,7 @@
"inRepository": true,
"translatorType": 3,
"browserSupport": "gcsv",
"lastUpdated": "2019-01-31 20:37:00"
"lastUpdated": "2019-02-03 17:45:00"
}

function detectImport() {
@@ -167,10 +167,8 @@ function extraFieldsToString(extra) {
var inputFieldMap = {
booktitle :"publicationTitle",
school:"publisher",
institution:"publisher",
publisher:"publisher",
issue:"issue",
location:"place",
// import also BibLaTeX fields:
journaltitle:"publicationTitle",
shortjournal:"journalAbbreviation",
@@ -351,7 +349,9 @@ function processField(item, field, value, rawValue) {
}
} else if (field == "institution" || field == "organization") {
item.backupPublisher = value;
} else if (field == "number"){ // fix for techreport
} else if (field == "location") {
item.backupLocation = value;
} else if (field == "number") { // fix for techreport
if (item.itemType == "report") {
item.reportNumber = value;
} else if (item.itemType == "book" || item.itemType == "bookSection") {
@@ -895,8 +895,18 @@ function beginRecord(type, closeChar) {
item.itemID = field; // itemID = citekey
}
field = "";

} else if (read == closeChar) {
if (item) {
if (item.backupLocation) {
if (item.itemType=="conferencePaper") {
item._extraFields.push({field: "event-place", value: item.backupLocation});
} else if (!item.place) {
item.place = item.backupLocation;
}
delete item.backupLocation;
}

item.extra = extraFieldsToString(item._extraFields);
delete item._extraFields;

@@ -3642,6 +3652,60 @@ var testCases = [
"seeAlso": []
}
]
},
{
"type": "import",
"input": "@inproceedings{Giannotti:2007:TPM:1281192.1281230,\n author = {Giannotti, Fosca and Nanni, Mirco and Pinelli, Fabio and Pedreschi, Dino},\n title = {Trajectory Pattern Mining},\n booktitle = {Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},\n series = {KDD '07},\n year = {2007},\n isbn = {978-1-59593-609-7},\n location = {San Jose, California, USA},\n pages = {330--339},\n numpages = {10},\n url = {http://doi.acm.org/10.1145/1281192.1281230},\n doi = {10.1145/1281192.1281230},\n acmid = {1281230},\n publisher = {ACM},\n address = {New York, NY, USA},\n keywords = {spatio-temporal data mining, trajectory patterns},\n }",
"items": [
{
"itemType": "conferencePaper",
"title": "Trajectory Pattern Mining",
"creators": [
{
"firstName": "Fosca",
"lastName": "Giannotti",
"creatorType": "author"
},
{
"firstName": "Mirco",
"lastName": "Nanni",
"creatorType": "author"
},
{
"firstName": "Fabio",
"lastName": "Pinelli",
"creatorType": "author"
},
{
"firstName": "Dino",
"lastName": "Pedreschi",
"creatorType": "author"
}
],
"date": "2007",
"DOI": "10.1145/1281192.1281230",
"ISBN": "978-1-59593-609-7",
"extra": "event-place: San Jose, California, USA",
"itemID": "Giannotti:2007:TPM:1281192.1281230",
"pages": "330–339",
"place": "New York, NY, USA",
"proceedingsTitle": "Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining",
"publisher": "ACM",
"series": "KDD '07",
"url": "http://doi.acm.org/10.1145/1281192.1281230",
"attachments": [],
"tags": [
{
"tag": "spatio-temporal data mining"
},
{
"tag": "trajectory patterns"
}
],
"notes": [],
"seeAlso": []
}
]
}
]
/** END TEST CASES **/

0 comments on commit 8203550

Please sign in to comment.
You can’t perform that action at this time.