
Я пытаюсь сделать стиль библиографии по своему вкусу, и мне почти удалось, но по какой-то причине я не могу заставить отображаться названия статей. У меня есть автор - год - журнал - том/выпуск/страница, а я хочу автор - год - НАЗВАНИЕ - журнал - том/выпуск/страница.
Я использую пакет harvard с измененным стилем kluwer для своих ссылок, я обнаружил, что он лучше всего подходит для нужного мне стиля. Я изменил в нем несколько вещей:
Добавлен:
FUNCTION {format.url}
{ url empty$
{ "" }
{
" Available from:~\url{" * url * "}" *
}
if$
}
Измененный:
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ "Vol." volume tie.or.space.connect
series empty$
'skip$
{ " of " * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
и
FUNCTION {format.vol.num.pages}
{ "Vol. " volume field.or.null
number empty$
'skip$
{ "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ",~p.~" * pages n.dashify * }
if$
}
if$
}
А форматирование моей статьи выглядит так:
FUNCTION {article}
{ output.bibitem
list.label.output
" " list.year * output.nonnull
new.block
author "author" item.check
if$
title.field field.used =
{ skip$ }
{ format.title "title" output.check }
if$
crossref missing$
{ journal emphasize "journal" duplicate$ item.check
" " * format.vol.num.pages * output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
write.url
}
При запуске bibtex возникает ошибка:
Вы не можете извлечь пустой литеральный стек для entry arnould во время выполнения --- строка 1362 файла kluwer.bst Вы не можете извлечь пустой литеральный стек для entry arnould во время выполнения --- строка 1362 файла kluwer.bst " 2005" - это строковый литерал, а не функция, для entry arnould во время выполнения --- строка 1362 файла kluwer.bst Вы не можете извлечь пустой литеральный стек для entry arnould во время выполнения --- строка 1362 файла kluwer.bst ptr=1, stack= Теория потребительской культуры (cct): двадцать лет исследований --- литеральный стек не пуст для entry arnould во время выполнения --- строка 1362 файла kluwer.bst и так далее...
Помогите пожалуйста? Я в отчаянии...
решение1
Хорошо, после многочисленных попыток выяснить, что может быть не так, мне удалось заставить код работать. Новая функция статьи:
FUNCTION {article}
{ output.bibitem
list.label.output
" " list.year * output.nonnull
author "author" output.check
if$
title.field field.used =
{ skip$ }
{ format.title "title" output }
if$
crossref missing$
{ " " journal emphasize "journal" duplicate$ item.check
" " * format.vol.num.pages * output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
new.block
note output
fin.entry
write.url
}
Похоже, что проблема была в item.check...