ОК, это хорошо вне моего предыдущего опыта работы с BibTeX, но, глядя на файл, создается впечатление, что раздел name.or.dash
заменяет имя тире, если оно совпадает с Предыдущая. Я предлагаю попробовать заменить этот код:
FUNCTION {name.or.dash}
{ 's :=
oldname empty$
{ s 'oldname := s }
{ s oldname =
{ "\rule[.6ex]{3em}{.05ex}"}
{ s 'oldname := s }
if$
}
if$
}
с этим:
FUNCTION {name.or.dash}
{
}
Если мое понимание синтаксиса правильное, это должно просто удалить сравнение и необязательное изменение и оставить имя по вашему желанию.
Немного более аккуратный подход может заключаться в том, чтобы принимать звонки на номер name.or.dash
в тех местах, которые вам не нужны. Это даст вам больше гибкости в том, хотите ли вы использовать тире вместо, например, повторного названия книги.