diff --git a/chrome/content/zotero/integration/quickFormat.js b/chrome/content/zotero/integration/quickFormat.js index 77257aae2b..1f3208efa8 100644 --- a/chrome/content/zotero/integration/quickFormat.js +++ b/chrome/content/zotero/integration/quickFormat.js @@ -590,63 +590,78 @@ var Zotero_QuickFormat = new function () { */ function _buildItemDescription(item, infoHbox) { var nodes = []; - - var author, authorDate = ""; - if(item.firstCreator) author = authorDate = item.firstCreator; - var date = item.getField("date", true, true); - if(date && (date = date.substr(0, 4)) !== "0000") { - authorDate += " (" + parseInt(date) + ")"; - } - authorDate = authorDate.trim(); - if(authorDate) nodes.push(authorDate); - - var publicationTitle = item.getField("publicationTitle", false, true); - if(publicationTitle) { - var label = document.createElement("label"); - label.setAttribute("value", publicationTitle); - label.setAttribute("crop", "end"); - label.style.fontStyle = "italic"; - nodes.push(label); - } - - var volumeIssue = item.getField("volume"); - var issue = item.getField("issue"); - if(issue) volumeIssue += "("+issue+")"; - if(volumeIssue) nodes.push(volumeIssue); - - var publisherPlace = [], field; - if((field = item.getField("publisher"))) publisherPlace.push(field); - if((field = item.getField("place"))) publisherPlace.push(field); - if(publisherPlace.length) nodes.push(publisherPlace.join(": ")); - - var pages = item.getField("pages"); - if(pages) nodes.push(pages); - - if(!nodes.length) { - var url = item.getField("url"); - if(url) nodes.push(url); - } - - // compile everything together var str = ""; - for(var i=0, n=nodes.length; i x.trim()).filter(x => x.length); + if (parts[1]) str += " " + parts[1]; + } + else { + var author, authorDate = ""; + if(item.firstCreator) author = authorDate = item.firstCreator; + var date = item.getField("date", true, true); + if(date && (date = date.substr(0, 4)) !== "0000") { + authorDate += " (" + parseInt(date) + ")"; } + authorDate = authorDate.trim(); + if(authorDate) nodes.push(authorDate); + + var publicationTitle = item.getField("publicationTitle", false, true); + if(publicationTitle) { + var label = document.createElement("label"); + label.setAttribute("value", publicationTitle); + label.setAttribute("crop", "end"); + label.style.fontStyle = "italic"; + nodes.push(label); + } + + var volumeIssue = item.getField("volume"); + var issue = item.getField("issue"); + if(issue) volumeIssue += "("+issue+")"; + if(volumeIssue) nodes.push(volumeIssue); + + var publisherPlace = [], field; + if((field = item.getField("publisher"))) publisherPlace.push(field); + if((field = item.getField("place"))) publisherPlace.push(field); + if(publisherPlace.length) nodes.push(publisherPlace.join(": ")); + + var pages = item.getField("pages"); + if(pages) nodes.push(pages); + + if(!nodes.length) { + var url = item.getField("url"); + if(url) nodes.push(url); + } + + // compile everything together + for(var i=0, n=nodes.length; i