간결하고 읽기 쉬운 JAP(Joural of Applied Physics) 스타일 .bbl 파일을 생성하기 위해 `unsrt.bst` 파일을 수정하는 방법은 무엇입니까?

간결하고 읽기 쉬운 JAP(Joural of Applied Physics) 스타일 .bbl 파일을 생성하기 위해 `unsrt.bst` 파일을 수정하는 방법은 무엇입니까?

Journal Of Applied Physics(JAP)에 논문을 제출할 예정입니다. 그래서 나는 revtex4-1 문서 클래스를 사용하고 있습니다 \documentclass[aip,jap,reprint,superscriptaddress,amsmath,amssymb]{revtex4-1}.

논문을 준비하는 동안 .bib 파일을 사용하여 참고문헌 목록을 생성합니다. 하지만 이제 제출 시간이 다가왔으니 라텍스 파일에 \bibitems라는 참조를 삽입하고 싶습니다. 한 가지 방법은 라텍스 처리 중에 .bib 파일에 의해 자동으로 생성되는 .bbl 파일의 내용을 복사하는 것입니다.

Jon이 언급한 것처럼 .bbl 파일의 내용은 documentclass에 의해 제어됩니다. 그러나 문제는 JAP 문서 클래스 스타일로 생성된 .bbl 파일이 너무 복잡하고 길며 읽을 수 없다는 것입니다. 다음과 같은 것 :

