# Can biblatex-publist omit names which include middle initials without omitting all names which share my surname?

I was putting together a publication list today. I started by copying it from my CV where I have always managed the list manually. However, I recently noticed biblatex-publist so I thought I would give that a go.

This question concerns the first of three problems I encountered. From my point of view, this is also the most fundamental.

One key feature of the package is that it allows you to omit your own name from the list of authors for publications, as is usual when making a list. However, I cannot get this to work well because I publish using 'FirstName MiddleInitial. Surname' so that author is specified as Surname, First M.. If I ask for all names with my surname to be omitted, it works fine. However, I have a really common surname so this isn't a good solution. (It would work for this case but I don't want to rely on it.) Yet any attempt I make to specify my first name - e.g. as First or as First M. doesn't omit my name at all.

I'm not sure if I've misunderstood the syntax but I experimented with the name of a coauthor who does not use a middle initial, and specifying both surname and first name worked as expected in that case. So it definitely has to do with the middle initial, it seems.

Here is an MWE:

\documentclass{article}
\usepackage{filecontents}
\usepackage[bibstyle=publist,backend=biber]{biblatex}
\omitname[Me I.]{Mine}
\bibliography{\jobname}
\begin{filecontents}{\jobname.bib}
@article{my-article,
author = {Mine, Me I.},
title = {Paper I Wrote},
journal = {Some Journal},
year = 1022,
pages = {99--117},
volume = 45,
number = 2}
\end{filecontents}

\begin{document}

\nocite{my-article}

\printbibliography

\end{document}


which produces:

I also tried the following with the same results:

\omitname[Me]{Mine}


Is there an easy way to correct this so that the omission works even for authors who use middle initials to publish?

Note that I am not especially attached to biblatex-publist. If there's an alternative method, that would be fine. (Especially true since this is not the only difficulty I have using biblatex-publist so an alternative might well be preferable!)

-
From looking at publist.bbx, it seems that middle initials are not handled explicitly. Something in the \bpl@normalize macro is handling the spaces in the bibtex version of the "Firstname MI." sequence differently than it does what is passed to \omitname. I suspect an email to Jürgen Spitzmüller would clear things up, though... – cslstr Mar 9 '14 at 0:27
@moewe is right - you should use hashes to do this really – PLK Mar 9 '14 at 16:29
I mean biblatex-publist should compare using the name hashes. – PLK Mar 10 '14 at 10:11
@PLK can you tell me how I would generate a proper namehash within the bbx file from what the user input in the \omitname macro? I do not quite understand how I would create the hash for comparison. – JSpitzm Mar 12 '14 at 9:16
Hmm, I see your point. You can't do that in the .bbx since biber creates the hashes. You could potentially make \omitname take a citekey of as argument which points to a dataonly .bib entry containing the name you want. Then it would be in the .bbl so you could get the hash but would not be in the bibliography? – PLK Mar 12 '14 at 20:06

If we have a look at the .bbl file (as created by Biber) we can see that the simple author = {Mine, Me I.} becomes (line breaks were inserted for readability)

  \name{author}{1}{}{%
{{hash=41274140480afc1dcd1fc7fc1b6f2529}
{Mine}
{M\bibinitperiod}
{Me\bibnamedelima I.}
{M\bibinitperiod\bibinitdelim I\bibinitperiod}
{}{}{}{}}%
}


As far as biblatex is concerned, the first name of "Mine, Me I." is Me\bibnamedelima I., so we have to check against that name:

\omitname[Me\bibnamedelima I.]{Mine}


Full code

\documentclass{article}
\usepackage{filecontents}
\usepackage[bibstyle=publist,backend=biber]{biblatex}
\omitname[Me\bibnamedelima I.]{Mine}
\begin{filecontents*}{\jobname.bib}
@article{my-article,
author  = {Mine, Me I.},
title   = {Paper I Wrote},
journal = {Some Journal},
year    = 1022,
pages   = {99--117},
volume  = 45,
number  = 2,
}
@article{my-article-w,
author  = {Mine, Me I. and von Last, Jr, First},
title   = {Paper I Wrote With Someone Else},
journal = {Some Journal},
year    = 1023,
pages   = {23--45},
volume  = 2,
number  = 5,
}
\end{filecontents*}

\begin{document}
\nocite{my-article,my-article-w}
\printbibliography
\end{document}


For .bbl files created by BibTeX, author = {Mine, Me I.} becomes

\name{author}{1}{}{%
{{}%
{Mine}{M.}%
{Me~I.}{M.~I.}%
{}{}%
{}{}}%
}


consequently, we have to \omitname[Me~I.]{Mine} here.

Until biblatex-publist uses hashes to compare names your best bet is to look up the name as formatted in the .bbl file and copy the first and last name from there to the \omitname macro.

Also be aware of the fact that currently biblatex-publist only compares first and last names and not Jr./von (pre and suffix) parts, so you might end up omitting too much (in very rare cases).

-

I dealt with the problem differently, since it is not possible to use name hashes with the current UI of the package. In version 0.9 of the package (on its way to CTAN just now), the problem should be fixed. Also, I have added a second optional argument to \omitname for name prefix (aka von-part).

-