Gracias a Anders por la pista. \defcitealias
parece ser el camino a seguir.
Bibtex produce un archivo .bbl
que contiene las entradas de la bibliografía. algo así
\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.
que utilizar Eclipse, que es gratuito y que ya puede tener que aplicar expresiones regulares en este archivo cuando sea necesario. '\ R' actúa como delimitador de línea independiente de la plataforma. Aquí está un ejemplo de búsqueda de varias líneas:
búsqueda:
\\bibitem.*(\R.*)?\R?\{([^{]*)\}\R^[^\\].*\d\d\d\d\.\s([^\.]*\R?[^\.]*)\R?.*\R?.*
y reemplazar:
\\defcitealias{$2}{$3}
(Por mi parte yo uso \\bibitem.*(\R.*)?\R?\{([^{]*)\}$\R^([^\\].*[^\}]$\R.*$\R.*)
para obtener todo el texto del elemento)
Et produce una serie de \defcitealias
que puede copiarse en otro lugar:
\defcitealias{Andrienko2003}{{GIS for Everyone: The
CommonGIS Project and Beyond}}
Finalmente, esto puede ser usado para construir un comando personalizado tales como:
\newcommand{\MyCite}[1]{\citet*{#1}. \citetalias{#1}.}
Utilizado como \MyCite{Andrienko2003}
y produciendo: Andrienko et al. (2003). GIS for Everyone: The CommonGIS Project and Beyond.
Genial, ¡gracias! – djq