Заставить bibtex набирать doi заглавными буквами

Заставить bibtex набирать doi заглавными буквами

Мой вопрос примерно двойственен кВот этот. Как принудительно 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}

Робин Милнер, Иоахим Парроу и Дэвид Уокер. Исчисление мобильных процессов, I и II. Inf. Comput., 100(1):1–77, 1992. DOI: 10.1016/0890-5401(92)90009-5.

Я использовал маленькие заглавные буквы вместо ВСЕХ ЗАГЛАВНЫХ, но, конечно, это можно легко изменить.

Связанный контент