2

I am using Citavi to create my bib-files. The Applicant field of patents in Citavi is exported to the holder bibtex field. There are many entries in the form of "Glaxo Group, Ltd.", which Citavi exports as

holder = {{Glaxo Group}, Ltd.}

and biblatex (using chem-angew) prints this as "L. Glaxo Group".

Because I can't change the output of the Citavi export and I do not want to manually change my bib-file everytime I export it from Citavi, I would either need to have my code change the value of the field to

holder = {{Glaxo Group, Ltd.}}

or similar or have only the holder field not use abbreviated Names and print "Last Name, First Name", I guess.

The latter I achieved by declaring my own name format patentcompany and using that format in the renewed bibmacro byholder (see MWE below). But I would still like to know:

Is it possible to modify the content of the holder field as described above?

MWE:

\documentclass{article} 

\usepackage[backend=biber, style=chem-angew]{biblatex}

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@patent{Bertani.2007,
  abstract = {Iodierung ist Preparation 60, PDF-S. 95},
  author = {Bertani, Barbara and Bonanomi, Giorgio and Capelli, Anna Maria and Checchia, Anna and Di Fabio, Romano and Gentile, Gabriella and Micheli, Fabrizio and Pasquarello, Alessandra and Tedesco, Giovanna and Terreni, Silvia},
    year = {2007},
    title = {Azabicyclo[3.1.0]hexyl Derivatives as Modulators of Dopamine D3 Receptors},
    Holder = {{Glaxo Group}, Ltd.},
    number = {WO 2007/113232 A1},
    type = {Patent}
}

@patent{Chobanian.2009,
    author = {Chobanian, Harry and Lin, Linus S. and Liu, Ping and Chioda, Marc D. and Devita, Robert J. and Nargund, Ravi P. and Guo, Yan},
    year = {2009},
    title = {Oxazole derivatives useful as inhibitors of faah},
    Holder = {{Merck {\&} Co.}, Inc.},
    number = {WO 2010/017079 A1},
    type = {Patent}
}

@patent{Hongu.2002,
  author = {Hongu, Mitsuya and Hosaka, Thoshihiro and Kashiwagi, Toshihiko and Kono, Rikako and Kobayashi, Hiroyuki},
  year = {2002},
  title = {Imidazole, thiazole and oxazole derivatives and their use for the manufacture of a medicament for the treatment and/or prevention of pollakiuria or urinary incontinence},
  Holder = {{Tanabe Seiyaku Co.}, Ltd.},
  number = {WO 2002/083111 A2},
  type = {Patent}
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\DeclareNameFormat{patentcompany}{%
  \nameparts{#1}%
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiven}
    {\namepartprefix}
    {\namepartsuffix}%
  \usebibmacro{name:andothers}%
  }
\renewbibmacro*{byholder}{%
  \ifnameundef{holder}%
    {}
    {\printtext[parens]{\printnames[patentcompany]{holder}}}
  }

\begin{document}
  \nocite{*}

  \printbibliography
\end{document}
4
  • You should definitely complain to the Citavi people. Corporate names must always be given entirely wrapped in braces, not just bits of it. Not sure if you may be able to change this in the Citavi input by explicitly forcing braces and writing {Glaxo Group, Ltd.}
    – moewe
    Commented Mar 6, 2018 at 14:54
  • I did post an inquiry with Citavi and am currently awaiting their response. I actually tried the manual braces in Citavi and it produces errors when compiling, as it exports to holder = {{{Glaxo Group}, Ltd.}}.
    – basseur
    Commented Mar 6, 2018 at 15:10
  • Holder = {{{Glaxo Group}, Ltd.}}, should work with biblatex 3.11/Biber 2.11 following tex.stackexchange.com/q/414685/35864 and github.com/plk/biber/issues/210. But it is still wrong. A general rule is to place as few braces in a name field as possible. Biber has a really hard time juggling all the demands for braces and their meanings: github.com/plk/biber/issues/215
    – moewe
    Commented Mar 6, 2018 at 15:20
  • I assume this is your post on the Citavi forum: help.citavi.com/en/topic/…
    – moewe
    Commented Mar 6, 2018 at 17:21

1 Answer 1

4

This should definitely be fixed on the input side. Maybe it is enough to add to correct number of braces yourself when you enter the information in Citavi, i.e. write

{Glaxo Group, Ltd.}

instead of Glaxo Group, Ltd. or {Glaxo Group}, Ltd.. If that does not help, or Citavi disregards this bracing, you should complain to the Citavi people. It is a well known feature of both Biber and BibTeX that 'corporate' names should be wrapped in curly braces in its entirety to avoid them being split up and parsed as names with a family and given name. See Using a 'corporate author' in the "author" field of a bibliographic entry (spelling out the name in full) and §2.3.3 Corporate Authors and Editors of the biblatex documentation. The documentation even mentions this explicitly when discussing the holder name list (p. 20)

Note that corporate holders need to be wrapped in an additional set of braces, see §2.3.3 for details.

If I understand correctly, Citavi is a commercial software and you (or your institution) pays for it.

Here is a RegEx in a sourcemap that tries to fix things for you.

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=holder,
            match=\regexp{\A\{(.+)\},\s+(.+)\Z},
            replace=\regexp{\{$1,\x20$2\}}]
    }
  }
}

