5

I'm using biblatex-chicago and I have to use giveninits for my thesis style. When it comes to classical Arabic author names, which are composite with lots of "Abu" and "Ibn" (e.g. "Abu Hamid") I would like to override the ugly first name abbreviation,

unwanted abbreviated author

to get this beauty instead,

desired output

So I have been trying to fiddle with the \relax hack as suggested elsewhere, but then I start getting an unwanted dot. unwanted dot

If I then use \nopunct, the point goes missing when needed in the bibliography.

I don't mind modifying the database entries. Here is a MWE with another title for comparison. Ideally, the English author should be abbreviated, but not the Arabic. I guess this question also applies to some classical and medieval authors; you wouldn't want to have "L. Vinci" instead of "Leonardo da Vinci", I reckon. Is there a simple way to bypass or override the giveninits option?

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{book}
\usepackage[notes,backend=biber,giveninits=true]{biblatex-chicago}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ghazali1999,
  title =       "Ihya Ulum al-Din",
  author =      "{\relax \Abu Hamid} al-Ghazali",
%  shortauthor =    "al-Ghazali",
  date =            "1999",
  publisher =       "ITS"
}
@book{john1989,
  title =       "English Book",
  author =      "Johnny English",
  date =            "1989",
  publisher =       "Easy"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
Some text\footcite{ghazali1999} and some other text\footcite{john1989}
\nocite{*} 
\printbibliography
\end{document}
5

You could locally set giveninits=false for Arabic names. We only need to define giveninits as an entry option for this to work.

\documentclass{book}
\usepackage[notes,backend=biber,giveninits=true]{biblatex-chicago}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ghazali1999,
  title =       "Ihya Ulum al-Din",
  author =      "Abu Hamid al-Ghazali",
  options = {giveninits=false},
%  shortauthor =    "al-Ghazali",
  date =            "1999",
  publisher =       "ITS"
}
@book{john1989,
  title =       "English Book",
  author =      "Johnny English",
  date =            "1989",
  publisher =       "Easy"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\DeclareEntryOption[boolean]{giveninits}[true]{%
  \settoggle{abx@bool@giveninits}{#1}}

\begin{document}
Some text\footcite{ghazali1999} and some other text\footcite{john1989}
\nocite{*} 
\printbibliography
\end{document}

enter image description here

It might be nice if this option was available by default, but there are a few details to sort out first. See https://github.com/plk/biblatex/issues/760

With the answer as posted here the uniquename still only considers the initials even of entries with giveninits=false and so may give unexpected results.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.