내 질문은 대략 두 가지입니다.이 하나. 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}
전체 대문자 대신 작은 대문자를 사용했지만 물론 쉽게 변경할 수 있습니다.