1

I found it a bit weird, where author second name appear in indirect cite.

Incorrect, when added in

This is correct, but adding this will make second name appear all J. Hollandet al. (1998)

@article{holland1998use,
  title={Use },
  author={Holland, JK and Kemsley, EK and Wilson, RH},
  journal={Journal of the Science of Food and Agriculture},
  volume={76},
  number={2},
  pages={263--269},
  year={1998},
  publisher={Wiley Online Library}

enter image description here

Correct, when without the

This is correct, but adding this will make second name appear all J. Hollandet al. (1998)

@article{holland1998use,
  title={Use },
  author={Holland, JK and Kemsley, EK and Wilson, RH},
  journal={Journal of the Science of Food and Agriculture},
  volume={76},
  number={2},
  pages={263--269},
  year={1998},
  publisher={Wiley Online Library}

enter image description here

How can I solve it?

My full MWE:

\documentclass{article}
\usepackage{xpatch}
% \usepackage[style = authoryear-comp, maxnames = 99]{biblatex}

\usepackage[backend=biber, 
% style=authoryear, 
 style=authoryear-comp,
% citestyle=authoryear, 
dashed=false,
maxcitenames=2,
maxbibnames=99,
giveninits,
alldates=comp,
dateabbrev=false,
uniquename=init]{biblatex}

% to make volume (number), eg. 4(2)
\newcommand*{\volnumdelim}{}
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\volnumdelim}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\newcommand*{\jourvoldelim}{\addcomma\space}
\newcommand*{\jourserdelim}{\newunitpunct}
\newcommand*{\servoldelim}{\jourvoldelim}
\newcommand*{\volnumdatedelim}{\addspace}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\jourvoldelim}%
  \iffieldundef{series}
    {}
    {\setunit*{\jourserdelim}%
     \printfield{series}%
     \setunit{\servoldelim}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\volnumdatedelim}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}  