\begin{thebibliography}{2}%
\makeatletter
\providecommand \@ifxundefined [1]{%
 \@ifx{#1\undefined}
}%
\providecommand \@ifnum [1]{%
 \ifnum #1\expandafter \@firstoftwo
 \else \expandafter \@secondoftwo
 \fi
}%
\providecommand \@ifx [1]{%
 \ifx #1\expandafter \@firstoftwo
 \else \expandafter \@secondoftwo
 \fi
}%
\providecommand \natexlab [1]{#1}%
\providecommand \enquote  [1]{``#1''}%
\providecommand \bibnamefont  [1]{#1}%
\providecommand \bibfnamefont [1]{#1}%
\providecommand \citenamefont [1]{#1}%
\providecommand \href@noop [0]{\@secondoftwo}%
\providecommand \href [0]{\begingroup \@sanitize@url \@href}%
\providecommand \@href[1]{\@@startlink{#1}\@@href}%
\providecommand \@@href[1]{\endgroup#1\@@endlink}%
\providecommand \@sanitize@url [0]{\catcode `\\12\catcode `\$12\catcode
  `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%
\providecommand \@@startlink[1]{}%
\providecommand \@@endlink[0]{}%
\providecommand \url  [0]{\begingroup\@sanitize@url \@url }%
\providecommand \@url [1]{\endgroup\@href {#1}{\urlprefix }}%
\providecommand \urlprefix  [0]{URL }%
\providecommand \Eprint [0]{\href }%
\providecommand \doibase [0]{http://dx.doi.org/}%
\providecommand \selectlanguage [0]{\@gobble}%
\providecommand \bibinfo  [0]{\@secondoftwo}%
\providecommand \bibfield  [0]{\@secondoftwo}%
\providecommand \translation [1]{[#1]}%
\providecommand \BibitemOpen [0]{}%
\providecommand \bibitemStop [0]{}%
\providecommand \bibitemNoStop [0]{.\EOS\space}%
\providecommand \EOS [0]{\spacefactor3000\relax}%
\providecommand \BibitemShut  [1]{\csname bibitem#1\endcsname}%
\let\auto@bib@innerbib\@empty
%</preamble>
\bibitem [{\citenamefont {Mazin}\ \emph {et~al.}(2008)\citenamefont {Mazin},
  \citenamefont {Singh}, \citenamefont {Johannes},\ and\ \citenamefont
  {Du}}]{10.1103/PhysRevLett.101.057003}%
  \BibitemOpen
  \bibfield  {author} {\bibinfo {author} {\bibfnamefont {I.~I.}\ \bibnamefont
  {Mazin}}, \bibinfo {author} {\bibfnamefont {D.~J.}\ \bibnamefont {Singh}},
  \bibinfo {author} {\bibfnamefont {M.~D.}\ \bibnamefont {Johannes}}, \ and\
  \bibinfo {author} {\bibfnamefont {M.~H.}\ \bibnamefont {Du}},\ }\href
  {\doibase 10.1103/PhysRevLett.101.057003} {\bibfield  {journal} {\bibinfo
  {journal} {{Phys. Rev. Lett.}}\ }\textbf {\bibinfo {volume} {{101}}},\
  \bibinfo {pages} {057003} (\bibinfo {year} {2008})}\BibitemShut {NoStop}%
\bibitem [{\citenamefont {Mazin}(2010)}]{10.1038/nature08914}%
  \BibitemOpen
  \bibfield  {author} {\bibinfo {author} {\bibfnamefont {I.~I.}\ \bibnamefont
  {Mazin}},\ }\href {\doibase 10.1038/nature08914} {\bibfield  {journal}
  {\bibinfo  {journal} {{Nature}}\ }\textbf {\bibinfo {volume} {{464}}},\
  \bibinfo {pages} {183} (\bibinfo {year} {2010})}\BibitemShut {NoStop}%
\end{thebibliography}%

참고로 외관은 이렇습니다 여기에 이미지 설명을 입력하세요

음, 그렇게 큰 데이터 블록을 라텍스 파일에 붙여넣는 것은 확실히 효과가 있습니다. 하지만 읽을 수 없습니다.

unsrt실제로 여기에 언급된 수정된 스타일을 사용하면unsrt + abbrv 참고문헌을 얻을 수 있나요?. JAP 스타일과 매우 유사한 참조 모양을 생성할 수 있습니다. 파일 에서 수정이 완료되었습니다 unsrt.bst. 원본의 저자 이름은 unsrtJAP 스타일이 아니기 때문입니다. 따라서 ff~에서 f.~로 변경하여 FUNCTION {format.names}JAP 작성자 이름 스타일을 얻었습니다. 생성된 .bbl 파일은 이제 아래와 같이 훨씬 명확해졌습니다.

\begin{thebibliography}{1}

\bibitem{10.1103/PhysRevLett.101.057003}
I.~I. Mazin, D.~J. Singh, M.~D. Johannes, and M.~H. Du.
\newblock {\em {Phys. Rev. Lett.}}, {101}(5):057003, 2008.

\bibitem{10.1038/nature08914}
I.~I. Mazin.
\newblock {\em {Nature}}, {464}(7286):183--186, 2010.

\end{thebibliography}

여기에 이미지 설명을 입력하세요

정확한 JAP 참조 모양을 생성합니다. 다음과 같은 몇 가지 텍스트 대체를 수행할 수 있습니다.

  1. \em 삭제
  2. (5) 및 (7286) 삭제
  3. ":"를 ","로 교체
  4. 연도에 둥근 괄호를 추가하세요.
  5. 굵은 글씨의 101과 464
  6. 183--186을 183으로 변경

위의 작업 목록은 정규식 대체 지식을 통해 쉽게 수행할 수 있습니다. 그리고 마지막으로 우리는 정확히 동일한 JAP 참조 스타일을 생성하는 다음 \bibitem을 얻었습니다.

\begin{thebibliography}{1}
\bibitem{10.1103/PhysRevLett.101.057003}
I.~I. Mazin, D.~J. Singh, M.~D. Johannes, and M.~H. Du.
\newblock {{Phys. Rev. Lett.}} \textbf{101}, 057003 (2008).

\bibitem{10.1038/nature08914}
I.~I. Mazin.
\newblock {{Nature}} \textbf{464}, 183 (2010).
\end{thebibliography}

in ff~으로 변경하는 것과 마찬가지로 올바른 JAP 스타일 작성자 이름이 제공됩니다. 나는 단일 단계에서 JAP 스타일의 올바르고 명확한 \bibitems를 생성하기 위해 파일을 몇 가지 더 수정하면 된다고 생각하므로 정규식 대체 후처리가 필요하지 않습니다.f.~unsrt.bstunsrt.bst

답변1

이제 내 질문에 답할 수 있을 것 같아요.

이 문제의 핵심은 사용자 정의 참고문헌 스타일 bst 파일을 생성하는 것입니다.

이를 수행하는 방법에는 두 가지가 있습니다.

  1. 패키지에서 makebst 도구를 사용하십시오.맞춤형 턱받이
  2. Java 기반 소프트웨어 사용턱받이

makebst원하는 참조 스타일의 형식과 관련된 약 70가지 질문에 답한 후 사용자 정의 .bst 파일을 생성하는 명령줄 도구입니다. 나에게는 그다지 친숙하지 않습니다. 이 기사를 읽으면 단계별로 사용 ​​방법을 배울 수 있습니다.LaTeX, 참고문헌 관리 및 스타일.

반면에 사용하기가 bib-it훨씬 쉽다는 것을 알았습니다. (저자에게 감사드립니다 bib-it). 그래픽인 이 있습니다 Bibtex style generator. 이제 bib-it단 몇 분만에 JAP 스타일 .bst 파일을 생성하는 방법을 보여드리겠습니다 .


을 열고 bib-it"도구-->스타일 생성기"를 클릭합니다. 라는 제목의 그래픽 인터페이스가 표시됩니다 Bibtex style generator. 당신이 해야 할 일은 다음 그림에 표시된 3단계 설정입니다.

  1. 기사 여기에 이미지 설명을 입력하세요
  2. 여기에 이미지 설명을 입력하세요
    1. 작가 여기에 이미지 설명을 입력하세요

마지막으로 "생성 및 저장"을 누르면 사용자 정의 bst 파일이 생성됩니다.

생성된 참조의 모양은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

자동으로 생성된 .bbl 파일은 매우 명확합니다.

\begin{thebibliography}{}

\bibitem{10.1103/PhysRevLett.101.057003}
I.~I. Mazin, D.~J. Singh, M.~D. Johannes and M.~H. Du, {Phys. Rev. Lett.}
  \textbf{{101}}, 057003 (2008).

\bibitem{10.1038/nature08914}
I.~I. Mazin, {Nature} \textbf{{464}}, 183--186 (2010).

\end{thebibliography}

유일한 결함은 "페이지"입니다. JAP에는 시작 페이지만 필요합니다. 이 문제는 정규식을 사용한 단일 대체 작업으로 해결할 수 있습니다.

답변2

환경을 사용하여 서문 시작 부분(라인을 따라 \documentclass) 에 bib 파일의 내용을 삽입할 수 있습니다 filecontents.

\usepackage{filecontents} 
\begin{filecontents} {mwe.bib}
@online{tab:test,
  author                   = {Doe, John},
  Url                      = {http://www.example.com/images/image.jpg},
  Urldate                  = {2014-02-25},
  Timestamp                = {2014.06.13},
  Note                     = {Table \ref{tab1}}, %<== this should point to your table caption label
  year                     = {2014}, %this is necessary for the in-text citation to work
}
\end{filecontents}

관련 정보