
Я работаю над статьей для журнала Springer, и спецификации для рукописей четко просят выделять курсивом все названия журналов и заголовки книг. Делать это вручную кажется глупым, поэтому я думаю, есть ли способ заставить стиль BibTeX сделать это за меня. В настоящее время я используюspbasic.bst
(совместимая с natbib штука), и у меня нет опыта в этом непонятном .bst
языке. Есть какие-нибудь подсказки?
решение1
Как вы говорите, язык стека BibTeX немного сложен. Здесь нам нужно изменить две функции. В переименованной копии spbasic.bst
сначала нужно сделать названия журналов курсивом, изменив FUNCTION {article}
. Он содержит строки
journal
remove.dots
которые необходимо изменить так, чтобы
journal
remove.dots
"\emph{" swap$ * "}" *
Чтобы изменить название книги, необходимо внести изменения в FUNCTION {format.btitle}
, которое короткое, поэтому я воспроизведу его полностью
FUNCTION {format.btitle}
{
title "title" bibinfo.check
duplicate$ empty$
'skip$
{
"\emph{" swap$ * "}" *
}
if$
}
В обоих случаях мы работаем со стеком, содержащим «the thing
to be make italic». Сначала я добавил \emph{
в стек, затем использовал swap$
для помещения thing
after \emph{
в стек. The *
объединяет два, затем я добавляю }
в стек и снова объединяю.
решение2
Для тех, кто задается вопросом и (возможно) борется со Springer и его двойными стандартами (ладно, я этого никогда не говорил): вот мой взгляд на форматирование BibTeX, вручную измененныйspbasic.bst
:spbasicemph.bst
. Это максимально приближает формат библиографии к Springer.Журнал роевого интеллектастандартный, насколько я мог получить.