Automatic bold formatting of author name in bibliography
I would like to automatically boldface a single author's entries in a bibliography generated with natbib
. The bio.tex
file looks like this (everything has been fictionalized):
documentclass{bio}
updatebio{%
name={Bob Digital},
title={Prof.},
dept={Department of Antics},
uni={University of Fable},
email={bob.dole@uof.edu},
tel={(123) 456-7890},
web={https://uof.edu/bobdigital}
}
begin{document}
Products
end{document}
The Products
command is the main command of interest, which automatically generates the bibliography from a BibTeX file. The bio.cls
file looks like this:
NeedsTeXFormat{LaTeX2e}
ProvidesClass{bio}[2018/01/11 Stay classy.]
%% Declare article options
DeclareOption{10pt}{OptionNotUsed}
DeclareOption{12pt}{OptionNotUsed}
DeclareOption{a4paper}{OptionNotUsed}
DeclareOption{a5paper}{OptionNotUsed}
DeclareOption{b5paper}{OptionNotUsed}
DeclareOption{executivepaper}{OptionNotUsed}
DeclareOption{legalpaper}{OptionNotUsed}
DeclareOption{draft}{OptionNotUsed}
DeclareOption{twocolumn}{OptionNotUsed}
DeclareOption{fleqn}{OptionNotUsed}
DeclareOption{leqno}{OptionNotUsed}
DeclareOption{landscape}{OptionNotUsed}
DeclareOption{titlepage}{OptionNotUsed}
DeclareOption{openright}{OptionNotUsed}
DeclareOption{openany}{OptionNotUsed}
DeclareOption{11pt}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption{letterpaper}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption*{%
ClassWarning{nsf}{Unknown option 'CurrentOption'}
}
ExecuteOptions{11pt, letterpaper}
ProcessOptions{relax}
LoadClassWithOptions{article}
%% Load packages
RequirePackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
RequirePackage[T1]{fontenc}
RequirePackage{times}
RequirePackage{calc}
RequirePackage{lastpage}
RequirePackage{fancyhdr}
RequirePackage{xspace}
RequirePackage[shortlabels]{enumitem}
RequirePackage{graphicx}
RequirePackage{varioref}
RequirePackage[colorlinks=true,urlcolor=,pdfpagelabels=true,hypertexnames=true,plainpages=false,naturalnames=true,]{hyperref}
RequirePackage{doi}
RequirePackage{xifthen}
RequirePackage[numbers]{natbib}
RequirePackage{xparse}
%% Body of the class, most of the declarations appear here
urlstyle{rm}
renewcommandthesection{(alph{section})}
renewcommandthesubsection{(alph{subsection})}
%newcommand{pageoflastpage}{Page {thepage} of pageref*{LastPage}}
%newcommand{pageoflastpage}{{thepage} of pageref*{LastPage}}
newcommand{pageoflastpage}{}
% Redefine the plain pagestyle for the title page
makeatletter
letoldps@plainps@plain
renewcommand{ps@plain}{oldps@plain%
renewcommand{@evenfoot}{hfilpageoflastpagehfil}%
renewcommand{@oddfoot}{@evenfoot}}
makeatother
% Use fancy for non-title pages
fancyhead{}
fancyfoot{}
cfoot{pageoflastpage}
pagestyle{fancy}
newcommand{ie}{i.e.,xspace}
newcommand{eg}{e.g.,xspace}
% Key-value property store for author
ExplSyntaxOn
NewDocumentCommand{definename}{m}
{
name_define:n { #1 }
}
NewDocumentCommand{makebold}{m}
{
name_makebold:n { #1 }
}
NewDocumentCommand{updatebio}{+m}
{
keys_set:nn {bio} {#1}
name_define:x { prop_item:Nn l_name_bio_prop { name } }
}
cs_new:Npn getvalue#1
{
prop_item:Nn l_name_bio_prop {#1}
}
prop_new:N l_name_bio_prop
keys_define:nn {bio} {%
name .code:n={ prop_put:Nnn l_name_bio_prop {name} {#1} },
title .code:n={ prop_put:Nnn l_name_bio_prop {title} {#1} },
dept .code:n={ prop_put:Nnn l_name_bio_prop {dept} {#1} },
uni .code:n={ prop_put:Nnn l_name_bio_prop {uni} {#1} },
email .code:n={ prop_put:Nnn l_name_bio_prop {email} {#1} },
tel .code:n={ prop_put:Nnn l_name_bio_prop {tel} {#1} },
web .code:n={ prop_put:Nnn l_name_bio_prop {web} {#1} },
}
tl_new:N l_name_full_tl
tl_new:N l_name_first_tl
tl_new:N l_name_last_tl
tl_new:N l_name_initials_tl
tl_new:N l__name_input_tl
cs_new_protected:Nn name_define:n
{
tl_set:Nn l_name_full_tl { #1 }
tl_set_eq:NN l_name_first_tl l_name_full_tl
tl_set_eq:NN l_name_last_tl l_name_full_tl
regex_replace_once:nnN { (.*)s[^s]*Z } { 1 } l_name_first_tl
regex_replace_once:nnN { .*s([^s]*)Z } { 1 } l_name_last_tl
tl_set_eq:NN l_name_initials_tl l_name_first_tl
regex_replace_all:nnN { ([[:alpha:]])[[:alpha:]]+ } { 1. } l_name_initials_tl
}
cs_generate_variant:Nn name_define:n { x }
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_full_tl} % name surname
|
u{l_name_initials_tl} s u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , s u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , s u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
ExplSyntaxOff
% Default variable values
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
updatebio{%
name={Billy Zane},
title={Dr.},
dept={Department of Fiction},
uni={University of Utopia},
email={billy.zane@uo.edu},
tel={(098) 765-4321},
web={https://uo.edu/billyzane}
}
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
% Modify hyperref PDF metadata settings
hypersetup{%
pdfsubject={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfauthor={getvalue{title}.~getvalue{name}},
pdftitle={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfkeywords={}
}
title{%
vspace{-2baselineskip}
normalsize
Biographical Sketch\
{largetextbf{getvalue{title}.~getvalue{name}}}\
vspace{0.5baselineskip}
hrule
vspace{0.5baselineskip}
getvalue{dept}, getvalue{uni},
e-mail: href{mailto:getvalue{email}}{getvalue{email}},
tel: getvalue{tel},
website: url{getvalue{web}}
vspace{-1.5ex}
}
author{}
date{}
renewcommand{refname}{}
newcommand{Products}{%
subsection{Products}
vspace{-1cm}
nocite{*}
bibliographystyle{bio}
bibliography{bio}
}
newcommand{product}[1]{item{#1}}
% Change bibliography number
renewcommand{bibnumfmt}[1]{textbf{{#1}.}}
% Bold font author by name
letoriginalbibitembibitem
defbibitem#1#2par{%
noexpandarg%
originalbibitem{#1}%
makebold{#2}%
}
%% Macros to run after begin{document}
AtBeginDocument{%
maketitle
vspace{-4baselineskip}
}
endinput
And last, an example references.bib
file:
@article{Digital1968,
author = {Bob Digital and Mister Roboto},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {0022-5193},
journal = {Journal of Theoretical Theory},
number = {3},
pages = {280--299},
title = {{Some test title to use here just for fun}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {18},
year = {1968}
}
@article{Roboto1948,
author = {Mister Roboto and Bob Digital},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {002-52323},
journal = {Utopiae},
number = {2},
pages = {1--19},
title = {{Another title to use here just for fun!}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {1},
year = {1948}
}
I created a custom bio.bst
file, which is too large to share here. The important thing to know is that it uses the AGU format, where the first author is shown as LASTNAME, FI. MI.
and subsequent authors are shown as FI. MI. LASTNAME
followed by a comma for additional names, where FI == First Initial
and MI == Middle Initial
. Here is a corresponding .bbl
file:
begin{thebibliography}{10}
bibitem{Digital1968}
Digital, B. and M.~Roboto.
newblock {Some test title to use here just for fun}.
newblock emph{Journal of Theoretical Theory}, 18(3):280--299, 1968.
newblock ISSN 022-5193
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
bibitem{Roboto1948}
Roboto, M. and B.~Digital.
newblock {Another title to use here just for fun!}.
newblock emph{Utopiae}, 1(2):1--19, 1948.
newblock ISSN 002-5232.
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
end{thebibliography}
In this test example, I would expect Digital, B.
and B. Digital
to be boldface, regardless of their position in the author list. The issue that I'm having is that citations of the form FI. MI. LASTNAME
are not made boldface. I believe this may be due to the format of the spacing...?
natbib expl3 xparse
add a comment |
I would like to automatically boldface a single author's entries in a bibliography generated with natbib
. The bio.tex
file looks like this (everything has been fictionalized):
documentclass{bio}
updatebio{%
name={Bob Digital},
title={Prof.},
dept={Department of Antics},
uni={University of Fable},
email={bob.dole@uof.edu},
tel={(123) 456-7890},
web={https://uof.edu/bobdigital}
}
begin{document}
Products
end{document}
The Products
command is the main command of interest, which automatically generates the bibliography from a BibTeX file. The bio.cls
file looks like this:
NeedsTeXFormat{LaTeX2e}
ProvidesClass{bio}[2018/01/11 Stay classy.]
%% Declare article options
DeclareOption{10pt}{OptionNotUsed}
DeclareOption{12pt}{OptionNotUsed}
DeclareOption{a4paper}{OptionNotUsed}
DeclareOption{a5paper}{OptionNotUsed}
DeclareOption{b5paper}{OptionNotUsed}
DeclareOption{executivepaper}{OptionNotUsed}
DeclareOption{legalpaper}{OptionNotUsed}
DeclareOption{draft}{OptionNotUsed}
DeclareOption{twocolumn}{OptionNotUsed}
DeclareOption{fleqn}{OptionNotUsed}
DeclareOption{leqno}{OptionNotUsed}
DeclareOption{landscape}{OptionNotUsed}
DeclareOption{titlepage}{OptionNotUsed}
DeclareOption{openright}{OptionNotUsed}
DeclareOption{openany}{OptionNotUsed}
DeclareOption{11pt}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption{letterpaper}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption*{%
ClassWarning{nsf}{Unknown option 'CurrentOption'}
}
ExecuteOptions{11pt, letterpaper}
ProcessOptions{relax}
LoadClassWithOptions{article}
%% Load packages
RequirePackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
RequirePackage[T1]{fontenc}
RequirePackage{times}
RequirePackage{calc}
RequirePackage{lastpage}
RequirePackage{fancyhdr}
RequirePackage{xspace}
RequirePackage[shortlabels]{enumitem}
RequirePackage{graphicx}
RequirePackage{varioref}
RequirePackage[colorlinks=true,urlcolor=,pdfpagelabels=true,hypertexnames=true,plainpages=false,naturalnames=true,]{hyperref}
RequirePackage{doi}
RequirePackage{xifthen}
RequirePackage[numbers]{natbib}
RequirePackage{xparse}
%% Body of the class, most of the declarations appear here
urlstyle{rm}
renewcommandthesection{(alph{section})}
renewcommandthesubsection{(alph{subsection})}
%newcommand{pageoflastpage}{Page {thepage} of pageref*{LastPage}}
%newcommand{pageoflastpage}{{thepage} of pageref*{LastPage}}
newcommand{pageoflastpage}{}
% Redefine the plain pagestyle for the title page
makeatletter
letoldps@plainps@plain
renewcommand{ps@plain}{oldps@plain%
renewcommand{@evenfoot}{hfilpageoflastpagehfil}%
renewcommand{@oddfoot}{@evenfoot}}
makeatother
% Use fancy for non-title pages
fancyhead{}
fancyfoot{}
cfoot{pageoflastpage}
pagestyle{fancy}
newcommand{ie}{i.e.,xspace}
newcommand{eg}{e.g.,xspace}
% Key-value property store for author
ExplSyntaxOn
NewDocumentCommand{definename}{m}
{
name_define:n { #1 }
}
NewDocumentCommand{makebold}{m}
{
name_makebold:n { #1 }
}
NewDocumentCommand{updatebio}{+m}
{
keys_set:nn {bio} {#1}
name_define:x { prop_item:Nn l_name_bio_prop { name } }
}
cs_new:Npn getvalue#1
{
prop_item:Nn l_name_bio_prop {#1}
}
prop_new:N l_name_bio_prop
keys_define:nn {bio} {%
name .code:n={ prop_put:Nnn l_name_bio_prop {name} {#1} },
title .code:n={ prop_put:Nnn l_name_bio_prop {title} {#1} },
dept .code:n={ prop_put:Nnn l_name_bio_prop {dept} {#1} },
uni .code:n={ prop_put:Nnn l_name_bio_prop {uni} {#1} },
email .code:n={ prop_put:Nnn l_name_bio_prop {email} {#1} },
tel .code:n={ prop_put:Nnn l_name_bio_prop {tel} {#1} },
web .code:n={ prop_put:Nnn l_name_bio_prop {web} {#1} },
}
tl_new:N l_name_full_tl
tl_new:N l_name_first_tl
tl_new:N l_name_last_tl
tl_new:N l_name_initials_tl
tl_new:N l__name_input_tl
cs_new_protected:Nn name_define:n
{
tl_set:Nn l_name_full_tl { #1 }
tl_set_eq:NN l_name_first_tl l_name_full_tl
tl_set_eq:NN l_name_last_tl l_name_full_tl
regex_replace_once:nnN { (.*)s[^s]*Z } { 1 } l_name_first_tl
regex_replace_once:nnN { .*s([^s]*)Z } { 1 } l_name_last_tl
tl_set_eq:NN l_name_initials_tl l_name_first_tl
regex_replace_all:nnN { ([[:alpha:]])[[:alpha:]]+ } { 1. } l_name_initials_tl
}
cs_generate_variant:Nn name_define:n { x }
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_full_tl} % name surname
|
u{l_name_initials_tl} s u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , s u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , s u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
ExplSyntaxOff
% Default variable values
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
updatebio{%
name={Billy Zane},
title={Dr.},
dept={Department of Fiction},
uni={University of Utopia},
email={billy.zane@uo.edu},
tel={(098) 765-4321},
web={https://uo.edu/billyzane}
}
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
% Modify hyperref PDF metadata settings
hypersetup{%
pdfsubject={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfauthor={getvalue{title}.~getvalue{name}},
pdftitle={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfkeywords={}
}
title{%
vspace{-2baselineskip}
normalsize
Biographical Sketch\
{largetextbf{getvalue{title}.~getvalue{name}}}\
vspace{0.5baselineskip}
hrule
vspace{0.5baselineskip}
getvalue{dept}, getvalue{uni},
e-mail: href{mailto:getvalue{email}}{getvalue{email}},
tel: getvalue{tel},
website: url{getvalue{web}}
vspace{-1.5ex}
}
author{}
date{}
renewcommand{refname}{}
newcommand{Products}{%
subsection{Products}
vspace{-1cm}
nocite{*}
bibliographystyle{bio}
bibliography{bio}
}
newcommand{product}[1]{item{#1}}
% Change bibliography number
renewcommand{bibnumfmt}[1]{textbf{{#1}.}}
% Bold font author by name
letoriginalbibitembibitem
defbibitem#1#2par{%
noexpandarg%
originalbibitem{#1}%
makebold{#2}%
}
%% Macros to run after begin{document}
AtBeginDocument{%
maketitle
vspace{-4baselineskip}
}
endinput
And last, an example references.bib
file:
@article{Digital1968,
author = {Bob Digital and Mister Roboto},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {0022-5193},
journal = {Journal of Theoretical Theory},
number = {3},
pages = {280--299},
title = {{Some test title to use here just for fun}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {18},
year = {1968}
}
@article{Roboto1948,
author = {Mister Roboto and Bob Digital},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {002-52323},
journal = {Utopiae},
number = {2},
pages = {1--19},
title = {{Another title to use here just for fun!}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {1},
year = {1948}
}
I created a custom bio.bst
file, which is too large to share here. The important thing to know is that it uses the AGU format, where the first author is shown as LASTNAME, FI. MI.
and subsequent authors are shown as FI. MI. LASTNAME
followed by a comma for additional names, where FI == First Initial
and MI == Middle Initial
. Here is a corresponding .bbl
file:
begin{thebibliography}{10}
bibitem{Digital1968}
Digital, B. and M.~Roboto.
newblock {Some test title to use here just for fun}.
newblock emph{Journal of Theoretical Theory}, 18(3):280--299, 1968.
newblock ISSN 022-5193
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
bibitem{Roboto1948}
Roboto, M. and B.~Digital.
newblock {Another title to use here just for fun!}.
newblock emph{Utopiae}, 1(2):1--19, 1948.
newblock ISSN 002-5232.
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
end{thebibliography}
In this test example, I would expect Digital, B.
and B. Digital
to be boldface, regardless of their position in the author list. The issue that I'm having is that citations of the form FI. MI. LASTNAME
are not made boldface. I believe this may be due to the format of the spacing...?
natbib expl3 xparse
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
At least, add the contents of the.bbl
file.
– egreg
Jan 21 at 22:23
@egreg Thank you. I have added a corresponding.bbl
file.
– Adam Erickson
Jan 21 at 23:54
add a comment |
I would like to automatically boldface a single author's entries in a bibliography generated with natbib
. The bio.tex
file looks like this (everything has been fictionalized):
documentclass{bio}
updatebio{%
name={Bob Digital},
title={Prof.},
dept={Department of Antics},
uni={University of Fable},
email={bob.dole@uof.edu},
tel={(123) 456-7890},
web={https://uof.edu/bobdigital}
}
begin{document}
Products
end{document}
The Products
command is the main command of interest, which automatically generates the bibliography from a BibTeX file. The bio.cls
file looks like this:
NeedsTeXFormat{LaTeX2e}
ProvidesClass{bio}[2018/01/11 Stay classy.]
%% Declare article options
DeclareOption{10pt}{OptionNotUsed}
DeclareOption{12pt}{OptionNotUsed}
DeclareOption{a4paper}{OptionNotUsed}
DeclareOption{a5paper}{OptionNotUsed}
DeclareOption{b5paper}{OptionNotUsed}
DeclareOption{executivepaper}{OptionNotUsed}
DeclareOption{legalpaper}{OptionNotUsed}
DeclareOption{draft}{OptionNotUsed}
DeclareOption{twocolumn}{OptionNotUsed}
DeclareOption{fleqn}{OptionNotUsed}
DeclareOption{leqno}{OptionNotUsed}
DeclareOption{landscape}{OptionNotUsed}
DeclareOption{titlepage}{OptionNotUsed}
DeclareOption{openright}{OptionNotUsed}
DeclareOption{openany}{OptionNotUsed}
DeclareOption{11pt}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption{letterpaper}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption*{%
ClassWarning{nsf}{Unknown option 'CurrentOption'}
}
ExecuteOptions{11pt, letterpaper}
ProcessOptions{relax}
LoadClassWithOptions{article}
%% Load packages
RequirePackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
RequirePackage[T1]{fontenc}
RequirePackage{times}
RequirePackage{calc}
RequirePackage{lastpage}
RequirePackage{fancyhdr}
RequirePackage{xspace}
RequirePackage[shortlabels]{enumitem}
RequirePackage{graphicx}
RequirePackage{varioref}
RequirePackage[colorlinks=true,urlcolor=,pdfpagelabels=true,hypertexnames=true,plainpages=false,naturalnames=true,]{hyperref}
RequirePackage{doi}
RequirePackage{xifthen}
RequirePackage[numbers]{natbib}
RequirePackage{xparse}
%% Body of the class, most of the declarations appear here
urlstyle{rm}
renewcommandthesection{(alph{section})}
renewcommandthesubsection{(alph{subsection})}
%newcommand{pageoflastpage}{Page {thepage} of pageref*{LastPage}}
%newcommand{pageoflastpage}{{thepage} of pageref*{LastPage}}
newcommand{pageoflastpage}{}
% Redefine the plain pagestyle for the title page
makeatletter
letoldps@plainps@plain
renewcommand{ps@plain}{oldps@plain%
renewcommand{@evenfoot}{hfilpageoflastpagehfil}%
renewcommand{@oddfoot}{@evenfoot}}
makeatother
% Use fancy for non-title pages
fancyhead{}
fancyfoot{}
cfoot{pageoflastpage}
pagestyle{fancy}
newcommand{ie}{i.e.,xspace}
newcommand{eg}{e.g.,xspace}
% Key-value property store for author
ExplSyntaxOn
NewDocumentCommand{definename}{m}
{
name_define:n { #1 }
}
NewDocumentCommand{makebold}{m}
{
name_makebold:n { #1 }
}
NewDocumentCommand{updatebio}{+m}
{
keys_set:nn {bio} {#1}
name_define:x { prop_item:Nn l_name_bio_prop { name } }
}
cs_new:Npn getvalue#1
{
prop_item:Nn l_name_bio_prop {#1}
}
prop_new:N l_name_bio_prop
keys_define:nn {bio} {%
name .code:n={ prop_put:Nnn l_name_bio_prop {name} {#1} },
title .code:n={ prop_put:Nnn l_name_bio_prop {title} {#1} },
dept .code:n={ prop_put:Nnn l_name_bio_prop {dept} {#1} },
uni .code:n={ prop_put:Nnn l_name_bio_prop {uni} {#1} },
email .code:n={ prop_put:Nnn l_name_bio_prop {email} {#1} },
tel .code:n={ prop_put:Nnn l_name_bio_prop {tel} {#1} },
web .code:n={ prop_put:Nnn l_name_bio_prop {web} {#1} },
}
tl_new:N l_name_full_tl
tl_new:N l_name_first_tl
tl_new:N l_name_last_tl
tl_new:N l_name_initials_tl
tl_new:N l__name_input_tl
cs_new_protected:Nn name_define:n
{
tl_set:Nn l_name_full_tl { #1 }
tl_set_eq:NN l_name_first_tl l_name_full_tl
tl_set_eq:NN l_name_last_tl l_name_full_tl
regex_replace_once:nnN { (.*)s[^s]*Z } { 1 } l_name_first_tl
regex_replace_once:nnN { .*s([^s]*)Z } { 1 } l_name_last_tl
tl_set_eq:NN l_name_initials_tl l_name_first_tl
regex_replace_all:nnN { ([[:alpha:]])[[:alpha:]]+ } { 1. } l_name_initials_tl
}
cs_generate_variant:Nn name_define:n { x }
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_full_tl} % name surname
|
u{l_name_initials_tl} s u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , s u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , s u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
ExplSyntaxOff
% Default variable values
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
updatebio{%
name={Billy Zane},
title={Dr.},
dept={Department of Fiction},
uni={University of Utopia},
email={billy.zane@uo.edu},
tel={(098) 765-4321},
web={https://uo.edu/billyzane}
}
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
% Modify hyperref PDF metadata settings
hypersetup{%
pdfsubject={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfauthor={getvalue{title}.~getvalue{name}},
pdftitle={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfkeywords={}
}
title{%
vspace{-2baselineskip}
normalsize
Biographical Sketch\
{largetextbf{getvalue{title}.~getvalue{name}}}\
vspace{0.5baselineskip}
hrule
vspace{0.5baselineskip}
getvalue{dept}, getvalue{uni},
e-mail: href{mailto:getvalue{email}}{getvalue{email}},
tel: getvalue{tel},
website: url{getvalue{web}}
vspace{-1.5ex}
}
author{}
date{}
renewcommand{refname}{}
newcommand{Products}{%
subsection{Products}
vspace{-1cm}
nocite{*}
bibliographystyle{bio}
bibliography{bio}
}
newcommand{product}[1]{item{#1}}
% Change bibliography number
renewcommand{bibnumfmt}[1]{textbf{{#1}.}}
% Bold font author by name
letoriginalbibitembibitem
defbibitem#1#2par{%
noexpandarg%
originalbibitem{#1}%
makebold{#2}%
}
%% Macros to run after begin{document}
AtBeginDocument{%
maketitle
vspace{-4baselineskip}
}
endinput
And last, an example references.bib
file:
@article{Digital1968,
author = {Bob Digital and Mister Roboto},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {0022-5193},
journal = {Journal of Theoretical Theory},
number = {3},
pages = {280--299},
title = {{Some test title to use here just for fun}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {18},
year = {1968}
}
@article{Roboto1948,
author = {Mister Roboto and Bob Digital},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {002-52323},
journal = {Utopiae},
number = {2},
pages = {1--19},
title = {{Another title to use here just for fun!}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {1},
year = {1948}
}
I created a custom bio.bst
file, which is too large to share here. The important thing to know is that it uses the AGU format, where the first author is shown as LASTNAME, FI. MI.
and subsequent authors are shown as FI. MI. LASTNAME
followed by a comma for additional names, where FI == First Initial
and MI == Middle Initial
. Here is a corresponding .bbl
file:
begin{thebibliography}{10}
bibitem{Digital1968}
Digital, B. and M.~Roboto.
newblock {Some test title to use here just for fun}.
newblock emph{Journal of Theoretical Theory}, 18(3):280--299, 1968.
newblock ISSN 022-5193
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
bibitem{Roboto1948}
Roboto, M. and B.~Digital.
newblock {Another title to use here just for fun!}.
newblock emph{Utopiae}, 1(2):1--19, 1948.
newblock ISSN 002-5232.
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
end{thebibliography}
In this test example, I would expect Digital, B.
and B. Digital
to be boldface, regardless of their position in the author list. The issue that I'm having is that citations of the form FI. MI. LASTNAME
are not made boldface. I believe this may be due to the format of the spacing...?
natbib expl3 xparse
I would like to automatically boldface a single author's entries in a bibliography generated with natbib
. The bio.tex
file looks like this (everything has been fictionalized):
documentclass{bio}
updatebio{%
name={Bob Digital},
title={Prof.},
dept={Department of Antics},
uni={University of Fable},
email={bob.dole@uof.edu},
tel={(123) 456-7890},
web={https://uof.edu/bobdigital}
}
begin{document}
Products
end{document}
The Products
command is the main command of interest, which automatically generates the bibliography from a BibTeX file. The bio.cls
file looks like this:
NeedsTeXFormat{LaTeX2e}
ProvidesClass{bio}[2018/01/11 Stay classy.]
%% Declare article options
DeclareOption{10pt}{OptionNotUsed}
DeclareOption{12pt}{OptionNotUsed}
DeclareOption{a4paper}{OptionNotUsed}
DeclareOption{a5paper}{OptionNotUsed}
DeclareOption{b5paper}{OptionNotUsed}
DeclareOption{executivepaper}{OptionNotUsed}
DeclareOption{legalpaper}{OptionNotUsed}
DeclareOption{draft}{OptionNotUsed}
DeclareOption{twocolumn}{OptionNotUsed}
DeclareOption{fleqn}{OptionNotUsed}
DeclareOption{leqno}{OptionNotUsed}
DeclareOption{landscape}{OptionNotUsed}
DeclareOption{titlepage}{OptionNotUsed}
DeclareOption{openright}{OptionNotUsed}
DeclareOption{openany}{OptionNotUsed}
DeclareOption{11pt}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption{letterpaper}{
PassOptionsToClass{CurrentOption}{article}
}
DeclareOption*{%
ClassWarning{nsf}{Unknown option 'CurrentOption'}
}
ExecuteOptions{11pt, letterpaper}
ProcessOptions{relax}
LoadClassWithOptions{article}
%% Load packages
RequirePackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
RequirePackage[T1]{fontenc}
RequirePackage{times}
RequirePackage{calc}
RequirePackage{lastpage}
RequirePackage{fancyhdr}
RequirePackage{xspace}
RequirePackage[shortlabels]{enumitem}
RequirePackage{graphicx}
RequirePackage{varioref}
RequirePackage[colorlinks=true,urlcolor=,pdfpagelabels=true,hypertexnames=true,plainpages=false,naturalnames=true,]{hyperref}
RequirePackage{doi}
RequirePackage{xifthen}
RequirePackage[numbers]{natbib}
RequirePackage{xparse}
%% Body of the class, most of the declarations appear here
urlstyle{rm}
renewcommandthesection{(alph{section})}
renewcommandthesubsection{(alph{subsection})}
%newcommand{pageoflastpage}{Page {thepage} of pageref*{LastPage}}
%newcommand{pageoflastpage}{{thepage} of pageref*{LastPage}}
newcommand{pageoflastpage}{}
% Redefine the plain pagestyle for the title page
makeatletter
letoldps@plainps@plain
renewcommand{ps@plain}{oldps@plain%
renewcommand{@evenfoot}{hfilpageoflastpagehfil}%
renewcommand{@oddfoot}{@evenfoot}}
makeatother
% Use fancy for non-title pages
fancyhead{}
fancyfoot{}
cfoot{pageoflastpage}
pagestyle{fancy}
newcommand{ie}{i.e.,xspace}
newcommand{eg}{e.g.,xspace}
% Key-value property store for author
ExplSyntaxOn
NewDocumentCommand{definename}{m}
{
name_define:n { #1 }
}
NewDocumentCommand{makebold}{m}
{
name_makebold:n { #1 }
}
NewDocumentCommand{updatebio}{+m}
{
keys_set:nn {bio} {#1}
name_define:x { prop_item:Nn l_name_bio_prop { name } }
}
cs_new:Npn getvalue#1
{
prop_item:Nn l_name_bio_prop {#1}
}
prop_new:N l_name_bio_prop
keys_define:nn {bio} {%
name .code:n={ prop_put:Nnn l_name_bio_prop {name} {#1} },
title .code:n={ prop_put:Nnn l_name_bio_prop {title} {#1} },
dept .code:n={ prop_put:Nnn l_name_bio_prop {dept} {#1} },
uni .code:n={ prop_put:Nnn l_name_bio_prop {uni} {#1} },
email .code:n={ prop_put:Nnn l_name_bio_prop {email} {#1} },
tel .code:n={ prop_put:Nnn l_name_bio_prop {tel} {#1} },
web .code:n={ prop_put:Nnn l_name_bio_prop {web} {#1} },
}
tl_new:N l_name_full_tl
tl_new:N l_name_first_tl
tl_new:N l_name_last_tl
tl_new:N l_name_initials_tl
tl_new:N l__name_input_tl
cs_new_protected:Nn name_define:n
{
tl_set:Nn l_name_full_tl { #1 }
tl_set_eq:NN l_name_first_tl l_name_full_tl
tl_set_eq:NN l_name_last_tl l_name_full_tl
regex_replace_once:nnN { (.*)s[^s]*Z } { 1 } l_name_first_tl
regex_replace_once:nnN { .*s([^s]*)Z } { 1 } l_name_last_tl
tl_set_eq:NN l_name_initials_tl l_name_first_tl
regex_replace_all:nnN { ([[:alpha:]])[[:alpha:]]+ } { 1. } l_name_initials_tl
}
cs_generate_variant:Nn name_define:n { x }
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_full_tl} % name surname
|
u{l_name_initials_tl} s u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , s u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , s u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
ExplSyntaxOff
% Default variable values
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
updatebio{%
name={Billy Zane},
title={Dr.},
dept={Department of Fiction},
uni={University of Utopia},
email={billy.zane@uo.edu},
tel={(098) 765-4321},
web={https://uo.edu/billyzane}
}
%%%%%%%%%%%%%%%%%%%%%%%% FOR MODIFICATION %%%%%%%%%%%%%%%%%%%%%%%%
% Modify hyperref PDF metadata settings
hypersetup{%
pdfsubject={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfauthor={getvalue{title}.~getvalue{name}},
pdftitle={A Biographical Sketch of getvalue{title}.~getvalue{name}},
pdfkeywords={}
}
title{%
vspace{-2baselineskip}
normalsize
Biographical Sketch\
{largetextbf{getvalue{title}.~getvalue{name}}}\
vspace{0.5baselineskip}
hrule
vspace{0.5baselineskip}
getvalue{dept}, getvalue{uni},
e-mail: href{mailto:getvalue{email}}{getvalue{email}},
tel: getvalue{tel},
website: url{getvalue{web}}
vspace{-1.5ex}
}
author{}
date{}
renewcommand{refname}{}
newcommand{Products}{%
subsection{Products}
vspace{-1cm}
nocite{*}
bibliographystyle{bio}
bibliography{bio}
}
newcommand{product}[1]{item{#1}}
% Change bibliography number
renewcommand{bibnumfmt}[1]{textbf{{#1}.}}
% Bold font author by name
letoriginalbibitembibitem
defbibitem#1#2par{%
noexpandarg%
originalbibitem{#1}%
makebold{#2}%
}
%% Macros to run after begin{document}
AtBeginDocument{%
maketitle
vspace{-4baselineskip}
}
endinput
And last, an example references.bib
file:
@article{Digital1968,
author = {Bob Digital and Mister Roboto},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {0022-5193},
journal = {Journal of Theoretical Theory},
number = {3},
pages = {280--299},
title = {{Some test title to use here just for fun}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {18},
year = {1968}
}
@article{Roboto1948,
author = {Mister Roboto and Bob Digital},
doi = {https://doi.org/10.1016/0022-5193(68)90079-9},
issn = {002-52323},
journal = {Utopiae},
number = {2},
pages = {1--19},
title = {{Another title to use here just for fun!}},
url = {http://www.sciencedirect.com/science/article/pii/0022519368900799},
volume = {1},
year = {1948}
}
I created a custom bio.bst
file, which is too large to share here. The important thing to know is that it uses the AGU format, where the first author is shown as LASTNAME, FI. MI.
and subsequent authors are shown as FI. MI. LASTNAME
followed by a comma for additional names, where FI == First Initial
and MI == Middle Initial
. Here is a corresponding .bbl
file:
begin{thebibliography}{10}
bibitem{Digital1968}
Digital, B. and M.~Roboto.
newblock {Some test title to use here just for fun}.
newblock emph{Journal of Theoretical Theory}, 18(3):280--299, 1968.
newblock ISSN 022-5193
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
bibitem{Roboto1948}
Roboto, M. and B.~Digital.
newblock {Another title to use here just for fun!}.
newblock emph{Utopiae}, 1(2):1--19, 1948.
newblock ISSN 002-5232.
newblock doi{https://doi.org/10.1016/0022-5193(68)90079-9}.
end{thebibliography}
In this test example, I would expect Digital, B.
and B. Digital
to be boldface, regardless of their position in the author list. The issue that I'm having is that citations of the form FI. MI. LASTNAME
are not made boldface. I believe this may be due to the format of the spacing...?
natbib expl3 xparse
natbib expl3 xparse
edited Jan 21 at 23:53
Adam Erickson
asked Jan 20 at 23:12
Adam EricksonAdam Erickson
1918
1918
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
At least, add the contents of the.bbl
file.
– egreg
Jan 21 at 22:23
@egreg Thank you. I have added a corresponding.bbl
file.
– Adam Erickson
Jan 21 at 23:54
add a comment |
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
At least, add the contents of the.bbl
file.
– egreg
Jan 21 at 22:23
@egreg Thank you. I have added a corresponding.bbl
file.
– Adam Erickson
Jan 21 at 23:54
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
At least, add the contents of the
.bbl
file.– egreg
Jan 21 at 22:23
At least, add the contents of the
.bbl
file.– egreg
Jan 21 at 22:23
@egreg Thank you. I have added a corresponding
.bbl
file.– Adam Erickson
Jan 21 at 23:54
@egreg Thank you. I have added a corresponding
.bbl
file.– Adam Erickson
Jan 21 at 23:54
add a comment |
1 Answer
1
active
oldest
votes
You can immediately see from the .bbl
file that ~
is used, which is not the same as a space.
Just change the definition of name_makebold:n
to
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_first_tl} (s|~) u{l_name_last_tl} % name surname
|
u{l_name_initials_tl} (s|~) u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , (s|~) u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , (s|~) u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
Remove noexpandarg
that doesn't make sense (it is an xstring
command).
Thank you! Yes, I was not sure of the syntax needed to account for the~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removednoexpandarg
, but forgot to remove it here.
– Adam Erickson
Jan 22 at 20:00
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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%2f471062%2fautomatic-bold-formatting-of-author-name-in-bibliography%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can immediately see from the .bbl
file that ~
is used, which is not the same as a space.
Just change the definition of name_makebold:n
to
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_first_tl} (s|~) u{l_name_last_tl} % name surname
|
u{l_name_initials_tl} (s|~) u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , (s|~) u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , (s|~) u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
Remove noexpandarg
that doesn't make sense (it is an xstring
command).
Thank you! Yes, I was not sure of the syntax needed to account for the~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removednoexpandarg
, but forgot to remove it here.
– Adam Erickson
Jan 22 at 20:00
add a comment |
You can immediately see from the .bbl
file that ~
is used, which is not the same as a space.
Just change the definition of name_makebold:n
to
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_first_tl} (s|~) u{l_name_last_tl} % name surname
|
u{l_name_initials_tl} (s|~) u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , (s|~) u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , (s|~) u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
Remove noexpandarg
that doesn't make sense (it is an xstring
command).
Thank you! Yes, I was not sure of the syntax needed to account for the~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removednoexpandarg
, but forgot to remove it here.
– Adam Erickson
Jan 22 at 20:00
add a comment |
You can immediately see from the .bbl
file that ~
is used, which is not the same as a space.
Just change the definition of name_makebold:n
to
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_first_tl} (s|~) u{l_name_last_tl} % name surname
|
u{l_name_initials_tl} (s|~) u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , (s|~) u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , (s|~) u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
Remove noexpandarg
that doesn't make sense (it is an xstring
command).
You can immediately see from the .bbl
file that ~
is used, which is not the same as a space.
Just change the definition of name_makebold:n
to
cs_new_protected:Nn name_makebold:n
{
tl_set:Nn l__name_input_tl { #1 }
% full name
regex_replace_all:nnN
{
(
u{l_name_first_tl} (s|~) u{l_name_last_tl} % name surname
|
u{l_name_initials_tl} (s|~) u{l_name_last_tl} % initials surname
|
u{l_name_last_tl} , (s|~) u{l_name_first_tl} % surname, name
|
u{l_name_last_tl} , (s|~) u{l_name_initials_tl} % surname, initials
)
}
{ c{textbf} cB{ 1 cE} }
l__name_input_tl
% print
tl_use:N l__name_input_tl
}
Remove noexpandarg
that doesn't make sense (it is an xstring
command).
answered Jan 22 at 7:54
egregegreg
716k8619003188
716k8619003188
Thank you! Yes, I was not sure of the syntax needed to account for the~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removednoexpandarg
, but forgot to remove it here.
– Adam Erickson
Jan 22 at 20:00
add a comment |
Thank you! Yes, I was not sure of the syntax needed to account for the~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removednoexpandarg
, but forgot to remove it here.
– Adam Erickson
Jan 22 at 20:00
Thank you! Yes, I was not sure of the syntax needed to account for the
~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removed noexpandarg
, but forgot to remove it here.– Adam Erickson
Jan 22 at 20:00
Thank you! Yes, I was not sure of the syntax needed to account for the
~
. I thought this was the issue, which is what I meant by spacing. I need to learn LaTeX3... I had removed noexpandarg
, but forgot to remove it here.– Adam Erickson
Jan 22 at 20:00
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f471062%2fautomatic-bold-formatting-of-author-name-in-bibliography%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
Without the bib style or the indication of one that produces the same output, as far as the names are concerned, how can we test it?
– egreg
Jan 21 at 22:09
At least, add the contents of the
.bbl
file.– egreg
Jan 21 at 22:23
@egreg Thank you. I have added a corresponding
.bbl
file.– Adam Erickson
Jan 21 at 23:54