%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Some adjustments to make the bibliography more clean %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % The subsequent commands do the following: % - Removing the month field from the bibliography % - Fixing the Oxford commma % - Suppress the "in" for journal articles % - Remove the parentheses of the year in an article % - Delimit volume and issue of an article by a colon ":" instead of % a dot "" % - Use commas to separate the location of publishers from their name % - Remove the abbreviation for technical reports % - Display the label of bibliographic entries without brackets in the % bibliography % - Ensure that DOIs are followed by a non-breakable space % - Use hair spaces between initials of authors % - Make the font size of citations smaller % - Fixing ordinal numbers (1st, 2nd, 3rd, and so) on by using % superscripts % Remove the month field from the bibliography. It does not serve a good % purpose, I guess. And often, it cannot be used because the journals % have some crazy issue policies. \AtEveryBibitem{\clearfield{month}} \AtEveryCitekey{\clearfield{month}} % Fixing the Oxford comma. Not sure whether this is the proper solution. % More information is available under [1] and [2]. % % [1] http://tex.stackexchange.com/questions/97712/biblatex-apa-style-is-missing-a-comma-in-the-references-why % [2] http://tex.stackexchange.com/questions/44048/use-et-al-in-biblatex-custom-style % \AtBeginBibliography{% \renewcommand*{\finalnamedelim}{% \ifthenelse{\value{listcount} > 2}{% \addcomma \addspace \bibstring{and}% }{% \addspace \bibstring{and}% } } } % Suppress "in" for journal articles. This is unnecessary in my opinion % because the journal title is typeset in italics anyway. \renewbibmacro{in:}{% \ifentrytype{article} {% }% % else {% \printtext{\bibstring{in}\intitlepunct}% }% } % Remove the parentheses for the year in an article. This removes a lot % of undesired parentheses in the bibliography, thereby improving the % readability. Moreover, it makes the look of the bibliography more % consistent. \renewbibmacro*{issue+date}{% \setunit{\addcomma\space} \iffieldundef{issue} {\usebibmacro{date}} {\printfield{issue}% \setunit*{\addspace}% \usebibmacro{date}}% \newunit} % Delimit the volume and the number of an article by a colon instead of % by a dot, which I consider to be more readable. \renewbibmacro*{volume+number+eid}{% \printfield{volume}% \setunit*{\addcolon}% \printfield{number}% \setunit{\addcomma\space}% \printfield{eid}% } % Do not use a colon for the publisher location. Instead, connect % publisher, location, and date via commas. \renewbibmacro*{publisher+location+date}{% \printlist{publisher}% \setunit*{\addcomma\space}% \printlist{location}% \setunit*{\addcomma\space}% \usebibmacro{date}% \newunit% } % Ditto for other entry types. \renewbibmacro*{organization+location+date}{% \printlist{location}% \setunit*{\addcomma\space}% \printlist{organization}% \setunit*{\addcomma\space}% \usebibmacro{date}% \newunit% } % Display the label of a bibliographic entry in bare style, without any % brackets. I like this more than the default. % % Note that this is *really* the proper and official way of doing this. \DeclareFieldFormat{labelnumberwidth}{#1\adddot} % Ensure that DOIs are followed by a non-breakable space. \DeclareFieldFormat{doi}{% \mkbibacro{DOI}\addcolon\addnbspace \ifhyperref {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}} % {\nolinkurl{#1}} } % Use proper hair spaces between initials as suggested by Bringhurst and % others. \renewcommand*\bibinitdelim {\addnbthinspace} \renewcommand*\bibnamedelima{\addnbthinspace} \renewcommand*\bibnamedelimb{\addnbthinspace} \renewcommand*\bibnamedelimi{\addnbthinspace} % Make the font size of citations smaller. Depending on your selected % font, you might not need this. \usepackage{relsize} \renewcommand*{\citesetup}{% \biburlsetup \relsize{-.5}% } \DeclareLanguageMapping{english}{english-mimosis} % Make hyperlinks extend to the author name if `\textcite` is being used % instead of another cite command. \DeclareFieldFormat{citehyperref}{% % Need this to avoid nested links \DeclareFieldAlias{bibhyperref}{noformat}% \bibhyperref{#1}% } \DeclareFieldFormat{textcitehyperref}{% % Need this to avoid nested links \DeclareFieldAlias{bibhyperref}{noformat}% \bibhyperref{% #1% \ifbool{cbx:parens} {\bibcloseparen\global\boolfalse{cbx:parens}} {}% }% } \savebibmacro{cite} \savebibmacro{textcite} \renewbibmacro*{cite}{% \printtext[citehyperref]{% \restorebibmacro{cite}% \usebibmacro{cite}}% } \renewbibmacro*{textcite}{% \ifboolexpr{ ( not test {\iffieldundef{prenote}} and test {\ifnumequal{\value{citecount}}{1}} ) or ( not test {\iffieldundef{postnote}} and test {\ifnumequal{\value{citecount}}{\value{citetotal}}} ) }% {\DeclareFieldAlias{textcitehyperref}{noformat}} {}% \printtext[textcitehyperref]{% \restorebibmacro{textcite}% \usebibmacro{textcite}}% }