Спасибо Андерсу за подсказку. \defcitealias
кажется, что путь.
Bibtex создает файл .bbl
, который содержит библиографические записи. что-то в этом роде
\bibitem[\protect\citeauthoryear{Andrienko
{\itshape{et~al.}}}{2003}]{Andrienko2003}
Andrienko, G., Andrienko, N., and Voss, H., 2003. {GIS for Everyone: The
CommonGIS Project and Beyond}. {\itshape {In}}: {\itshape {Maps and the
Internet}}., 131--146 Elsevier.
Я использую Eclipse, которая бесплатна и вам, возможно, уже придется применять регулярные выражения в этом файле при необходимости. '\ R' действует как независимый от платформы разделитель строк. Вот пример многострочного поиска:
поиск:
\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.*
и заменить:
\\defcitealias{$2}{$3}
(Для себя я использую \\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*)
, чтобы получить весь текст элемента)
Et производит серию \defcitealias
, которую можно копировать в другом месте:
\defcitealias{Andrienko2003}{{GIS for Everyone: The
CommonGIS Project and Beyond}}
Наконец, это можно использовать для создания собственной команды, такой как:
\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.}
Используется как \MyCite{Andrienko2003}
и производит: Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.