publist produces entry “with and ” when omitting first author
up vote
3
down vote
favorite
I produce a publist with the current version of publist (File: publist.bbx 2018/09/01 v.1.11) and get in entries where I am the first author "(with and XX)", but not when I am not the first author (second or later).
Here is a MWE:
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
}
end{filecontents}
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
biblatex
add a comment |
up vote
3
down vote
favorite
I produce a publist with the current version of publist (File: publist.bbx 2018/09/01 v.1.11) and get in entries where I am the first author "(with and XX)", but not when I am not the first author (second or later).
Here is a MWE:
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
}
end{filecontents}
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
biblatex
2
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I produce a publist with the current version of publist (File: publist.bbx 2018/09/01 v.1.11) and get in entries where I am the first author "(with and XX)", but not when I am not the first author (second or later).
Here is a MWE:
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
}
end{filecontents}
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
biblatex
I produce a publist with the current version of publist (File: publist.bbx 2018/09/01 v.1.11) and get in entries where I am the first author "(with and XX)", but not when I am not the first author (second or later).
Here is a MWE:
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
}
end{filecontents}
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
biblatex
biblatex
edited yesterday
Bernard
162k767192
162k767192
asked yesterday
user855443
2728
2728
2
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday
add a comment |
2
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday
2
2
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday
add a comment |
1 Answer
1
active
oldest
votes
up vote
3
down vote
accepted
I'm not sure what might have changed or where, but if I had to guess the new name wrapper formatting directives introduced somehow a grouping for individual names thus messing with the toggles used by biblatex-publist
in its name formatting directives.
Update: @moewe identified the place the grouping was introduced, and it was not in the new name wrapper formatting facilities as my uninformed hunch would have, but in https://github.com/plk/biblatex/pull/731.
Making the toggling of myselfprec
and hadmyself
global in the author
and editor
name formatting directives seems to solve the issue. And, as far as I can tell, these toggles are only used there, so making them global should be harmless.
Unfortunately, those formatting directives are quite long, even when the changes introduced are small.
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
end{filecontents}
makeatletter
DeclareNameFormat{author}{%
if@hlauthor%
% Embolden omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}%
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{author}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- % change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change here
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{author}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
DeclareNameFormat{editor}{%
if@hlauthor
% Embolden omitted editor
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{editor}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change herey
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{editor}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
makeatother
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug inbiblatex
.
– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
I'm not sure what might have changed or where, but if I had to guess the new name wrapper formatting directives introduced somehow a grouping for individual names thus messing with the toggles used by biblatex-publist
in its name formatting directives.
Update: @moewe identified the place the grouping was introduced, and it was not in the new name wrapper formatting facilities as my uninformed hunch would have, but in https://github.com/plk/biblatex/pull/731.
Making the toggling of myselfprec
and hadmyself
global in the author
and editor
name formatting directives seems to solve the issue. And, as far as I can tell, these toggles are only used there, so making them global should be harmless.
Unfortunately, those formatting directives are quite long, even when the changes introduced are small.
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
end{filecontents}
makeatletter
DeclareNameFormat{author}{%
if@hlauthor%
% Embolden omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}%
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{author}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- % change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change here
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{author}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
DeclareNameFormat{editor}{%
if@hlauthor
% Embolden omitted editor
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{editor}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change herey
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{editor}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
makeatother
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug inbiblatex
.
– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
add a comment |
up vote
3
down vote
accepted
I'm not sure what might have changed or where, but if I had to guess the new name wrapper formatting directives introduced somehow a grouping for individual names thus messing with the toggles used by biblatex-publist
in its name formatting directives.
Update: @moewe identified the place the grouping was introduced, and it was not in the new name wrapper formatting facilities as my uninformed hunch would have, but in https://github.com/plk/biblatex/pull/731.
Making the toggling of myselfprec
and hadmyself
global in the author
and editor
name formatting directives seems to solve the issue. And, as far as I can tell, these toggles are only used there, so making them global should be harmless.
Unfortunately, those formatting directives are quite long, even when the changes introduced are small.
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
end{filecontents}
makeatletter
DeclareNameFormat{author}{%
if@hlauthor%
% Embolden omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}%
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{author}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- % change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change here
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{author}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
DeclareNameFormat{editor}{%
if@hlauthor
% Embolden omitted editor
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{editor}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change herey
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{editor}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
makeatother
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug inbiblatex
.
– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
I'm not sure what might have changed or where, but if I had to guess the new name wrapper formatting directives introduced somehow a grouping for individual names thus messing with the toggles used by biblatex-publist
in its name formatting directives.
Update: @moewe identified the place the grouping was introduced, and it was not in the new name wrapper formatting facilities as my uninformed hunch would have, but in https://github.com/plk/biblatex/pull/731.
Making the toggling of myselfprec
and hadmyself
global in the author
and editor
name formatting directives seems to solve the issue. And, as far as I can tell, these toggles are only used there, so making them global should be harmless.
Unfortunately, those formatting directives are quite long, even when the changes introduced are small.
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
end{filecontents}
makeatletter
DeclareNameFormat{author}{%
if@hlauthor%
% Embolden omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}%
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{author}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- % change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change here
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{author}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
DeclareNameFormat{editor}{%
if@hlauthor
% Embolden omitted editor
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{editor}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change herey
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{editor}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
makeatother
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
I'm not sure what might have changed or where, but if I had to guess the new name wrapper formatting directives introduced somehow a grouping for individual names thus messing with the toggles used by biblatex-publist
in its name formatting directives.
Update: @moewe identified the place the grouping was introduced, and it was not in the new name wrapper formatting facilities as my uninformed hunch would have, but in https://github.com/plk/biblatex/pull/731.
Making the toggling of myselfprec
and hadmyself
global in the author
and editor
name formatting directives seems to solve the issue. And, as far as I can tell, these toggles are only used there, so making them global should be harmless.
Unfortunately, those formatting directives are quite long, even when the changes introduced are small.
documentclass{article}
usepackage[bibstyle=publist]{biblatex}
plauthorname{Frank}
begin{filecontents}{mwebib.bib}
@Article{Frank1994e,
author = {Frank, Andrew U. and Timpf, Sabine},
title = {Multiple Representations for Cartographic Objects in a Multi-Scale Tree - An Intelligent Graphical Zoom},
journal = {Computers and Graphics Special Issue on Modelling and Visualization of Spatial Data in GIS},
year = {1994},
volume = {18},
number = {6},
pages = {823--829},
}
@Article{Buyong1991,
author = {Buyong, Taher and Kuhn, Werner and Frank, Andrew U.},
title = {A Conceptual Model of Measurement-Based Multipurpose Cadastral Systems},
journal = {Journal of the Urban and Regional Information Systems Association (URISA)},
year = {1991},
volume = {3},
number = {2},
pages = {35--49},
}
end{filecontents}
makeatletter
DeclareNameFormat{author}{%
if@hlauthor%
% Embolden omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}%
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{author}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{namepartprefix}{bpl@tvonpart}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
bpl@normalize{bpl@ovonpart}{bpl@evonpart}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- % change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change here
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{author}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
DeclareNameFormat{editor}{%
if@hlauthor
% Embolden omitted editor
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{toggletrue{ismyself}}{togglefalse{ismyself}}
ifthenelse{value{listcount}=1}{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{finalnamedelim}%
}%
iftoggle{ismyself}{plauthorhl{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}}{%
if@givenfirst% given name first
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
else% family name first
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
namepartfamily%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{addcommaaddspacenamepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{addcommaaddspacenamepartgivenaddspace}}%
fi
}%
usebibmacro{name:andothers}%
else% if@hlauthor false
ifthenelse{value{listcount}=1}{ifthenelse{value{editor}>1}{bibopenparenbibstring{with}addspace}{}}{}%
% Exclude omitted author
bpl@normalize{namepartfamily}{bpl@tsurname}%
bpl@normalize{namepartgiven}{bpl@tfirstname}%
bpl@normalize{bpl@osurname}{bpl@esurname}%
bpl@normalize{bpl@ofirstname}{bpl@efirstname}%
ifboolexpr{
test { ifdefstrequal{bpl@esurname}{bpl@tsurname} }
and
( test { ifdefstrequal{bpl@efirstname}{bpl@tfirstname} } or test { ifdefstring{bpl@ofirstname}{} })
and
( test { ifdefstrequal{bpl@evonpart}{bpl@tvonpart} } or test { ifdefstring{bpl@ovonpart}{} }) }
{globaltoggletrue{myselfprec}globaltoggletrue{hadmyself}% <- change here
ifthenelse{value{listcount}=1ANDvalue{liststop}=1}
{stepcounter{liststop}}{}}
{ifthenelse{value{listcount}=1}{globaltogglefalse{hadmyself}}{% <- change herey
ifboolexpr{
test { iftoggle{myselfprec} }
and
test { ifnumless{value{listcount}}{3} } }
{}{%
ifnumless{value{listcount}}{value{liststop}-1}%
{multinamedelim}%
{iftoggle{hadmyself}{%
ifnumless{value{listcount}}{value{liststop}}%
{multinamedelim}%
{finalnamedelim}}
{finalnamedelim}}%
}%
}%
ifgiveninits
{ifdefvoid{namepartgiveni}{}{namepartgiveniaddspace}}%
{ifdefvoid{namepartgiven}{}{namepartgivenaddspace}}%
ifdefvoid{namepartprefix}{}{namepartprefixaddspace}%
globaltogglefalse{myselfprec}% <- change here
namepartfamily}%
usebibmacro{name:andothers}%
ifthenelse{value{listcount}=value{liststop}ANDvalue{editor}>1}{unspacebibcloseparen}{}%
fi% end of if@hlauthor else condition
}
makeatother
begin{document}
title{XX publications}
author{}
date{today}
maketitle
section{Articles}
newrefsection[mwebib]
nocite{*}
printbibliography[heading=none]
end{document}
edited 16 hours ago
answered yesterday
gusbrs
6,2142838
6,2142838
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug inbiblatex
.
– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
add a comment |
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug inbiblatex
.
– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
1
1
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug in
biblatex
.– moewe
17 hours ago
The analysis is spot on, but one small correction: The grouping that keeps the toggles here local was not introduced by the new wrappers (phew!), it was introduced explicitly in github.com/plk/biblatex/pull/731 to fix a different bug in
biblatex
.– moewe
17 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Thanks! I added the info.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
@moewe Btw, the new name/list wrappers are a very neat addition. Thanks a bunch.
– gusbrs
16 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
I fixes indeed the issue for me. Thank you very much for the quick response! - the fix is quite long and I have put it in a file to include; is there a better solution?
– user855443
15 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
@user855443 There's no harm in that and, if it helps keeping your stuff organized in a way that suits you, it is fine. Anyway, until the fix arrives in the package itself, you will have to maintain this being called somehow in your preamble. Just keep an eye to remove it when the fix does come.
– gusbrs
14 hours ago
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f461456%2fpublist-produces-entry-with-and-second-author-when-omitting-first-author%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
I can reproduce the issue, but I don't have time right now to look into it. Even if you get an answer here quickly, please consider reporting this at github.com/jspitz/biblatex-publist/issues. It looks very much like a small bug in the style and I'm sure the developer would be happy to hear about it so he can have a look at it.
– moewe
yesterday
Thank you for checking. I have repored a bug, as you suggest!
– user855443
yesterday