Cảm ơn Anders vì gợi ý. \defcitealias
dường như là con đường để đi.
Bibtex tạo tệp .bbl
chứa các mục nhập thư mục. một cái gì đó như thế
\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.
Tôi sử dụng Eclipse, miễn phí và bạn có thể phải áp dụng các biểu thức chính quy trong tệp này khi cần. '\ R' hoạt động như một dấu phân cách dòng độc lập. Dưới đây là một ví dụ về tìm kiếm nhiều dòng:
tìm kiếm:
\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.*
và thay thế:
\\defcitealias{$2}{$3}
(Đối với bản thân mình tôi sử dụng \\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*)
để có được tất cả các văn bản mục)
Et tạo ra một loạt các \defcitealias
có thể được sao chép ở nơi khác:
\defcitealias{Andrienko2003}{{GIS for Everyone: The
CommonGIS Project and Beyond}}
Cuối cùng, điều này có thể được sử dụng để xây dựng một lệnh tùy chỉnh như:
\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.}
Được sử dụng như \MyCite{Andrienko2003}
và sản xuất: Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.
Tuyệt vời - cảm ơn! – djq