как добавить библиографию с инициалами имени автора, используя natbib - PullRequest
0 голосов
/ 22 октября 2019

Я использую natbib с некоторым .bst стилем файла (asa-fa.bst), настроенным для лучшей работы с (xe) персидским, он сокращает латинские имена авторов, но для нелатинских показывает полные имена.

Как я могу поставить имена инициалов нелатинских авторов в библиографии?

Я попытался заменить

{s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := }

на

{s nameptr "{vv~}{ll}{, jj}{, f.~}" format.name$ 't := }

в файле bst, но он работает и показывает "?"вместо сокращений.

% мой код в xelatex:

\usepackage{natbib,etoolbox,lipsum,hyperref}

\bibliographystyle{asa-fa}

\setcitestyle{notesep={: }}

% bst file:

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    {
    fa.isPersianLanguage
        {s nameptr "{vv~}{ll}{, jj}{, ff~}" format.name$ 't := }
        {s nameptr "{vv~}{ll}{, jj}{, f.~}" format.name$ 't := }
        if$

% мой латинский и персидский bib-файл похож на:

}

@article{rostampour2017word,
  title={Word Order of Noun and Verb Phrases in Contemporary Persian and English Poems},
  author={Rostampour, Saloome and others},
  journal={JOURNAL OF ADVANCES IN LINGUISTICS},
  volume={8},
  number={1},
  pages={1229--1235},
  year={2017}
}
@article{mirza'iandmoludi1393,
author = {میرزایی, آزاده and مولودی, امیرسعید},
journal = {علم زبان},
language = {persian},
number = {3},
pages = {29--47},
title = {نخستین پیکرۀ نقش های معنایی زبان فارسی},
volume = {2},
year = {1393}
}
...