% to make volume (number), eg. 4(2)
\DeclareNameAlias{sortname}{family-given} %for second and third author name
\DeclareFieldFormat{postnote}{\printtext[bibhyperref]{#1}}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[english]{babel}
\usepackage{csquotes}



\addto\captionsenglish{
\renewcommand{\listfigurename}{\textsf{List of Figures}}
\renewcommand{\listtablename}{\textsf{List of Tables}}
}

% Flag for whether to add front matter to TOC
\newtoggle{fulltoc}
\toggletrue{fulltoc}  % Change to \togglefalse{fulltoc} to remove front matter
\renewcommand{\contentsname}{Table of Contents}


\usepackage[unicode,colorlinks,citecolor=blue]{hyperref}


% for a chapter edited by a book
\usepackage{xpatch}
% \renewcommand*{\finalnamedelim}{\addspace\&\space} 
% \renewcommand*{\intitlepunct}{\space} (to become In:)
\renewcommand{\labelnamepunct}{\space} %to delete . after (1997)
% \DeclareFieldFormat[article, incollection, unpublished]{pages}{#1} % to add in PP. (page)
\DeclareFieldFormat[article, incollection, unpublished]{title}{#1}
% \renewcommand{\bibpagespunct}{\ifentrytype{article}{\addcolon}{\addperiod\addspace}} %cancel out this in order to add in PP. (page)


% for title italic
% \DeclareFieldFormat*{title}{\mkbibemph{#1}} %for title italic in all format (conference, paper..)
\DeclareFieldFormat*{title}{#1} %for conference title delete ".."
\DeclareFieldFormat[incollection]{title}{\mkbibemph{#1}} %for incollecion title italic ONLY
\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}} %for phdthesis title italic ONLY
% for title italic

% to delete "In:" for article
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
% to delete "In:" for article


% for delete comma after Author A and Aurhor b
\DefineBibliographyExtras{english}{%
   \let\finalandcomma\empty
   \let\finalandsemicolon\empty
 }
\renewcommand{\compcitedelim}{\space\&\space}
\DeclareNameAlias{editorin}{given-family}

\newbibmacro*{byeditor:in}{%
  \ifnameundef{editor}
    {}
    {\printnames[editorin]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}}     


\DeclareDelimFormat[textcite]{postnotedelim}{\addcolon\space}
\DeclareDelimFormat[parencite]{postnotedelim}{\addcolon\space}

% \DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{postnote}{\printtext[bibhyperref]{#1}}
\DeclareFieldFormat{multipostnote}{#1}


% for references 's studies (year)
\renewcommand*{\nameyeardelim}{\addcomma\space}
\newcommand{\mycite}[1]{\citeauthor{#1}'s \citeyear{#1}}

\DeclareCiteCommand{\citeauthor}
  {\boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printtext[bibhyperref]{\printnames{labelname}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\citeyear} % <======================================
    {}
    {(\bibhyperref{\printdate})}
    {\multicitedelim}
    {}

\DeclareCiteCommand{\parencite}[\mkbibparens]
  {\renewcommand*{\postnotedelim}{\addcolon\space}%
   \usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[bibhyperref]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\cbx@textcite}
  {\renewcommand*{\postnotedelim}{\addsemicolon\space}%
   \usebibmacro{cite:init}}
  {\usebibmacro{citeindex}%
   \usebibmacro{textcite}}
  {}
  {\usebibmacro{textcite:postnote}}  



\makeatletter
\let\abx@macro@textciteOrig\abx@macro@textcite
\renewbibmacro{textcite}{% <============================================
   \bibhyperref{%
   \let\bibhyperref\relax\relax%
   \abx@macro@textciteOrig%
   }%
}%
\makeatother
% for references 's studies (year)


\DeclareFieldFormat[book]{title}{\mkbibemph{#1}}


\DeclareFieldFormat{url}{Available at\addcolon\space\url{#1}}
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\space#1}}
\DeclareFieldFormat[online]{title}{\mkbibemph{#1}}
\DefineBibliographyStrings{english}{%
  urlseen = {Accessed},
}

\DefineBibliographyExtras{english}{%
  \protected\def\mkdaterangecomp{%
    \mkdaterangetrunc{long}}%
  \protected\def\mkdaterangeterse{%
    \mkdaterangetrunc{short}}%
  \protected\def\mkdaterangecompextra{%
    \mkdaterangetruncextra{long}}%
  \protected\def\mkdaterangeterseextra{%
    \mkdaterangetruncextra{short}}%
  \protected\def\mkbibdatelong#1#2#3{%
    \iffieldundef{#3}
      {}
      {\thefield{#3}%
       \iffieldundef{#2}{}{\nobreakspace}}%
    \iffieldundef{#2}
      {}
      {\mkbibmonth{\thefield{#2}}%
       \iffieldundef{#1}{}{\space}}%
    \iffieldbibstring{#1}
      {\bibstring{\thefield{#1}}}
      {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
}


% \DeclareFieldFormat{doi}{\bibstring{urlfrom}\addcolon\space\url{#1}}
% \DefineBibliographyStrings{english}{%
%     urlfrom = {Available at}
% }


\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}

@article{harris2009using,
  title={Using Statistics to},
%   author={Harris, Lr and Holland, Saleh},
  journal={Proceedings of the Institute of Acoustics},
     author={Harris, L. E. and Holland, K. R.},
  year={2009},
  volume={31},
}

 @article{ghasemi2012normality,
   title={Normality },
   author={Ghasemi, Asghar and Zahediasl, Saleh},
   journal={International journal of endocrinology and metabolism},
   volume={10},
   number={2},
   pages={486},
   year={2012},
   publisher={Kowsar Medical Institute}
 }

@article{holland1998use,
  title={Use },
  author={Holland, JK and Kemsley, EK and Wilson, RH},
  journal={Journal of the Science of Food and Agriculture},
  volume={76},
  number={2},
  pages={263--269},
  year={1998},
  publisher={Wiley Online Library}


}




\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
\nocite{WinNT}

Text is \textcite{harris2009using} sentences.

This is  \textcite{ghasemi2012normality} sentences.

% This is correct, but adding this will make second name appear all \textcite{holland1998use}

% \textcite{primarysource}\parencite[cited in][]{secondarysource}


\printbibliography
\end{document}
aan
  • 2,663

1 Answers1

4

Your bibliography has two different authors with the last name "Holland". Biblatex has added the initials in order to disambiguate them.

This happens because you have the uniquename=init option in your preamble. To disable this functionality, remove the option or change it to uniquename=false.

The biblatex manual (section "4.11.4 Name Disambiguation") also lists other possible settings:

uniquename=true, false, init, full, allinit, allfull, mininit, minfull

default: false

Whether or not to update the uniquename counter, see § 4.6.2 for details. This feature will disambiguate individual names in the labelname list. This option is also settable on a per-type, per-entry, per-namelist and per-name basis. The possible choices are:

  • true - An alias for full.
  • false - Disable this feature.
  • init - Disambiguate using initials only.
  • full - Disambiguate using initials or full names, as required.
  • allinit - Similar to init but disambiguates all names in the labelname list,beyond maxnames/minnames/uniquelist.
  • allfull - Similar to full but disambiguates all names in the labelname list,beyond maxnames/minnames/uniquelist.
  • mininit - A variant of init which only disambiguates names in identical lists of base nameparts (by default, lists of family names).
  • minfull - A variant of full which only disambiguates names in identical lists of base nameparts (by default, lists of family names).
  • Thanks. it works well. One question. false - Disable this feature. May I know what is the meaning of uniquename in simple english – aan Jan 09 '20 at 13:47
  • @aan If there are multiple authors with the same last name, the text might get confusing, because the readers won't know who is who. For example, imagine: "Holland et al. (1998) wrote that... but Harris and Holland (2009) say...". It is not clear that these are two different people. – Disenchanted Lurker Jan 09 '20 at 14:07
  • So with uniquename=inits, biblatex will instead write this: "J. Holland et al. (1998) wrote that... but Harris and K. R. Holland (2009) say...". Here it is much more obvious that you are talking about two different Hollands. – Disenchanted Lurker Jan 09 '20 at 14:07
  • thanks. Just a bit confused again. So, with uniquename=inits, "J. Holland et al. (1998) wrote that... but Harris and K. R. Holland (2009) say...". , so is different author in both Holland, and this is correct right? – aan Jan 09 '20 at 14:20
  • Well, yes. In your bibliography, there is "Holland, K. R." and "Holland, JK", so unless there is a mistake, these are definitely different people. – Disenchanted Lurker Jan 09 '20 at 14:30
  • yes, both Holland is different author, "Holland, K. R." and "Holland, JK". Is that mean that using uniquename=inits is correct, as with uniquename=inits, biblatex will instead write this: "J. Holland et al. (1998) wrote that... but Harris and K. R. Holland (2009) say...". – aan Jan 09 '20 at 14:32
  • I would say that uniquename=inits is better, but both options are correct. Use the one you prefer. – Disenchanted Lurker Jan 09 '20 at 14:44
  • thanks. Just my university format for indirect text citing need to put Holland only, so I have to use uniquename=false and hopefully, will not create other setting conflict. Thanks – aan Jan 09 '20 at 15:09