Takes all holders of the form {Blah}, Blub and transforms them to {Bla, Blub}. This went surprisingly well even for {Merck {\&} Co.}, Inc., but I cannot guarantee that it does not brake for more weird input.

\documentclass{article} 
\usepackage[backend=biber, style=chem-angew]{biblatex}
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@patent{Bertani.2007,
  abstract = {Iodierung ist Preparation 60, PDF-S. 95},
  author = {Bertani, Barbara and Bonanomi, Giorgio and Capelli, Anna Maria and Checchia, Anna and Di Fabio, Romano and Gentile, Gabriella and Micheli, Fabrizio and Pasquarello, Alessandra and Tedesco, Giovanna and Terreni, Silvia},
    year = {2007},
    title = {Azabicyclo[3.1.0]hexyl Derivatives as Modulators of Dopamine D3 Receptors},
    Holder = {{Glaxo Group}, Ltd.},
    number = {WO 2007/113232 A1},
    type = {patent},
}

@patent{Chobanian.2009,
    author = {Chobanian, Harry and Lin, Linus S. and Liu, Ping and Chioda, Marc D. and Devita, Robert J. and Nargund, Ravi P. and Guo, Yan},
    year = {2009},
    title = {Oxazole derivatives useful as inhibitors of faah},
    Holder = {{Merck {\&} Co.}, Inc.},
    number = {WO 2010/017079 A1},
    type = {Patent},
}

@patent{Hongu.2002,
  author = {Hongu, Mitsuya and Hosaka, Thoshihiro and Kashiwagi, Toshihiko and Kono, Rikako and Kobayashi, Hiroyuki},
  year = {2002},
  title = {Imidazole, thiazole and oxazole derivatives and their use for the manufacture of a medicament for the treatment and/or prevention of pollakiuria or urinary incontinence},
  Holder = {{Tanabe Seiyaku Co.}, Ltd.},
  number = {WO 2002/083111 A2},
  type = {Patent},
}
\end{filecontents*}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=holder,
            match=\regexp{\A\{(.+)\},\s+(.+)\Z},
            replace=\regexp{\{$1,\x20$2\}}]
    }
  }
}

\addbibresource{\jobname.bib}

\begin{document}
  \nocite{*}

  \printbibliography
\end{document}

enter image description here

3
  • I suppose, the (\A|\s+and\s+) and (\Z|\s+\and\s+) expressions are supposed to allow for a list of names as in holder = {{Glaxo Group}, Ltd. and {Some Firm}, Inc.}? That does not seem to work. However, since Citavi won't export the names in a list (separated by and) anyway this is not necessary and the term (\A)\{(.+)\},\s+(.+)(\Z) suffices. (or \A\{(.+)\},\s+(.+)\Z if you replace by `\{$1,\x20$2` of course).
    – basseur
    Commented Mar 6, 2018 at 16:48
  • 1
    @basseur Ah yes, capturing groups of braces is a pain in RegEx (see stackoverflow.com/questions/546433). I intended it to work for Holder = {{Glaxo Group}, Ltd. and Anne Elk},. But not even that works, ...
    – moewe
    Commented Mar 6, 2018 at 16:54
  • 1
    @basseur I have removed the parts that don't work to make the RegExp simpler to understand and easier to compute.
    – moewe
    Commented Mar 6, 2018 at 17:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .