参考书目中出现不必要的换行

参考书目中出现不必要的换行

完整最小示例 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},
}

Cramer 参考文献属于书籍类型。我希望 Cousineau 的 doi 与其余参考文献之间没有间隙。如果我将 .bib 文件中的 Cousineau 参考文献从文章更改为论文集,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}

环境定义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 链接的模板。

相关内容