Полный минимальный пример ZIP-файла
Я впервые работаю с LaTex и у меня возникли некоторые проблемы сБиблиография. Для некоторыхРекомендациино не для всех,doi странно представлен в новой строке с пробелом. Как я могу это изменить?Я использовал шаблон Springer отсюда:https://www.springernature.com/gp/authors/campaigns/latex-author-support
Вот соответствующая информация:
\documentclass[sn-apa]{sn-jnl}% APA Reference Style
\bibliography{sn-bibliography}
\bibliographystyle{sn-apacite}%
А вот записи в моем файле .bib:
@article{Cousineau2010,
title={Outliers detection and treatment: a review.},
volume={3},
url={https://revistas.usb.edu.co/index.php/IJPR/article/view/844},
doi = {10.21500/20112084.844},
number={1},
journal={International Journal of Psychological Research},
author={Cousineau, Denis and Chartier, Sylvain},
year={2010},
pages={58–-67}
}
@book{Cramer2008,
author = {Cramer, Henriette and Evers, Vanessa and Ramlal, Satyan and {Van Someren}, Maarten and Rutledge, Lloyd and Stash, Natalia and Aroyo, Lora and Wielinga, Bob},
booktitle = {User Modeling and User-Adapted Interaction},
doi = {10.1007/s11257-008-9051-3},
number = {5},
pages = {455--496},
title = {{The effects of transparency on trust in and acceptance of a content-based art recommender}},
volume = {18},
year = {2008},
}
Ссылка Крамера имеет книжный тип. Я не хочу, чтобы между doi Кузино и остальными ссылками было пробелов.Если я изменю ссылку Cousineau в моем файле .bib со статьи на продолжение, doi отображается правильно. Как изменить настройки ссылок на статьи?
Вот потенциально релевантный код из файла sn-jnl (строка 1685):
\if@APA@refstyle%
\usepackage[natbibapa]{apacite}%
\gdef\NumBib{NO}%
\bibliographystyle{sn-apacite}%
\def\refdoi#1{\urlstyle{rm}\url{#1}}%
\renewcommand{\doiprefix}{}%
\AtBeginDocument{%
\renewcommand{\BPBI}{.}% Period between initials - command from apacite.sty }%
\setlength{\bibsep}{1em}%
\def\bibfont{\reset@font\fontfamily{\rmdefault}
\normalsize\selectfont}%
Пожалуйста, дайте мне знать, если для понимания проблемы необходима дополнительная информация.
Заранее большое спасибо.
решение1
Слишком долго для комментария.
Вот скверная идея. Если мы посмотрим на сгенерированный .bbl
файл, то увидим
\begin{APACrefURL}
{https://revistas.usb.edu.co/index.php/IJPR/article/view/844}
\end{APACrefURL}
с env, определенным apacite.sty
как
\newenvironment{APACrefURL}[1][]{%
\ifx\@empty#1\@empty
\BRetrievedFrom % Retrieved from
\else
\BRetrieved{#1}% Retrieved <date>, from
\fi
}{}
что в основном означает, что URL-часть никогда не получает никакого специального форматирования. Действительно, если мы изменим URL в примере, чтобы он содержал, _
компиляция не удастся.
Но что, если бы мы могли заставить env читать URL как аргумент, а затем управлять форматированием. Для этого требуется либо современная установка LaTeX, либо пакет xparse
.
\RenewDocumentEnvironment{APACrefURL}{ o m }{
\IfNoValueTF{#1}{
\BRetrievedFrom %
}{
\BRetrieved{#1} %
}
\url{#2}
}{}
Это использование \url
, которое лучше, чем ничего.
Кажется, если мы также добавим
\AtBeginDocument{\usepackage{xurl}}
тогда форматирование URL кажется лучше (немного лучше переносы строк, но я все еще не думаю, что мы получаем перенос на любом символе, который xurl
обычно можно было бы внести в таблицу)
Обратите внимание, что используемый код — это всего лишь sn-article.tex
шаблон из ссылки Springer.