¿Cómo evitar que las referencias al estilo Harvard (agsm) provoquen que las URL de la bibliografía se extiendan en dos columnas?

¿Cómo evitar que las referencias al estilo Harvard (agsm) provoquen que las URL de la bibliografía se extiendan en dos columnas?

Me gustaría que mi estilo de cita fuera Harvard.

Estoy usando lo siguiente:

\documentclass[conference]{IEEEtran}
\usepackage[comma]{natbib}
\usepackage{url}
\begin{document}

foo \citep{vitz_history_2016}

\bibliographystyle{IEEEtran}
\bibliography{references}
\end{document}

Cita del ejemplo en el .bibarchivo:

@online{vitz_history_2016,
    year = {2016},
    title = {History of the Periodic Table},
    url = {https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/History_of_the_Periodic_Table},
    titleaddon = {Chemistry {LibreTexts}},
    author = {Vitz, Ed and Moore, John and Shorb, Justin and Prat-Resina, Xavier and Wendorff, Tim and Hahn, Adam},
    urldate = {2019-11-25},
    date = {2016-05-26},
    langid = {english},
    file = {fname}
}

En un diseño de dos columnas, esto produce: Agsm

Normalmente creo documentos usando \cite{author}y \bibliographystyle{IEEEtran}al incluir \usepackage{url}las URL se muestran correctamente: ieeetran

Me gustaría que apareciera la misma referencia como en el segundo ejemplo pero usar una cita estilo Harvard como en el primer ejemplo.

¡Cualquier ayuda sería muy apreciada!

Respuesta1

Parece haber varios problemas.

  • Dado que está utilizando la IEEEtranclase de documento, el IEEEtranestilo de bibliografía junto con el natbibpaquete debe usarse exclusivamente junto con los comandos \citey ; \citepambos generarán citas de estilo numérico. \citetNo es realmente utilizable con el IEEEtranestilo de bibliografía.

  • Si desea utilizar el natbibpaquete junto con la IEEEtranclase de documento, probablemente debería utilizar el IEEEtranNestilo bibliografía. (La Nentrada IEEEtranNsignifica natbib...) Con esta configuración, \citey \citepseguirá produciendo llamadas de estilo numérico, pero \citetahora también "funciona", en el sentido de que crea textos de autor.númerollamadas de citas de estilo. Por más que lo intentes, no conseguirás que esta configuración produzca archivos de autor.añoestilo, también conocido como "estilo harvard" y "estilo agsm", llamadas de citas.

    Dicho esto, me haré eco del comentario de @moewe: la mayoría de las revistas (¡¿todas?!) que requieren el uso de la IEEEtranclase de documento emplean llamadas de citas de estilo numérico; probablemente rechazarán los envíos que empleen citas con el estilo número de autor o año del autor.

  • En caso de que no haya sido un error tipográfico: la sintaxis adecuada es \citep{<some_key>}, no \citep(<some_key>).

ingrese la descripción de la imagen aquí

\documentclass[conference]{IEEEtran}

\begin{filecontents}[overwrite]{mybib.bib}
@online{vitz_history_2016,
    year = {2016},
    title = {History of the Periodic Table},
    url = {https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/History_of_the_Periodic_Table},
    titleaddon = {Chemistry {LibreTexts}},
    author = {Vitz, Ed and Moore, John and Shorb, Justin and Prat-Resina, Xavier and Wendorff, Tim and Hahn, Adam},
    urldate = {2019-11-25},
    date = {2016-05-26},
    langid = {english},
    file = {fname}
}
\end{filecontents}

\usepackage[numbers,comma]{natbib}
\bibliographystyle{IEEEtranN} % not 'IEEEtran'
\usepackage{xurl}
\usepackage[colorlinks,allcolors=blue]{hyperref} % just for this example

\begin{document}
foo \citep{vitz_history_2016} % not "\citep(author)"

bar \citet{vitz_history_2016}
\bibliography{mybib}
\end{document}

Apéndice: De hecho, puedo reproducir la horrible cadena URL sin líneas, con subíndices en lugar de guiones bajos, que se muestra en la primera captura de pantalla si la reemplazo \bibliographystyle{IEEEtranN}con \bibliographystyle{agsm}. El agsmestilo es bastante antiguo y utiliza una macro llamada \harvardurl, que nonotome las mismas precauciones que \urlcuando escribe cadenas de URL; Estas precauciones se refieren a caracteres especiales TeX, como _y %, que pueden aparecer en una cadena URL. (¡Muchas gracias a @moewe por señalarme esto!)

Si usteddebeuse el agsmestilo de bibliografía, entonces, hay dos maneras de proceder: primero, puede proporcionar las instrucciones

\renewcommand\harvardurl{\textbf{URL:} \url}

después \bibliographystyle{agsm}. Segundo, podrías cambiar

url = {https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/History_of_the_Periodic_Table},

a

url = {\url{https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/History_of_the_Periodic_Table}}, 

Por supuesto, ambos métodos suponen que has cargado un paquete adecuado ( urly xurlte viene a la mente) que define una \urlmacro "real".

Por cierto, si desea utilizar el agsmestilo de bibliografía, debe cargar el har2natpaquete, no el natbibpaquete directamente. ¿Por qué? El agsmestilo babero es parte delharvardPaquete de gestión de citas, que viene con algunos comandos especializados. El har2natpaquete (a) carga el natbibpaquete y (b) "traduce" las harvardmacros específicas en macros reconocidas por el natbibpaquete. Esto es especialmente útil si desea utilizar el hyperrefpaquete en su documento: hyperrefes totalmente compatible con el natbibpaquete, pero no tanto con el harvardpaquete.

ingrese la descripción de la imagen aquí

\documentclass[conference]{IEEEtran}

\begin{filecontents}[overwrite]{mybib.bib}
@online{vitz_history_2016,
    year = {2016},
    title = {History of the Periodic Table},
    url = {\url{https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/History_of_the_Periodic_Table}},
    titleaddon = {Chemistry {LibreTexts}},
    author = {Vitz, Ed and Moore, John and Shorb, Justin and Prat-Resina, Xavier and Wendorff, Tim and Hahn, Adam},
    urldate = {2019-11-25},
    date = {2016-05-26},
    langid = {english},
    file = {fname}
}
\end{filecontents}

\usepackage{har2nat} % not 'natbib' directly
\bibliographystyle{agsm}
\usepackage{xurl}
\usepackage[colorlinks,allcolors=blue]{hyperref} 

\begin{document}
foo \citep{vitz_history_2016} % not "\citep(author)"

bar \citet{vitz_history_2016}
\bibliography{mybib}
\end{document}

información relacionada