diff --git a/citeproc/citeproc-latex-parser.lua b/citeproc/citeproc-latex-parser.lua index 4876f2af..d198ab84 100644 --- a/citeproc/citeproc-latex-parser.lua +++ b/citeproc/citeproc-latex-parser.lua @@ -50,6 +50,12 @@ function latex_parser.latex_to_pseudo_html(str, strict, case_protection) latex_parser.convert_ast_to_unicode(ast) local inlines = latex_parser.convert_tokens_to_inlines(ast, strict, case_protection) -- util.debug(inlines) + if not case_protection then + -- util.debug(inlines) + inlines = latex_parser.remove_case_protection(inlines, false) + -- util.debug(inlines) + end + local pseudo_html_format = markup.PseudoHtml:new() local res = pseudo_html_format:write_inlines(inlines, {}) return res @@ -69,10 +75,18 @@ end function latex_parser.latex_to_sentence_case_pseudo_html(str, keep_unknown_commands, case_protection, check_sentence_case) local ast = latex_parser.latex_grammar:match(str) latex_parser.convert_ast_to_unicode(ast) - local inlines = latex_parser.convert_tokens_to_inlines(ast, keep_unknown_commands, case_protection) + local inlines = latex_parser.convert_tokens_to_inlines(ast, keep_unknown_commands, true) local pseudo_html_format = markup.PseudoHtml:new() + -- util.debug(inlines) pseudo_html_format:convert_sentence_case(inlines, check_sentence_case) -- util.debug(inlines) + + if not case_protection then + -- util.debug(inlines) + inlines = latex_parser.remove_case_protection(inlines, false) + -- util.debug(inlines) + end + local res = pseudo_html_format:write_inlines(inlines, {}) return res end @@ -398,6 +412,26 @@ function latex_parser.convert_group_to_inlines(token, strict, case_protection, f end +---@param inlines InlineElement[] +---@param keep_minimal boolean +function latex_parser.remove_case_protection(inlines, keep_minimal) + local res = {} + for _, inline in ipairs(inlines) do + if inline._type == "NoCase" then + for _, no_case_inline in ipairs(inline.inlines) do + table.insert(res, no_case_inline) + end + else + if inline.inlines then + inline.inlines = latex_parser.remove_case_protection(inline.inlines, keep_minimal) + end + table.insert(res, inline) + end + end + return res +end + + ---A group is surrounded with braces in these cases: ---1. Following a command; e.g, `\textbf{foo}` and `\textcolor{red}{flag}` ---2. Containing a command; e.g, {\bfseies foo} diff --git a/citeproc/citeproc-output.lua b/citeproc/citeproc-output.lua index 10e1e84b..7d42b13c 100644 --- a/citeproc/citeproc-output.lua +++ b/citeproc/citeproc-output.lua @@ -938,7 +938,7 @@ function OutputFormat:apply_text_case_inner(inlines, text_case, seen_one, is_upp local is_last = (i == #inlines) if inline._type == "PlainText" then -- util.debug(inline.value) - -- util.debug(text_case) + -- util.debug(seen_one) inline.value = self:transform_case(inline.value, text_case, seen_one, is_last, is_uppercase); -- util.debug(inline.value) seen_one = seen_one or string_contains_word(inline.value) diff --git a/tests/bbt-test.lua b/tests/bbt-test.lua new file mode 100644 index 00000000..8a36cdf5 --- /dev/null +++ b/tests/bbt-test.lua @@ -0,0 +1,156 @@ +local bibtex_data +local bibtex_parser +local bibtex2csl +local json_encode +local json_decode +local latex_parser +local util +if kpse then + kpse.set_program_name("luatex") + local kpse_searcher = package.searchers[2] + ---@diagnostic disable-next-line: duplicate-set-field + package.searchers[2] = function (pkg_name) + local pkg_file = package.searchpath(pkg_name, package.path) + if pkg_file then + return loadfile(pkg_file) + end + return kpse_searcher(pkg_name) + end + bibtex_data = require("citeproc-bibtex-data") + bibtex_parser = require("citeproc-bibtex-parser") + bibtex2csl = require("citeproc-bibtex2csl") + require("lualibs") + json_encode = utilities.json.tojson + json_decode = utilities.json.tolua + latex_parser = require("citeproc-latex-parser") + util = require("citeproc-util") +else + bibtex_data = require("citeproc.bibtex-data") + bibtex_parser = require("citeproc.bibtex-parser") + bibtex2csl = require("citeproc.bibtex2csl") + json_decode = require("dkjson").encode + json_decode = require("dkjson").decode + latex_parser = require("citeproc.latex-parser") + util = require("citeproc.util") +end + + +local function listdir(path) + local files = {} + for file in lfs.dir(path) do + if not string.match(file, "^%.") then + table.insert(files, file) + end + end + table.sort(files) + return files +end + + +local function test_bib_json(bib_contents, sentence_case_title, check_sentence_case, case_protection, baseline_path) + local bib_data, exceptions = bibtex_parser.parse(bib_contents, {}) + if bib_data then + bib_data = { + entries = bib_data.entries + } + else + bib_data = { + entries = {}, + } + end + + local baseline_content = util.read_file(baseline_path) + local baseline = json_decode(baseline_content) + + for i, entry in ipairs(bib_data.entries) do + + describe("#" .. entry.key, function () + + for field, value in pairs(entry.fields) do + + local field_type = nil + if bibtex_data.fields[field] then + field_type = bibtex_data.fields[field].type + end + + if field_type == "name" then + -- value = latex_parser.latex_to_pseudo_html(value) + + elseif field_type == "date" then + -- value = latex_parser.latex_to_pseudo_html(value) + + elseif sentence_case_title and entry.type ~= "jurisdiction" and (field == "title" + or field == "subtitle" + or field == "shorttitle" + or field == "booktitle" + or field == "booksubtitle" + or field == "issuetitle" + or field == "issuesubtitle" + or field == "maintitle" + or field == "mainsubtitle" + or field == "eventtitle" + or field == "origtitle" + or field == "series" + or field == "type" + ) then + + it("#" .. field, function () + value = latex_parser.latex_to_sentence_case_pseudo_html(value, true, case_protection, check_sentence_case) + assert.equal(baseline.entries[i].fields[field], value) + end) + + else + -- value = latex_parser.latex_to_pseudo_html(value, true, false) + end + + value = string.gsub(value, '([%d%p%s]*)', "%1") + entry.fields[field] = value + end + + end) + + end + +end + + +local function main() + local bib_dir = "./tests/bbt/bib" + for _, file in ipairs(listdir(bib_dir)) do + if string.match(file, "%.bib$") then + + describe(file, function () + local bib_path = bib_dir .. "/" .. file + local bib_contents = util.read_file(bib_path) + if not bib_contents then + error(string.format('File not found: "%s"', bib_path)) + end + + local sentence_case_options = {"on+guess", "on", "off"} + local case_protection_options = {"as-needed", "strict", "off"} + + for _, sentence_case in ipairs(sentence_case_options) do + for _, caseprotection in ipairs(case_protection_options) do + -- print(sentence_case, caseprotection) + local config = string.format("sentencecase=%s^caseprotection=%s", sentence_case, caseprotection) + local sentence_case_title = (sentence_case ~= "off") + local case_protection = (caseprotection ~= "off") + local check_sentence_case = (sentence_case == "on+guess") + + local json_path = string.format("./tests/bbt/converted/%s/%s", config, file:gsub("%.bib$", ".json")) + local baseline_path = string.format("./tests/bbt/baseline/%s/%s", config, file:gsub("%.bib$", ".json")) + + describe(config, function () + -- print(json_path) + test_bib_json(bib_contents, sentence_case_title, check_sentence_case, case_protection, baseline_path) + end) + + end + end + end) + end + end +end + + +main() diff --git a/tests/bbt/baseline/sentencecase=off^caseprotection=as-needed/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=off^caseprotection=as-needed/biblatex-apa-test-references.json index e223ce64..f25584c8 100644 --- a/tests/bbt/baseline/sentencecase=off^caseprotection=as-needed/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=off^caseprotection=as-needed/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", + "title": "The Good Place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=off^caseprotection=off/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=off^caseprotection=off/biblatex-apa-test-references.json index 3fd0ce53..2cb9c4e1 100644 --- a/tests/bbt/baseline/sentencecase=off^caseprotection=off/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=off^caseprotection=off/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", + "title": "The Good Place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=off^caseprotection=strict/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=off^caseprotection=strict/biblatex-apa-test-references.json index 80fa399b..8f82fdbc 100644 --- a/tests/bbt/baseline/sentencecase=off^caseprotection=strict/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=off^caseprotection=strict/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", + "title": "The Good Place ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=as-needed/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=as-needed/biblatex-apa-test-references.json index 83b200ef..c7205bf9 100644 --- a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=as-needed/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=as-needed/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json index 50735802..735963a7 100644 --- a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=strict/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=strict/biblatex-apa-test-references.json index 54a2d435..5d38443b 100644 --- a/tests/bbt/baseline/sentencecase=on+guess^caseprotection=strict/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on+guess^caseprotection=strict/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on^caseprotection=as-needed/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on^caseprotection=as-needed/biblatex-apa-test-references.json index f1dac8e4..d06e2848 100644 --- a/tests/bbt/baseline/sentencecase=on^caseprotection=as-needed/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on^caseprotection=as-needed/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json index c1bc0423..93af0022 100644 --- a/tests/bbt/baseline/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/baseline/sentencecase=on^caseprotection=strict/biblatex-apa-test-references.json b/tests/bbt/baseline/sentencecase=on^caseprotection=strict/biblatex-apa-test-references.json index 4c7c014d..aed092c4 100644 --- a/tests/bbt/baseline/sentencecase=on^caseprotection=strict/biblatex-apa-test-references.json +++ b/tests/bbt/baseline/sentencecase=on^caseprotection=strict/biblatex-apa-test-references.json @@ -1986,7 +1986,7 @@ "related": "10.7:69r", "relatedstring": "Review of the TV series episode", "relatedtype": "reviewof", - "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", + "title": "The good place ends its remarkable second season with irrational hope, unexpected gifts, and a smile", "url": "https://www.avclub.com/the-good-place-ends-its-remarkable-second-season-with-i-1822649316" } }, diff --git a/tests/bbt/bib/biblatex-apa-test-references.bib b/tests/bbt/bib/biblatex-apa-test-references.bib index 02c901c8..bfc8d946 100644 --- a/tests/bbt/bib/biblatex-apa-test-references.bib +++ b/tests/bbt/bib/biblatex-apa-test-references.bib @@ -1676,7 +1676,7 @@ @BOOK{10.7:68r % emphasise" part of the title @ONLINE{10.7:69, AUTHOR = {D. Perkins}, - TITLE = {\textup{The good place} ends its Remarkable Second + TITLE = {{\emph{The Good Place}} ends its Remarkable Second Season With Irrational Hope, Unexpected Gifts, and a Smile}, RELATED = {10.7:69r}, RELATEDTYPE = {reviewof}, diff --git a/tests/bbt/converted/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json b/tests/bbt/converted/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json index 25f67a79..2112a882 100644 --- a/tests/bbt/converted/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json +++ b/tests/bbt/converted/sentencecase=on+guess^caseprotection=off/biblatex-apa-test-references.json @@ -784,7 +784,7 @@ "journaltitle": "Midwifery", "number": "10", "pages": "1122–1128", - "title": "What does it take to have a strong and independent profession of midwifery? lessons from the netherlands", + "title": "What does it take to have a strong and independent profession of midwifery? Lessons from the Netherlands", "volume": "29" } }, @@ -811,7 +811,7 @@ "doi": "10.1027/1618-3169/a000440", "howpublished": "Advance online publication", "journaltitle": "Experimental Psychology", - "title": "Are face-incongruent voices harder to process? effects of face-voice gender incongruity on basic cognitive information processing" + "title": "Are face-incongruent voices harder to process? Effects of face-voice gender incongruity on basic cognitive information processing" } }, { @@ -869,7 +869,7 @@ "pages": "611–618", "related": "10.1:11r", "relatedtype": "reprintfrom", - "subtitle": "Reflections on mental health in the united states", + "subtitle": "Reflections on mental health in the United States", "title": "Marking time in the land of plenty", "volume": "84" } @@ -883,7 +883,7 @@ "journaltitle": "American Journal of Orthopsychiatry", "number": "3", "pages": "391–402", - "subtitle": "Reflections on mental health in the united states", + "subtitle": "Reflections on mental health in the United States", "title": "Marking time in the land of plenty", "volume": "51" } @@ -961,7 +961,7 @@ "date": "2013-03-19", "entrysubtype": "nonacademic", "journaltitle": "The New Yorker", - "subtitle": "An interview with tom bissell", + "subtitle": "An interview with Tom Bissell", "title": "On video games and storytelling", "url": "https://www.newyorker.com/books/page-turner/on-video-games-and-storytelling-an-interview-with-tom-bissell" } @@ -988,7 +988,7 @@ "date": "2017-12-04", "entrysubtype": "nonacademic", "journaltitle": "The Washington Post", - "title": "How will humanity react to alien life? psychologists have some predictions", + "title": "How will humanity react to alien life? Psychologists have some predictions", "url": "https://www.washingtonpost.com/news/speaking-of-science/wp/2017/12/04/how-will-humanity-react-to-alien-life-psychologists-have-some-predictions" } }, @@ -1159,7 +1159,7 @@ "date": "2000", "origtitle": "Nihongo no goi tokusei", "publisher": "Sansei-do", - "title": "Lexical characteristics of japanese language", + "title": "Lexical characteristics of Japanese language", "volume": "7" } }, @@ -1210,7 +1210,7 @@ "narrator": "J. Dale", "origdate": "1997", "publisher": "Pottermore Publishing", - "title": "Harry potter and the sorceror’s stone", + "title": "Harry Potter and the sorceror’s stone", "titleaddon": "Audiobook", "url": "http://bit.ly/2TcHchx" } @@ -1307,7 +1307,7 @@ "edition": "Summer 2019 ed.", "editor": "E. N. Zalta", "publisher": "Stanford University", - "title": "The stanford encyclopedia of philosophy", + "title": "The Stanford encyclopedia of philosophy", "url": "https://plato.stanford.edu/archives/sum2019/" } }, @@ -1319,7 +1319,7 @@ "doi": "10.1037/10319-000", "editor": "M. Gold", "publisher": "American Psychological Association", - "subtitle": "A kurt lewin reader", + "subtitle": "A Kurt Lewin reader", "title": "The complete social scientist" } }, @@ -1329,7 +1329,7 @@ "fields": { "date": "2017", "origdate": "1769", - "title": "King james bible", + "title": "King James Bible", "url": "https://www.kingjamesbibleonline.org/", "urldescription": "King James Bible Online" } @@ -1340,7 +1340,7 @@ "fields": { "date": "2004", "publisher": "Oxford University Press", - "title": "The qur’an", + "title": "The Qur’an", "translator": "Abdel Haleem, M. A. S." } }, @@ -1352,15 +1352,15 @@ "edition": "3", "origdate": "1962", "publisher": "The Jewish Publication Society", - "subtitle": "The five books of moses", - "title": "The torah" + "subtitle": "The five books of Moses", + "title": "The Torah" } }, { "key": "10.2:35d", "type": "inreference", "fields": { - "booktitle": "Encyclopedia of cleveland history", + "booktitle": "Encyclopedia of Cleveland history", "date": "2022", "editor": "John J. Grabowski", "publisher": "Case Western Reserve University", @@ -1536,7 +1536,7 @@ "type": "incollection", "fields": { "author": "S. Goldin-Meadow", - "booksubtitle": "Vol. 2. cognitive processes", + "booksubtitle": "Vol. 2. Cognitive processes", "booktitle": "Handbook of child psychology and developmental science", "date": "2015", "doi": "10.1002/9781118963418.childpsy209", @@ -1552,7 +1552,7 @@ "type": "incollection", "fields": { "author": "K. Lewin", - "booksubtitle": "A kurt lewin reader", + "booksubtitle": "A Kurt Lewin reader", "booktitle": "The complete social scientist", "date": "1999", "doi": "10.1037/10319-000", @@ -1590,7 +1590,7 @@ "type": "inreference", "fields": { "author": "G. Graham", - "booktitle": "The stanford encyclopedia of philosophy", + "booktitle": "The Stanford encyclopedia of philosophy", "date": "2019", "edition": "Summer 2019 ed.", "editor": "E. N. Zalta", @@ -1615,7 +1615,7 @@ "fields": { "author": "Australian Government Productivity Commission and New Zealand Productivity Commission", "date": "2012", - "title": "Strengthening trans-tasman economic relations", + "title": "Strengthening trans-Tasman economic relations", "url": "https://www.pc.gov.au/inquiries/completed/australia-new-zealand/report/trans-tasman.pdf" } }, @@ -1625,7 +1625,7 @@ "fields": { "author": "Canada Council for the Arts", "date": "2013", - "subtitle": "Summary of key findings: 2013 canada council’s inter-arts office consultation", + "subtitle": "Summary of key findings: 2013 Canada Council’s Inter-Arts Office consultation", "title": "What we heard", "url": "http://publications.gc.ca/collections/collection_2017/canadacouncil/K23-65-2013-eng.pdf" } @@ -1661,7 +1661,7 @@ "author": "A. Segaert and A. Bauer", "date": "2015", "publisher": "Employment and Social Development Canada", - "title": "The extent and nature of veteran homelessness in canada", + "title": "The extent and nature of veteran homelessness in Canada", "url": "https://www.canada.ca/en/employment-social-development/programs/communities/homelessness/publications-bulletins/veterans-report.html" } }, @@ -1674,8 +1674,8 @@ "issue": "Vital and Health Statistics Series", "number": "10, Issue 260", "publisher": "Centers for Disease Control and Prevention", - "subtitle": "National health interview survey, 2012", - "title": "Summary health statistics for u.s. adults", + "subtitle": "National Health Interview Survey, 2012", + "title": "Summary health statistics for U.S. adults", "url": "https://www.atlantic.org/images/publications/Democratic_Defense_Against_Disinformation_FINAL.pdf" } }, @@ -1686,8 +1686,8 @@ "author": "British Cardiovascular Society Working Group", "date": "2016", "publisher": "British Cardiovascular Society", - "subtitle": "Out-of-hours cardiovascular care: management of cardiac emergencies and hospital in-patients", - "title": "British cardiovascular society working group report", + "subtitle": "Out-of-hours cardiovascular care: Management of cardiac emergencies and hospital in-patients", + "title": "British Cardiovascular Society Working Group report", "url": "http://www.bcs.com/documents/BCSOOHWP_Final_Report_05092016.pdf" } }, @@ -1836,7 +1836,7 @@ "editoratype": "chair", "eventdate": "2018-04-26/2018-04-29", "eventtitle": "Western Psychological Association 98th Annual Convention", - "maintitle": "Perspectives on resilience: conceptualization, measurement, and enhancement", + "maintitle": "Perspectives on resilience: Conceptualization, measurement, and enhancement", "maintitleaddon": "Symposium", "subtitle": "A person-focused approach", "title": "The art and significance of successfully identifying resilient individuals", @@ -1906,7 +1906,7 @@ "institution": "University of Wisconsin–Madison", "number": "10289373", "publisher": "ProQuest Dissertations and Theses Global", - "subtitle": "Methodological innovations and new lessons from the milgram experiment", + "subtitle": "Methodological innovations and new lessons from the Milgram experiment", "title": "Resistance to authority" } }, @@ -2067,7 +2067,7 @@ "date": "2014", "eprinttype": "ERIC", "number": "ED545393", - "title": "Teacher preparation for early childhood special education in taiwan", + "title": "Teacher preparation for early childhood special education in Taiwan", "url": "https://files.eric.ed.gov/fulltext/ED545393.pdf" } }, @@ -2095,7 +2095,7 @@ "entrysubtype": "Data set and code book", "number": "ICPSR 35531", "publisher": "National Archive of Data on Arts and Culture", - "subtitle": "Teacher’s use of educational technology in u.s. public schools, 2009", + "subtitle": "Teacher’s use of educational technology in U.S. public schools, 2009", "title": "Fast response survey system (FRSS)", "version": "V3" } @@ -2107,7 +2107,7 @@ "author": "Pew Research Center", "date": "2018", "entrysubtype": "Data set", - "title": "American trends panel wave 26", + "title": "American trends panel Wave 26", "url": "https://www.pewsocialtrends.org/dataset/american-trends-panel-wave-26/" } }, @@ -2201,7 +2201,7 @@ "date": "2011", "publisher": "Pearson", "subtitle": "Technical manual", - "title": "Minnesota multiphasic personality inventory–2 restructured form (MMPI-2-RF)" + "title": "Minnesota Multiphasic Personality Inventory–2 Restructured Form (MMPI-2-RF)" } }, { @@ -2209,7 +2209,7 @@ "type": "software", "fields": { "author": "Project Implicit", - "title": "Gender-science IAT", + "title": "Gender-Science IAT", "url": "https://implicit.harvard.edi/implicit/takeatest.html" } }, @@ -2222,7 +2222,7 @@ "doi": "10.1037/t66267-000", "entrysubtype": "Database record", "publisher": "PsycTESTS", - "title": "Situated goals questionnaire for university students (SGQ-U, CMS-U)" + "title": "Situated Goals Questionnaire for University Students (SGQ-U, CMS-U)" } }, { @@ -2234,7 +2234,7 @@ "entrysubtype": "Database record", "number": "TC022704", "publisher": "ETS TestLink", - "title": "Acculturative stress inventory (ASI)" + "title": "Acculturative Stress Inventory (ASI)" } }, { @@ -2313,7 +2313,7 @@ "execproducer": "K. Barris and J. Groff and A. Anderson and E. B. Dobbins and L. Fishburne and H. Sugland", "maintitle": "Black-ish", "publisher": "Wilmore Films and Artists First and Cinema Gypsy Productions and ABC Studios", - "title": "Lemons (season 3, episode 12)" + "title": "Lemons (Season 3, Episode 12)" } }, { @@ -2327,7 +2327,7 @@ "execproducer": "D. Mirkin and J. L. Brooks and M. Groening and S. Simon", "maintitle": "The simpsons", "publisher": "Gracie Films and Twentieth Century Fox Film Corporation", - "title": "Who shot mr. burns? (part one) (season 6, episode 25)" + "title": "Who shot Mr. Burns? (Part One) (Season 6, Episode 25)" } }, { @@ -2351,7 +2351,7 @@ "entrysubtype": "video", "publisher": "YouTube", "subtitle": "Listening to shame", - "title": "Brené brown", + "title": "Brené Brown", "url": "https://www.youtube.com/watch?v=psN1DORYYV0" } }, @@ -2414,7 +2414,7 @@ "origdate": "1721", "publisher": "Decca", "subtitle": "Concertos BVW 1043 & 1060", - "title": "The brandenburg concertos" + "title": "The Brandenburg concertos" } }, { @@ -2435,7 +2435,7 @@ "author": "van Beethoven, L.", "date": "2012", "entrysubtype": "Song recorded by Staatskapelle Dresden", - "maintitle": "Beethoven: complete symphonies", + "maintitle": "Beethoven: Complete Symphonies", "options": "useprefix=false", "origdate": "1804", "publisher": "Brilliant Classics", @@ -2498,7 +2498,7 @@ "author+an:role": "1=host", "date": "2011-08-12", "entrysubtype": "podcastepisode", - "maintitle": "This american life", + "maintitle": "This American Life", "number": "443", "publisher": "WBEZ Chicago", "title": "Amusement park", @@ -2513,7 +2513,7 @@ "date": "1960-05-04", "entrysubtype": "interview", "publisher": "Studs Terkel Radio Archive and The Chicago History Museum", - "title": "Simone de beauvoir discusses the art of writing", + "title": "Simone de Beauvoir discusses the art of writing", "url": "https://studsterkel.wfmt.com/programs/simone-de-beauvoir-discusses-art-writing" } }, @@ -2537,7 +2537,7 @@ "date": "1826/1827", "entrysubtype": "lithograph", "location": "The Louvre, Paris, France", - "title": "Faust attempts to seduce marguerite" + "title": "Faust attempts to seduce Marguerite" } }, { @@ -2642,7 +2642,7 @@ "date": "2016", "entrysubtype": "powerpoint", "publisher": "SlideShare", - "title": "Game on! integrating games and simulations in the classroom", + "title": "Game on! Integrating games and simulations in the classroom", "url": "https://www.slideshare.net/brianhousand/game-on-iagc-2016/" } }, @@ -2745,7 +2745,7 @@ "date": "2018-06-26", "entrysubtype": "video", "eprinttype": "Facebook", - "subtitle": "Https://scimag.2KlriwH", + "subtitle": "https://scimag.2KlriwH", "title": "These frogs walk instead of hop", "url": "https://www.facebook.com/ScienceNOW/videos/10155508587605108" } @@ -2771,7 +2771,7 @@ "date": "2018-11-26", "entrysubtype": "photographs", "eprinttype": "Instagram", - "title": "Grade 6 learners from parkfields primary school in hanover park visited the museum for a tour and workshop hosted by", + "title": "Grade 6 learners from Parkfields Primary School in Hanover Park visited the museum for a tour and workshop hosted by", "url": "https://www.instagram.com/p/BqpHpjFBs3b" } }, @@ -2808,7 +2808,7 @@ "author": "N. Avramova", "date": "2019-01-03", "eprinttype": "CNN", - "title": "The secret to a long, happy, health life? think age-positive", + "title": "The secret to a long, happy, health life? Think age-positive", "url": "https://www.cnn.com/2019/01/03/health/respect-towards-elderly-leads-to-long-life-intl/index.html" } }, @@ -2880,7 +2880,7 @@ "fields": { "author": "U.S. Census Bureau", "organization": "U.S. Department of Commerce", - "title": "U.s. and world population clock", + "title": "U.S. and world population clock", "url": "https://www.census.gov/popclock/", "urldate": "2019-07-03" } diff --git a/tests/bbt/converted/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json b/tests/bbt/converted/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json index c1bf288f..bfd366ac 100644 --- a/tests/bbt/converted/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json +++ b/tests/bbt/converted/sentencecase=on^caseprotection=off/biblatex-apa-test-references.json @@ -784,7 +784,7 @@ "journaltitle": "Midwifery", "number": "10", "pages": "1122–1128", - "title": "What does it take to have a strong and independent profession of midwifery? lessons from the netherlands", + "title": "What does it take to have a strong and independent profession of midwifery? Lessons from the Netherlands", "volume": "29" } }, @@ -811,7 +811,7 @@ "doi": "10.1027/1618-3169/a000440", "howpublished": "Advance online publication", "journaltitle": "Experimental Psychology", - "title": "Are face-incongruent voices harder to process? effects of face-voice gender incongruity on basic cognitive information processing" + "title": "Are face-incongruent voices harder to process? Effects of face-voice gender incongruity on basic cognitive information processing" } }, { @@ -869,7 +869,7 @@ "pages": "611–618", "related": "10.1:11r", "relatedtype": "reprintfrom", - "subtitle": "Reflections on mental health in the united states", + "subtitle": "Reflections on mental health in the United States", "title": "Marking time in the land of plenty", "volume": "84" } @@ -883,7 +883,7 @@ "journaltitle": "American Journal of Orthopsychiatry", "number": "3", "pages": "391–402", - "subtitle": "Reflections on mental health in the united states", + "subtitle": "Reflections on mental health in the United States", "title": "Marking time in the land of plenty", "volume": "51" } @@ -961,7 +961,7 @@ "date": "2013-03-19", "entrysubtype": "nonacademic", "journaltitle": "The New Yorker", - "subtitle": "An interview with tom bissell", + "subtitle": "An interview with Tom Bissell", "title": "On video games and storytelling", "url": "https://www.newyorker.com/books/page-turner/on-video-games-and-storytelling-an-interview-with-tom-bissell" } @@ -988,7 +988,7 @@ "date": "2017-12-04", "entrysubtype": "nonacademic", "journaltitle": "The Washington Post", - "title": "How will humanity react to alien life? psychologists have some predictions", + "title": "How will humanity react to alien life? Psychologists have some predictions", "url": "https://www.washingtonpost.com/news/speaking-of-science/wp/2017/12/04/how-will-humanity-react-to-alien-life-psychologists-have-some-predictions" } }, @@ -1026,7 +1026,7 @@ "related": "10.1:18r", "relatedstring": "Comment on the article", "relatedtype": "commenton", - "title": "From this article, it sounds like men are figuring something out that women have known forever. i know of many", + "title": "From this article, it sounds like men are figuring something out that women have known forever. I know of many", "url": "https://wapo.st/2HDToGJ" } }, @@ -1159,7 +1159,7 @@ "date": "2000", "origtitle": "Nihongo no goi tokusei", "publisher": "Sansei-do", - "title": "Lexical characteristics of japanese language", + "title": "Lexical characteristics of Japanese language", "volume": "7" } }, @@ -1210,7 +1210,7 @@ "narrator": "J. Dale", "origdate": "1997", "publisher": "Pottermore Publishing", - "title": "Harry potter and the sorceror’s stone", + "title": "Harry Potter and the sorceror’s stone", "titleaddon": "Audiobook", "url": "http://bit.ly/2TcHchx" } @@ -1294,7 +1294,7 @@ "type": "book", "fields": { "author": "Merriam-Webster", - "title": "Merriam-webster.com dictionary", + "title": "Merriam-Webster.com dictionary", "url": "https://www.merriam-webster.com/", "urldate": "2019-05-05" } @@ -1307,7 +1307,7 @@ "edition": "Summer 2019 ed.", "editor": "E. N. Zalta", "publisher": "Stanford University", - "title": "The stanford encyclopedia of philosophy", + "title": "The Stanford encyclopedia of philosophy", "url": "https://plato.stanford.edu/archives/sum2019/" } }, @@ -1319,7 +1319,7 @@ "doi": "10.1037/10319-000", "editor": "M. Gold", "publisher": "American Psychological Association", - "subtitle": "A kurt lewin reader", + "subtitle": "A Kurt Lewin reader", "title": "The complete social scientist" } }, @@ -1329,7 +1329,7 @@ "fields": { "date": "2017", "origdate": "1769", - "title": "King james bible", + "title": "King James Bible", "url": "https://www.kingjamesbibleonline.org/", "urldescription": "King James Bible Online" } @@ -1340,7 +1340,7 @@ "fields": { "date": "2004", "publisher": "Oxford University Press", - "title": "The qur’an", + "title": "The Qur’an", "translator": "Abdel Haleem, M. A. S." } }, @@ -1352,15 +1352,15 @@ "edition": "3", "origdate": "1962", "publisher": "The Jewish Publication Society", - "subtitle": "The five books of moses", - "title": "The torah" + "subtitle": "The five books of Moses", + "title": "The Torah" } }, { "key": "10.2:35d", "type": "inreference", "fields": { - "booktitle": "Encyclopedia of cleveland history", + "booktitle": "Encyclopedia of Cleveland history", "date": "2022", "editor": "John J. Grabowski", "publisher": "Case Western Reserve University", @@ -1434,7 +1434,7 @@ "editor": "M. McGoldrick and J. Giordano and N. Garcia-Preto", "pages": "55–63", "publisher": "Guilford Press", - "subtitle": "An examination of the native american holocaust experience", + "subtitle": "An examination of the Native American Holocaust experience", "title": "Back to the future", "url": "http://a.co/36xRhBT" } @@ -1444,10 +1444,10 @@ "type": "incollection", "fields": { "author": "Carcavilla González, N.", - "booktitle": "Guía práctica de terapias estimulativas en el alzhéimer", + "booktitle": "Guía práctica de terapias estimulativas en el Alzhéimer", "date": "2015", "editor": "Garcia Meilán, J. J.", - "origtitle": "Terapia senorial auditiva: activation cerebral por medio de la música", + "origtitle": "Terapia senorial auditiva: Activation cerebral por medio de la música", "pages": "67–86", "publisher": "Editorial Síntesis", "subtitle": "Brain activation through music", @@ -1536,7 +1536,7 @@ "type": "incollection", "fields": { "author": "S. Goldin-Meadow", - "booksubtitle": "Vol. 2. cognitive processes", + "booksubtitle": "Vol. 2. Cognitive processes", "booktitle": "Handbook of child psychology and developmental science", "date": "2015", "doi": "10.1002/9781118963418.childpsy209", @@ -1552,7 +1552,7 @@ "type": "incollection", "fields": { "author": "K. Lewin", - "booksubtitle": "A kurt lewin reader", + "booksubtitle": "A Kurt Lewin reader", "booktitle": "The complete social scientist", "date": "1999", "doi": "10.1037/10319-000", @@ -1579,7 +1579,7 @@ "type": "inbook", "fields": { "author": "Merriam-Webster", - "booktitle": "Merriam-webster.com dictionary", + "booktitle": "Merriam-Webster.com dictionary", "title": "Self-report", "url": "https://www.merriam-webster.com/dictionary/self-report", "urldate": "2019-07-12" @@ -1590,7 +1590,7 @@ "type": "inreference", "fields": { "author": "G. Graham", - "booktitle": "The stanford encyclopedia of philosophy", + "booktitle": "The Stanford encyclopedia of philosophy", "date": "2019", "edition": "Summer 2019 ed.", "editor": "E. N. Zalta", @@ -1615,7 +1615,7 @@ "fields": { "author": "Australian Government Productivity Commission and New Zealand Productivity Commission", "date": "2012", - "title": "Strengthening trans-tasman economic relations", + "title": "Strengthening trans-Tasman economic relations", "url": "https://www.pc.gov.au/inquiries/completed/australia-new-zealand/report/trans-tasman.pdf" } }, @@ -1625,7 +1625,7 @@ "fields": { "author": "Canada Council for the Arts", "date": "2013", - "subtitle": "Summary of key findings: 2013 canada council’s inter-arts office consultation", + "subtitle": "Summary of key findings: 2013 Canada Council’s Inter-Arts Office consultation", "title": "What we heard", "url": "http://publications.gc.ca/collections/collection_2017/canadacouncil/K23-65-2013-eng.pdf" } @@ -1661,7 +1661,7 @@ "author": "A. Segaert and A. Bauer", "date": "2015", "publisher": "Employment and Social Development Canada", - "title": "The extent and nature of veteran homelessness in canada", + "title": "The extent and nature of veteran homelessness in Canada", "url": "https://www.canada.ca/en/employment-social-development/programs/communities/homelessness/publications-bulletins/veterans-report.html" } }, @@ -1674,8 +1674,8 @@ "issue": "Vital and Health Statistics Series", "number": "10, Issue 260", "publisher": "Centers for Disease Control and Prevention", - "subtitle": "National health interview survey, 2012", - "title": "Summary health statistics for u.s. adults", + "subtitle": "National Health Interview Survey, 2012", + "title": "Summary health statistics for U.S. adults", "url": "https://www.atlantic.org/images/publications/Democratic_Defense_Against_Disinformation_FINAL.pdf" } }, @@ -1686,8 +1686,8 @@ "author": "British Cardiovascular Society Working Group", "date": "2016", "publisher": "British Cardiovascular Society", - "subtitle": "Out-of-hours cardiovascular care: management of cardiac emergencies and hospital in-patients", - "title": "British cardiovascular society working group report", + "subtitle": "Out-of-hours cardiovascular care: Management of cardiac emergencies and hospital in-patients", + "title": "British Cardiovascular Society Working Group report", "url": "http://www.bcs.com/documents/BCSOOHWP_Final_Report_05092016.pdf" } }, @@ -1836,7 +1836,7 @@ "editoratype": "chair", "eventdate": "2018-04-26/2018-04-29", "eventtitle": "Western psychological association 98th annual convention", - "maintitle": "Perspectives on resilience: conceptualization, measurement, and enhancement", + "maintitle": "Perspectives on resilience: Conceptualization, measurement, and enhancement", "maintitleaddon": "Symposium", "subtitle": "A person-focused approach", "title": "The art and significance of successfully identifying resilient individuals", @@ -1906,7 +1906,7 @@ "institution": "University of Wisconsin–Madison", "number": "10289373", "publisher": "ProQuest Dissertations and Theses Global", - "subtitle": "Methodological innovations and new lessons from the milgram experiment", + "subtitle": "Methodological innovations and new lessons from the Milgram experiment", "title": "Resistance to authority" } }, @@ -2067,7 +2067,7 @@ "date": "2014", "eprinttype": "ERIC", "number": "ED545393", - "title": "Teacher preparation for early childhood special education in taiwan", + "title": "Teacher preparation for early childhood special education in Taiwan", "url": "https://files.eric.ed.gov/fulltext/ED545393.pdf" } }, @@ -2095,7 +2095,7 @@ "entrysubtype": "Data set and code book", "number": "ICPSR 35531", "publisher": "National Archive of Data on Arts and Culture", - "subtitle": "Teacher’s use of educational technology in u.s. public schools, 2009", + "subtitle": "Teacher’s use of educational technology in U.S. public schools, 2009", "title": "Fast response survey system (FRSS)", "version": "V3" } @@ -2107,7 +2107,7 @@ "author": "Pew Research Center", "date": "2018", "entrysubtype": "Data set", - "title": "American trends panel wave 26", + "title": "American trends panel Wave 26", "url": "https://www.pewsocialtrends.org/dataset/american-trends-panel-wave-26/" } }, @@ -2201,7 +2201,7 @@ "date": "2011", "publisher": "Pearson", "subtitle": "Technical manual", - "title": "Minnesota multiphasic personality inventory–2 restructured form (MMPI-2-RF)" + "title": "Minnesota Multiphasic Personality Inventory–2 Restructured Form (MMPI-2-RF)" } }, { @@ -2209,7 +2209,7 @@ "type": "software", "fields": { "author": "Project Implicit", - "title": "Gender-science IAT", + "title": "Gender-Science IAT", "url": "https://implicit.harvard.edi/implicit/takeatest.html" } }, @@ -2222,7 +2222,7 @@ "doi": "10.1037/t66267-000", "entrysubtype": "Database record", "publisher": "PsycTESTS", - "title": "Situated goals questionnaire for university students (SGQ-U, CMS-U)" + "title": "Situated Goals Questionnaire for University Students (SGQ-U, CMS-U)" } }, { @@ -2234,7 +2234,7 @@ "entrysubtype": "Database record", "number": "TC022704", "publisher": "ETS TestLink", - "title": "Acculturative stress inventory (ASI)" + "title": "Acculturative Stress Inventory (ASI)" } }, { @@ -2313,7 +2313,7 @@ "execproducer": "K. Barris and J. Groff and A. Anderson and E. B. Dobbins and L. Fishburne and H. Sugland", "maintitle": "Black-ish", "publisher": "Wilmore Films and Artists First and Cinema Gypsy Productions and ABC Studios", - "title": "Lemons (season 3, episode 12)" + "title": "Lemons (Season 3, Episode 12)" } }, { @@ -2327,7 +2327,7 @@ "execproducer": "D. Mirkin and J. L. Brooks and M. Groening and S. Simon", "maintitle": "The simpsons", "publisher": "Gracie Films and Twentieth Century Fox Film Corporation", - "title": "Who shot mr. burns? (part one) (season 6, episode 25)" + "title": "Who shot Mr. Burns? (Part One) (Season 6, Episode 25)" } }, { @@ -2351,7 +2351,7 @@ "entrysubtype": "video", "publisher": "YouTube", "subtitle": "Listening to shame", - "title": "Brené brown", + "title": "Brené Brown", "url": "https://www.youtube.com/watch?v=psN1DORYYV0" } }, @@ -2414,7 +2414,7 @@ "origdate": "1721", "publisher": "Decca", "subtitle": "Concertos BVW 1043 & 1060", - "title": "The brandenburg concertos" + "title": "The Brandenburg concertos" } }, { @@ -2435,11 +2435,11 @@ "author": "van Beethoven, L.", "date": "2012", "entrysubtype": "Song recorded by Staatskapelle Dresden", - "maintitle": "Beethoven: complete symphonies", + "maintitle": "Beethoven: Complete Symphonies", "options": "useprefix=false", "origdate": "1804", "publisher": "Brilliant Classics", - "title": "Symphony no. 3 in e-flat major" + "title": "Symphony No. 3 in E-flat major" } }, { @@ -2462,7 +2462,7 @@ "date": "2018", "entrysubtype": "song", "publisher": "mcDJ and RCA", - "title": "This is america" + "title": "This is America" } }, { @@ -2498,7 +2498,7 @@ "author+an:role": "1=host", "date": "2011-08-12", "entrysubtype": "podcastepisode", - "maintitle": "This american life", + "maintitle": "This American Life", "number": "443", "publisher": "WBEZ Chicago", "title": "Amusement park", @@ -2513,7 +2513,7 @@ "date": "1960-05-04", "entrysubtype": "interview", "publisher": "Studs Terkel Radio Archive and The Chicago History Museum", - "title": "Simone de beauvoir discusses the art of writing", + "title": "Simone de Beauvoir discusses the art of writing", "url": "https://studsterkel.wfmt.com/programs/simone-de-beauvoir-discusses-art-writing" } }, @@ -2537,7 +2537,7 @@ "date": "1826/1827", "entrysubtype": "lithograph", "location": "The Louvre, Paris, France", - "title": "Faust attempts to seduce marguerite" + "title": "Faust attempts to seduce Marguerite" } }, { @@ -2642,7 +2642,7 @@ "date": "2016", "entrysubtype": "powerpoint", "publisher": "SlideShare", - "title": "Game on! integrating games and simulations in the classroom", + "title": "Game on! Integrating games and simulations in the classroom", "url": "https://www.slideshare.net/brianhousand/game-on-iagc-2016/" } }, @@ -2720,7 +2720,7 @@ "date": "2018-03-22", "entrysubtype": "Status update", "eprinttype": "Facebook", - "title": "100,000+ rohingya refugees could be at serious risk during bangladesh’s monsoon season. my fellow UNHCR goodwill ambassador cate blanchett is", + "title": "100,000+ Rohingya refugees could be at serious risk during Bangladesh’s monsoon season. My fellow UNHCR Goodwill Ambassador Cate Blanchett is", "titleaddon": "Image attached", "url": "http://bit.ly/2JQxPAD" } @@ -2733,7 +2733,7 @@ "date": "2018-11-28", "entrysubtype": "Infographic", "eprinttype": "Facebook", - "title": "Suicide affects all ages, genders, races, and ethnicities. check out these 5 action steps for helping someone in emotional pain", + "title": "Suicide affects all ages, genders, races, and ethnicities. Check out these 5 Action Steps for Helping Someone in Emotional Pain", "url": "http://bit.ly/321Qstq" } }, @@ -2745,7 +2745,7 @@ "date": "2018-06-26", "entrysubtype": "video", "eprinttype": "Facebook", - "subtitle": "Https://scimag.2klriwh", + "subtitle": "https://scimag.2KlriwH", "title": "These frogs walk instead of hop", "url": "https://www.facebook.com/ScienceNOW/videos/10155508587605108" } @@ -2771,7 +2771,7 @@ "date": "2018-11-26", "entrysubtype": "photographs", "eprinttype": "Instagram", - "title": "Grade 6 learners from parkfields primary school in hanover park visited the museum for a tour and workshop hosted by", + "title": "Grade 6 learners from Parkfields Primary School in Hanover Park visited the museum for a tour and workshop hosted by", "url": "https://www.instagram.com/p/BqpHpjFBs3b" } }, @@ -2797,7 +2797,7 @@ "date": "2018-09-12", "entrysubtype": "Online forum post", "eprinttype": "Reddit", - "title": "I’m NASA astronaut scott tingle. ask me anything about adjusting to being back on earth after my first spaceflight!", + "title": "I’m NASA astronaut Scott Tingle. Ask me anything about adjusting to being back on Earth after my first spaceflight!", "url": "https://www.reddit.com/r/IAmA/comments/9fagqy/im_nasa_astronaut_scott_tingle_ask_me_anything/" } }, @@ -2808,7 +2808,7 @@ "author": "N. Avramova", "date": "2019-01-03", "eprinttype": "CNN", - "title": "The secret to a long, happy, health life? think age-positive", + "title": "The secret to a long, happy, health life? Think age-positive", "url": "https://www.cnn.com/2019/01/03/health/respect-towards-elderly-leads-to-long-life-intl/index.html" } }, @@ -2870,7 +2870,7 @@ "type": "online", "fields": { "author": "National Nurses United", - "title": "What employers should do to protect nurses from zika", + "title": "What employers should do to protect nurses from Zika", "url": "https://www.nationalnursesunited.org/pages/what-employers-should-do-to-protect-rns-from-zika" } }, @@ -2880,7 +2880,7 @@ "fields": { "author": "U.S. Census Bureau", "organization": "U.S. Department of Commerce", - "title": "U.s. and world population clock", + "title": "U.S. and world population clock", "url": "https://www.census.gov/popclock/", "urldate": "2019-07-03" }