%% Biblatex settings. %% %% Settings necessary to make the bibliography with Biblatex. Keeping all %% BibLaTeX settings in a separate preamble was done in the spirit of %% modularity to 1) easily managable, 2) If a similar BibLaTeX %% configuration is necessary in another LaTeX compilation, this file can %% just be copied there and used. %% %% USAGE: %% - 'tex/src/references.tex': the file containing Bibtex source of each %% reference. The file suffix doesn't have to be '.bib'. This naming %% helps in clearly identifying the files and avoiding places that %% complain about '.bib' files. % %% Copyright (C) 2018-2022 Mohammad Akhlaghi % %% This file is free software: you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the %% Free Software Foundation, either version 3 of the License, or (at your %% option) any later version. % %% This file is distributed in the hope that it will be useful, but WITHOUT %% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or %% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License %% for more details. % %% You should have received a copy of the GNU General Public License along %% with this file. If not, see . %% To break up highlighted text (for example texttt when some it is on the %% line break) and also to no underline emphasized words (like journal %% titles in the references). \usepackage[normalem]{ulem} %% For quotation signs (sometimes used by BibLaTeX) \usepackage{csquotes} %% To define colors \usepackage{xcolor} % Basic BibLaTeX settings \usepackage[ doi=false, url=false, dashed=false, eprint=false, maxbibnames=2, minbibnames=1, hyperref=true, maxcitenames=2, mincitenames=1, giveninits=true, style=authoryear, uniquelist=false, backend=biber,natbib]{biblatex} \DeclareFieldFormat[article]{pages}{#1} \DeclareFieldFormat{pages}{\mkfirstpage[{\mkpageprefix[bookpagination]}]{#1}} \addbibresource{tex/src/references.tex} \addbibresource{tex/build/macros/dependencies-bib.tex} \renewbibmacro{in:}{} \AtEveryBibitem{\clearfield{month}} \renewcommand*{\bibfont}{\footnotesize} \DefineBibliographyStrings{english}{references = {References}} %% Include the adsurl field key into those that are recognized: \DeclareSourcemap{ \maps[datatype=bibtex]{ \map{ \step[fieldsource=adsurl,fieldtarget=iswc] \step[fieldsource=gbkurl,fieldtarget=iswc] } } } %% Set the color of the doi link to mymg (magenta) and the ads links %% to mypurp (or purple): \definecolor{mypurp}{cmyk}{0.75,1,0,0} \newcommand{\doihref}[2]{\href{#1}{\color{magenta}{#2}}} \newcommand{\adshref}[2]{\href{#1}{\color{mypurp}{#2}}} \newcommand{\blackhref}[2]{\href{#1}{\color{black}{#2}}} %% Define a format for the printtext commands in %% DeclareBibliographyDriver to make links for the doi, ads link and %% arxiv link: \DeclareFieldFormat{doilink}{ \iffieldundef{doi}{#1}{\doihref{http://dx.doi.org/\thefield{doi}}{#1}}} \DeclareFieldFormat{adslink}{ \iffieldundef{iswc}{#1}{\adshref{\thefield{iswc}}{#1}}} \DeclareFieldFormat{arxivlink}{ \iffieldundef{eprint}{#1}{\href{http://arxiv.org/abs/\thefield{eprint}}{#1}}} \DeclareListFormat{doiforbook}{ \iffieldundef{doi}{#1}{\doihref{http://dx.doi.org/\thefield{doi}}{#1}}} \DeclareFieldFormat{googlebookslink}{ \iffieldundef{iswc}{#1}{\adshref{\thefield{iswc}}{#1}}} %% Set the formatting to make the last three values into the %% appropriate link. Note that the % signs are necessary. Without %% them, the items will be indented. \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \newunit% \ifdefined\makethesis\printtext{\usebibmacro{title}}\fi% \newunit% \printtext[doilink]{\usebibmacro{journal}}% \addcomma% \printtext[adslink]{\printfield{volume}}% \addcomma% \printtext[arxivlink]{\printfield{pages}}% \addperiod% } \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \newunit% \printtext{\usebibmacro{title}}% \addperiod% \addspace% \printlist[doiforbook]{publisher}% \addcomma% \addspace% \printfield[googlebookslink]{edition}% \printtext{ ed.}% \addperiod% } %% In order to have et al. instead of et al.,: \renewcommand*{\nameyeardelim}{\addspace}