參考書目中不需要的行中斷

參考書目中不需要的行中斷

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

克萊默的參考文獻屬於書籍類型。如果我將 .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}

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

xurl那麼 URL 格式似乎更好(換行稍微好一些,但我仍然認為我們沒有在通常可能帶到表中的任何字元處中斷)

請注意,使用的程式碼只是sn-article.texSpringer 連結中的模板。

相關內容