Problema con natbibapa y \shortcite

Problema con natbibapa y \shortcite
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\documentclass{article}
\usepackage[natbibapa]{apacite}
\begin{document}
\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{mybib}
\end{document} 

En mi tesis necesito citar el nombre y el año de los autores, por eso uso natbib. Pero para más de dos autores, deseo que solo se muestre el nombre seguido de et.al. Sin embargo, como uso natbib, no se puede usar \shortcite. ¿Existen otras formas de superar este problema?

Respuesta1

La declaración,

Necesito citar el nombre y el año de los autores, así que uso [la opción natbibapa]

contiene unano lógico: Se pueden crear fácilmente notas de citas al estilo del año del autor.sinespecificando la natbibapaopción. Simplemente use \citeAen lugar de \citety \citeen lugar de \citep. Consulte la sección 4.1, "Los comandos 'clásicos' de apacita", de la guía del usuario del apacitepaquete para obtener más información.

Con esta configuración, usar \shortciteAy \shortcitepara generar citas de estilo texto y paréntesis con listas de autores truncadas no es ningún problema.


ingrese la descripción de la imagen aquí

\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\usepackage{apacite}
\bibliographystyle{apacite}

\begin{document}
\shortciteA{c} says something.
\bibliography{mybib}
\end{document}

Respuesta2

Es una característica del estilo APA (sexta edición, que es la que apacitelo implementa) que las listas de tres a cinco autores se brinden completas en la primera cita y solo como primer autor + "et al." en citas posteriores.

Para ocurrencias únicas, apacitedefine comandos para anular aquellos como \shortcite.


Si está utilizando apacitecon el natbibapale está indicando apaciteque le entregue cierto control sobre los comandos de citas natbib, eso significa que algunos de los comandos de citas especializados apaciteque generalmente define ya no están disponibles. Uno de estos es \shortcite.

Elapacitedocumentacióndice (§4.2Usandonatbib para citas, pag. 15)

La lista completa de autores se obtiene agregando una estrella después del comando, por ejemplo, \citet*{key}. No existe un comando separado para la lista corta de autores, pero se puede obtener con la construcción \shortcites{key}\citet{key}.

Entonces una opción sería decir

\shortcites{c}\citet{c}

la primera vez que lo cites c. Las citas posteriores se abreviarán como primer autor + "et al." de todos modos. Pero, por supuesto, eso es extremadamente tedioso, propenso a errores y, en general, no parece correcto.

Pero la sección del apacitemanual que citamos anteriormente contiene más información.

Con la natbibapaopción, apacitecarga natbibcon las opciones longnamesfirst y sort.

Entonces natbibapaobtenemos la lista larga de autores en la primera cita gracias a la opción longnamesfirst. Si podemos desactivar esa opción, volveremos al negocio.

Desafortunadamente, natbibno ofrece ninguna interfaz para desactivar esta opción. Una vez natbibcargado, longnamesfirstno hay opción para volver a desactivarlo. Entonces tenemos que recurrir a comandos internos. La opción establece un booleano interno llamado NAT@longnamesen verdadero, por lo que lo configuramos en falso.

\documentclass{article}
\usepackage[natbibapa]{apacite}
\makeatletter
\NAT@longnamesfalse
\makeatother

\begin{filecontents}{\jobname.bib}
@article{c,
  author  = {Anne Author and Bert Buthor and Carla Cuthor},
  title   = {Final Thoughts},
  journal = {Circularity Today},
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = {11--12},
}
\end{filecontents}


\begin{document}
\citet{c} says something.

\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document} 

Autor y otros. (3009) dice algo.//Autor et al. (3009) dice algo.


Si está buscando la respuesta al mismo problema pero sin la opción natbibapa(es decir, con apaciteclassic), la respuesta más simple que pude encontrar fue decir

\let\cite\shortcite
\let\citeA\shortciteA
\let\citeNP\shortciteNP
\let\citeauthor\shortciteauthor
\let\citeauthorNP\shortciteauthorNP

\let\maskcite\maskshortcite
\let\maskciteA\maskshortciteA
\let\maskciteNP\maskshortciteNP
\let\maskciteauthor\maskshortciteauthor
\let\maskciteauthorNP\maskshortciteauthorNP

información relacionada