
Сегодня я составлял список публикаций. Я начал с копирования его из своего резюме, где я всегда вручную вел список. Однако недавно я заметил, 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).