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매크로를 사용하여 \doiDOI를 조판합니다. 매크로가 정의되지 않은 경우 다음 대체 정의를 사용합니다.

\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. 정보 Comput., 100(1):1–77, 1992. DOI: 10.1016/0890-5401(92)90009-5.

전체 대문자 대신 작은 대문자를 사용했지만 물론 쉽게 변경할 수 있습니다.

관련 정보