Мой вопрос примерно двойственен кВот этот. Как принудительно bibtex
отформатировать слово «DOI» ниже заглавными буквами?
\documentclass{article}
\begin{filecontents*}{bib.bib}
@article{milner92,
author = {Robin Milner and Joachim Parrow and David Walker},
title = {A Calculus of Mobile Processes, {I} and {II}},
journal = {Inf. Comput.},
volume = {100},
number = {1},
pages = {1--77},
year = {1992},
doi = {10.1016/0890-5401(92)90009-5},
}
\end{filecontents*}
\begin{document}
\cite{milner92}
\bibliographystyle{plainnat}
\bibliography{bib.bib}
\end{document}
Решение DeclareFieldFormat
, упомянутое впредыдущий вопросздесь, похоже, не имеет значения (вероятно, это относится только к biblatex
).
решение1
\documentclass{article}
\begin{filecontents*}{bib.bib}
@article{milner92,
author = {Robin Milner and Joachim Parrow and David Walker},
title = {A Calculus of Mobile Processes, {I} and {II}},
journal = {Inf. Comput.},
volume = {100},
number = {1},
pages = {1--77},
year = {1992},
doi = {10.1016/0890-5401(92)90009-5},
}
\end{filecontents*}
\expandafter\ifcsname urlstyle\endcsname
\providecommand{\doi}{DOI: \begingroup \urlstyle{rm}\Url}\else
\providecommand{\doi}[1]{DOI: #1}%
\fi
\begin{document}
\cite{milner92}
\bibliographystyle{plainnat}
\bibliography{bib}
\end{document}
решение2
plainnat
использует макрос \doi
для набора DOI. Если макрос не определен, он будет использовать следующие определения замены
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi
Предполагая, что вы загружаете url
или hyperref
, вы можете взять эту ветвь определения и пойти на
\documentclass{article}
\usepackage{natbib}
\usepackage{url}
\newcommand{\doi}{\textsc{doi}: \begingroup \urlstyle{rm}\Url}
\begin{filecontents*}{\jobname.bib}
@article{milner92,
author = {Robin Milner and Joachim Parrow and David Walker},
title = {A Calculus of Mobile Processes, {I} and {II}},
journal = {Inf. Comput.},
volume = {100},
number = {1},
pages = {1--77},
year = {1992},
doi = {10.1016/0890-5401(92)90009-5},
}
\end{filecontents*}
\begin{document}
\cite{milner92}
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
Я использовал маленькие заглавные буквы вместо ВСЕХ ЗАГЛАВНЫХ, но, конечно, это можно легко изменить.