Ссылка на главу книги для журнала Springer с использованием BibTeX

Ссылка на главу книги для журнала Springer с использованием BibTeX

Журнал Springer требует от авторов ссылаться на главу книги следующим образом:

О'Нил, Дж. М. и Эган, Дж. (1992). Мужские и женские гендерные ролевые путешествия: метафора исцеления, перехода и трансформации. В BR Wainrib (ред.),Гендерные проблемы на протяжении жизненного цикла(стр. 107–123). Нью-Йорк: Springer.

Для соблюдения других требований к стилю цитирования я используюапаликебиблиографический стиль. Однако, когда я использую@incollectionнабираю в BibTeX и получаю следующий вывод:

О'Нил, Дж. М. и Эган, Дж. (1992). Мужские и женские гендерные ролевые путешествия: метафора исцеления, перехода и трансформации. В Wainrib, BR, редакторы,Гендерные проблемы на протяжении жизненного цикла, страницы 107–123. Нью-Йорк: Springer.

Таким образом, вместо Wainrib, B. R.Я получаю B. R. Wainrib; вместо (Ed.),Я получаю , editors,и вместо (pp. 107-123).Я получаю, pages 107-123.

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

Я пробовал другие стили (chicago, apacite, apa, plainnat, spbasic), но безуспешно.

Мой код BibTeX:

@incollection{ONeil1992,
author="O'Neil, J. M. and Egan, J.",
title="Men's and women's gender role journeys: Metaphor for healing, transition, and transformation",
editor="Wainrib, B. R.",
booktitle="Gender issues across the life cycle",
year="1992",
publisher="New York: Springer",
pages="107--123"
}

решение1

Если кто-то столкнется с той же проблемой, вот как можно изменитьapalike.bst(доступныйздесь) для получения требуемого стиля цитирования (также между именами авторов andзаменяется на &):

  1. Вставьте следующую функцию ниже FUNCTION {format.names}{ ... }:
FUNCTION {format.editor.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{f. }{vv~}{ll}{, jj}" format.name$ 't :=   % last name first
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " \& " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}
  1. Замените FUNCTION {format.editors}строку { editor format.namesна{ editor format.editor.names
  2. В той же функции замените { ", editors" * }на { " (Eds.)" * }и { ", editor" * }на{ " (Ed.)" * }
  3. В FUNCTION {format.pages}замене { "pages" pages n.dashify tie.or.space.connect }на { "(pp. " pages n.dashify * ")" * tie.or.space.connect }и { "page" pages tie.or.space.connect }на{ "(p. " pages * ")" * tie.or.space.connect }
  4. Заменить наFUNCTION {format.names}{ " and " * t * }{ " \& " * t * }
  5. Наконец, FUNCTION {format.chapter.pages}уберите запятую из{ ", " * format.pages * }

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