Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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:

Reference list still including omitted author's name

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!)

share|improve this question
    
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 at 0:27
1  
@moewe is right - you should use hashes to do this really –  PLK Mar 9 at 16:29
1  
I mean biblatex-publist should compare using the name hashes. –  PLK Mar 10 at 10:11
2  
@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 at 9:16
2  
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 at 20:06
show 8 more comments

2 Answers 2

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*}
\addbibresource{\jobname.bib}

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

enter image description here


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).

share|improve this answer
add comment

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).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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