Forzar a bibtex a escribir doi en mayúsculas

Forzar a bibtex a escribir doi en mayúsculas

Mi pregunta es más o menos dual paraÉste. ¿Cómo fuerzo bibtexel formato de la palabra "DOI" a continuación en mayúsculas?

ingrese la descripción de la imagen aquí

\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}

La DeclareFieldFormatsolución mencionada en elpregunta anteriorno parece relevante aquí (presumiblemente es específico de biblatex).

Respuesta1

\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}

Respuesta2

plainnatutiliza la macro \doipara componer el DOI. Si la macro no está definida, utilizará las siguientes definiciones de reemplazo

\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

Suponiendo que cargues urlo hyperref, podrías tomar esa rama de la definición e ir a

\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}

Robin Milner, Joachim Parrow y David Walker. Un cálculo de procesos móviles, I y II. inf. Comput., 100(1):1–77, 1992. DOI: 10.1016/0890-5401(92)90009-5.

Utilicé versalitas en lugar de TODO EN MAYÚSCULAS, pero, por supuesto, eso se puede cambiar fácilmente.

información relacionada