Как предотвратить распространение ссылок в стиле Гарварда (agsm) по двум столбцам?

Как предотвратить распространение ссылок в стиле Гарварда (agsm) по двум столбцам?

Я бы хотел, чтобы мой стиль цитирования был гарвардским.

Я использую следующее:

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

foo \citep{vitz_history_2016}

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

Цитата из примера в .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}
}

В макете с двумя колонками это дает: агсм

Обычно я создаю документы с помощью \cite{author}и \bibliographystyle{IEEEtran}поэтому, включая \usepackage{url}URL-адреса, они отображаются правильно: ииитран

Я бы хотел, чтобы та же ссылка была указана во втором примере, но использовалось цитирование в стиле Гарварда, как в первом примере.

Любая помощь приветствуется!

решение1

Похоже, что здесь есть несколько проблем.

  • Поскольку вы используете IEEEtranкласс документа, использование IEEEtranстиля библиографии вместе с natbibпакетом должно применяться исключительно в сочетании с командами \citeи \citep; обе команды будут генерировать выноски ссылок в числовом стиле. \citetна самом деле не применимо со IEEEtranстилем библиографии.

  • Если вы хотите использовать пакет natbibвместе с IEEEtranклассом документа, вам, вероятно, следует использовать IEEEtranNстиль библиографии. ( NIn IEEEtranNозначает natbib...) При такой настройке \citeи \citepпо-прежнему будет создавать числовые выноски, но \citetтеперь он также «работает», в том смысле, что он создает авторскиечислостиль цитаты вызовов. Как бы вы ни старались, вы не сможете заставить эту настройку производить автор-годстиль, также известный как «гарвардский стиль» и «стиль agsm», ссылки на цитаты.

    Тем не менее, я повторю комментарий @moewe: большинство (все?!) журналов, требующих использования IEEEtranкласса документа, используют числовые ссылки на цитирование; они, вероятно, отклонят заявки, в которых используются ссылки на цитирование в стиле номера автора или года автора.

  • На всякий случай, если это не опечатка: правильный синтаксис — \citep{<some_key>}, а не \citep(<some_key>).

введите описание изображения здесь

\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}

Приложение: Я могу воспроизвести ужасно выглядящую строку URL без разрывов строк, с индексами вместо подчеркиваний, показанную на вашем первом снимке экрана, если заменю \bibliographystyle{IEEEtranN}на \bibliographystyle{agsm}. agsmСтиль довольно старый и использует макрос под названием \harvardurl, который делаетнетпримите те же меры предосторожности, что \urlи при наборе строк URL; эти меры предосторожности касаются специальных символов TeX, таких как _и %, которые могут встречаться в строке URL. (Огромное спасибо @moewe за то, что указал мне на это!)

Если выдолжениспользуйте agsmстиль библиографии, тогда есть два способа продолжить: во-первых, вы можете предоставить инструкцию

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

после \bibliographystyle{agsm}. Во-вторых, вы могли бы изменить

url = {https://chem.libretexts.org/Bookshelves/Ancillary_Materials/Exemplars_and_Case_Studies/Exemplars/Culture/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}}, 

Конечно, оба метода предполагают, что вы загрузили подходящий пакет ( urlи xurlэто приходит на ум), который определяет «настоящий» \urlмакрос.

Кстати, если вы хотите использовать agsmстиль библиографии, вам следует загрузить har2natпакет, а не natbibпакет напрямую. Почему? agsmСтиль bib является частьюгарвардпакет управления цитированием, который поставляется с некоторыми специализированными командами. Пакет har2nat(a) загружает natbibпакет и (b) «транслирует» harvardмакросы, специфичные для -, в макросы, распознаваемые пакетом natbib. Это особенно полезно, если вы хотите использовать пакет hyperrefв своем документе: hyperrefполностью совместим с natbibпакетом, но в меньшей степени с harvardпакетом.

введите описание изображения здесь

\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}

Связанный контент