Может ли biblatex-publist исключить имена, включающие в себя инициалы отчества, не исключая при этом все имена, которые совпадают с моей фамилией?

Может ли biblatex-publist исключить имена, включающие в себя инициалы отчества, не исключая при этом все имена, которые совпадают с моей фамилией?

Сегодня я составлял список публикаций. Я начал с копирования его из своего резюме, где я всегда вручную вел список. Однако недавно я заметил, biblatex-publistпоэтому подумал, что стоит попробовать.

Этот вопрос касается первой из трех проблем, с которыми я столкнулся. С моей точки зрения, это также самая фундаментальная проблема.

Одной из ключевых особенностей пакета является то, что он позволяет вам опускать собственное имя из списка авторов для публикаций, как это обычно делается при составлении списка. Однако я не могу заставить это работать хорошо, потому что я публикую, используя 'FirstName MiddleInitial. Surname', поэтому это authorуказано как Surname, First M.. Если я прошу опустить все имена с моей фамилией, это работает нормально. Однако у меня очень распространенная фамилия, так что это не хорошее решение. (Это сработало бы в этом случае, но я не хочу полагаться на это.) Тем не менее, любая моя попытка указать свое имя - например, как Firstили как - First M.вообще не опускает мое имя.

Я не уверен, что я неправильно понял синтаксис, но я экспериментировал с именем соавтора, который не использует инициал отчества, и указание и фамилии, и имени сработало в этом случае, как и ожидалось. Так что это определенно связано с инициалом отчества, похоже.

Вот 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}

который производит:

Список литературы по-прежнему включает пропущенное имя автора

Я также попробовал следующее с тем же результатом:

\omitname[Me]{Mine}

Есть ли простой способ исправить это так, чтобы пропуск работал даже для авторов, которые используют отчество при публикации?

Обратите внимание, что я не особенно привязан к biblatex-publist. Если есть альтернативный метод, это было бы прекрасно. (Тем более, что это не единственная трудность, с которой я сталкиваюсь, biblatex-publistтак что альтернатива может быть предпочтительнее!)

решение1

Если мы посмотрим на .bblфайл (созданный Бибером), то увидим, что простой вариант author = {Mine, Me I.}становится (разрывы строк были вставлены для удобства чтения)

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

Что касается biblatexпервого имени «Mine, Me I.» Me\bibnamedelima I., то его нужно сверить с этим именем:

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

Полный код

\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}

введите описание изображения здесь


Для .bblфайлов, созданных BibTeX, author = {Mine, Me I.}становится

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

следовательно, мы должны \omitname[Me~I.]{Mine}здесь.


Пока biblatex-publistне будут использоваться хэши для сравнения имен, лучшим вариантом будет найти имя в том виде, в котором оно отформатировано в .bblфайле, и скопировать оттуда имя и фамилию в \omitnameмакрос.

Также имейте в виду, что в настоящее время biblatex-publistсравниваются только имена и фамилии, а не части «младший/фон» (префикс и суффикс), поэтому вы можете пропустить слишком много (в очень редких случаях).

решение2

Я решил проблему по-другому, поскольку невозможно использовать хэши имен с текущим пользовательским интерфейсом пакета. В версии 0.9 пакета (которая как раз сейчас на пути к CTAN) проблема должна быть исправлена. Кроме того, я добавил второй необязательный аргумент для \omitnameпрефикса имени (он же von-part).

Связанный контент