![参考书目中出现不必要的换行](https://linux22.com/image/462008/%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E4%B8%AD%E5%87%BA%E7%8E%B0%E4%B8%8D%E5%BF%85%E8%A6%81%E7%9A%84%E6%8D%A2%E8%A1%8C.png)
这是我第一次使用 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 链接的模板。