2

With XeLaTeX, when I use [backend=biber, style=authoryear-icomp, dashed=false]{biblatex} together with \usepackage{polyglossia} then \setmainlanguage{french}, the citations and references are written in small capitals. My editor wants me to remove small capitals in text and footnotes, but to keep the small capitals in the bibliography.

The answer I found elsewhere is \DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}, but this does remove the small capitals both in text and in bibliography.

MWE below:

\documentclass{article}

\usepackage[normalem]{ulem}
\usepackage[no-math]{fontspec} \usepackage{polyglossia} \usepackage[backend=biber, style=authoryear-icomp, dashed=false]{biblatex} \usepackage{csquotes} \setmainlanguage{french} \setotherlanguage{english} \setotherlanguage{latin} \setotherlanguage[variant=ancient]{greek} \newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} \newfontfamily\greekfont[Script=Greek]{Linux Libertine O}

\usepackage{filecontents}

\begin{filecontents}{biblio.bib} @article{abel2018, title = {Estimates of {{Global Bilateral Migration Flows}} by {{Gender}} between 1960 and 2015}, author = {Abel, Guy J.}, date = {2018}, journaltitle = {International Migration Review}, shortjournal = {International Migration Review}, volume = {52}, pages = {809--852}, doi = {10.1111/imre.12327}, url = {http://journals.sagepub.com/doi/10.1111/imre.12327}, urldate = {2019-12-14}, langid = {english}, number = {3} } \end{filecontents}

\addbibresource{biblio.bib}

\begin{document} I want to remove the small capitals here : \cite{abel2018} \printbibliography[title={I want to keep the small capitals here}] \end{document}

What I have:

enter image description here

Of course adding shorthand = {Abel 2018} will do the job, but I have more or less a thousand entries and life is short.

bonk
  • 885

2 Answers2

2

You can redefine \mkbibnamefamily just before printing your bibliography.

{
  \protected\def\mkbibnamefamily#1{\textsc{#1}}
  \printbibliography[title={I want to keep the small capitals here}]
}

Your MWE:

\documentclass{article}

\usepackage[normalem]{ulem}
\usepackage[no-math]{fontspec} \usepackage{polyglossia} \usepackage[backend=biber, style=authoryear-icomp, dashed=false]{biblatex} \usepackage{csquotes} \setmainlanguage{french} \setotherlanguage{english} %\setotherlanguage{latin} %\setotherlanguage[variant=ancient]{greek} %\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} %\newfontfamily\greekfont[Script=Greek]{Linux Libertine O} \DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily} \usepackage{filecontents}

\begin{filecontents}{biblio.bib} @article{abel2018, title = {Estimates of {{Global Bilateral Migration Flows}} by {{Gender}} between 1960 and 2015}, author = {Abel, Guy J.}, date = {2018}, journaltitle = {International Migration Review}, shortjournal = {International Migration Review}, volume = {52}, pages = {809--852}, doi = {10.1111/imre.12327}, url = {http://journals.sagepub.com/doi/10.1111/imre.12327}, urldate = {2019-12-14}, langid = {english}, number = {3} } \end{filecontents}

\addbibresource{biblio.bib}

\begin{document} I want to remove the small capitals here : \cite{abel2018}

{ \protected\def\mkbibnamefamily#1{\textsc{#1}} \printbibliography[title={I want to keep the small capitals here}] } \end{document}

Paul Gaborit
  • 70,770
  • 10
  • 176
  • 283
1

If you want a solution that lives only in the preamble, you can redefine \mkbibnamefamily with an \ifbibliography check.

\documentclass{article}

\usepackage[normalem]{ulem}
\usepackage[no-math]{fontspec} \usepackage{polyglossia} \usepackage[backend=biber, style=authoryear-icomp, dashed=false]{biblatex} \usepackage{csquotes} \setmainlanguage{french} \setotherlanguage{english} \setotherlanguage{latin} \setotherlanguage[variant=ancient]{greek} %\newfontfamily\arabicfont[Script=Arabic,Scale=1.5]{Scheherazade} \newfontfamily\greekfont[Script=Greek]{Linux Libertine O}

\DefineBibliographyExtras{french}{% \renewcommand*\mkbibnamefamily[1]{% \ifbibliography {\textsc{#1}} {#1}}}

\begin{filecontents}{\jobname.bib} @article{abel2018, title = {Estimates of Global Bilateral Migration Flows by Gender between 1960 and 2015}, author = {Abel, Guy J.}, date = {2018}, journaltitle = {International Migration Review}, shortjournal = {International Migration Review}, volume = {52}, pages = {809--852}, doi = {10.1111/imre.12327}, url = {http://journals.sagepub.com/doi/10.1111/imre.12327}, urldate = {2019-12-14}, langid = {english}, number = {3}, } \end{filecontents} \addbibresource{\jobname.bib}

\begin{document} I want to remove the small capitals here : \cite{abel2018} \printbibliography[title={I want to keep the small capitals here}] \end{document}

No small caps in citation. Small caps in bibliography.

moewe
  • 175,683