bibtex: URL と DOI の改行が別の文字で行われる

bibtex: URL と DOI の改行が別の文字で行われる

私の参考文献では、以下の 3 番目の参考文献のような行の途中を回避するために、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 著者向けの説明 | Fintel 著 | 意味論と語用論

答え1

「doi:」もローマンフォントで表示したい場合は、パッケージを、独自の機能で宣言されたdoi独自のコマンドに置き換える必要があるように思われます。クラスファイルですでに定義されているかどうかは関係ありません。そうでない場合は、パッケージを使用することもできます。ここでの私の回答も比較してください。\doiurlsp.clsuriハイパーリンクされた 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}

関連情報