這是我第一次使用 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.tex
Springer 連結中的模板。