bibtex:URL 和 DOI 换行符不同

bibtex:URL 和 DOI 换行符不同

在我的参考文献中,我希望允许 DOI 在斜线“/”字符处断开(或作为最后的手段,在任何字符处断开),以避免出现行数不足的情况,如下面的第三个参考文献。请注意,URL 已经在斜线处断开,DOI 已经在破折号处断开。

有问题输入的图像

\documentclass{article}

\usepackage[left=1.5in,right=1.5in]{geometry}

\usepackage{natbib}
\usepackage[colorlinks,breaklinks,urlcolor=blue]{hyperref}
\usepackage{doi}
\urlstyle{rm}
\bibliographystyle{sp}

\begin{document}
\nocite{Endriss:09} \nocite{Evans:80} \nocite{Szabolcsi:10}
\bibliography{references}
\end{document}

以下是一些 .bib 条目:

@article{Evans:80, Author={Gareth Evans}, Journal={Linguistic Inquiry}, Number={2},
    Pages={337--362}, Title={Pronouns}, Url={http://www.jstor.org/stable/4178164},
    Volume={11}, Year={1980}}

@book{Szabolcsi:10, Author={Anna Szabolcsi}, Doi={10.1017/CBO9780511781681},
    Publisher={Cambridge University Press}, Title={Quantification}, Year={2010}}

参考书目样式文件可以作为 zip 文件的一部分下载(其中还包含实际使用的类文件):使用 LATEX 2ε 的 S&P 作者说明 | von Fintel | 语义学和语用学

答案1

如果您还想使用罗马字体的“doi:”,在我看来,您需要doi用自己的命令替换包,\doi该命令使用自己的功能声明url。这没关系,它已经在类文件中定义sp.cls。否则,您也可以使用包uri。还可以比较我在此处的答案:生成超链接 DOI?

\documentclass{sp} % based on "article"

\usepackage[left=1.5in,right=1.5in]{geometry}

\usepackage{filecontents}
% will produce a BIB file with the same name like your main tex file
\begin{filecontents*}{\jobname.bib}
@article{Evans:80,
  Author={Gareth Evans},
  Journal={Linguistic Inquiry},
  Number={2},
  Pages={337--362},
  Title={Pronouns},
  Url={http://www.jstor.org/stable/4178164},
  Volume={11}, Year={1980}
}
@book{Szabolcsi:10,
  Author={Anna Szabolcsi},
  Doi={10.1017/CBO9780511781681},
  Publisher={Cambridge University Press},
  Title={Quantification},
  Year={2010}
}
\end{filecontents*}

\usepackage{natbib} % actually not needed: already defined in the class "sp"
\bibliographystyle{sp} % actually not needed: already defined in the class "sp"


% already loaded with the class "sp", throws out an error, if separately loaded:
% \usepackage[colorlinks,breaklinks,urlcolor=blue]{hyperref} % loads "url"
%
\urlstyle{rm} % actually not needed: already defined in the class "sp"
% see the documentation of "url" for the next command
% "doi:" is not part of the link:
\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{doi:\href{http://dx.doi.org/##1}{##1}}\urlstyle{rm}}
% "doi:" is part of the link:
% \DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{http://dx.doi.org/##1}{doi:##1}}\urlstyle{rm}}

\begin{document}
\nocite{Evans:80} \nocite{Szabolcsi:10}
\bibliography{\jobname}
\end{document}

相关内容