`unsrt.bst` ファイルを変更して、簡潔で読みやすい Jounal of Applied Physics(JAP) スタイルの .bbl ファイルを生成するにはどうすればよいでしょうか?

`unsrt.bst` ファイルを変更して、簡潔で読みやすい Jounal of Applied Physics(JAP) スタイルの .bbl ファイルを生成するにはどうすればよいでしょうか?

Journal Of Applied Physics(JAP)に論文を投稿するつもりです。そこでrevtex4-1ドキュメントクラスを使用しています\documentclass[aip,jap,reprint,superscriptaddress,amsmath,amssymb]{revtex4-1}

論文の準備中、.bib ファイルを使用して参考文献リストを生成します。しかし、提出の時期が来たので、参考文献を \bibitems として LaTeX ファイルに埋め込みたいと考えています。1 つの方法は、LaTeX 処理中に .bib ファイルによって自動的に生成される .bbl ファイルの内容をコピーすることです。

Jon がコメントしたように、.bbl ファイルの内容は documentclass によって制御されます。しかし、問題は、JAP documentclass スタイルで生成された .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}%

参照の外観は次のようになります ここに画像の説明を入力してください

まあ、このような巨大なデータ ブロックを LaTeX ファイルに貼り付けることは確かに機能します。ただし、読み取り不可能です。

実際、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 参照スタイルを生成する次の \bibitems が得られました。

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

ff~に変更すると、正しい JAP スタイルの著者名が得られます。 1 つのステップで JAP スタイルの正しく明確な \bibitems を生成するには、ファイルにさらにいくつかの変更を加えるだけでよいと思います。そのため、正規表現の置換後処理は必要ありません。f.~unsrt.bstunsrt.bst

答え1

今なら自分の疑問に自分で答えられるかもしれないと思う。

この問題の解決の鍵は、カスタム参考文献スタイルの bst ファイルを生成することです。

それには2つの方法があります

  1. パッケージ内のmakebstツールを使用するカスタムビブ
  2. Javaベースのソフトウェアを使用するビブイット

makebstは、必要な参照スタイルの形式に関連する約70の一連の質問に答えた後、カスタム.bstファイルを生成するコマンドラインツールです。私にとってはあまり使いやすくありませんが、この記事を読んでステップバイステップで使い方を学ぶことができます。LaTeX、参考文献管理とスタイル

一方、 を使用する方がbib-itはるかに簡単であることがわかりました ( の作者に感謝しますbib-it)。 には、グラフィカルな があります。ここでは、 を使用して、わずか数分で JAP スタイルの .bst ファイルを生成するBibtex style generator方法を説明します。bib-it


を開いて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

環境を使用して、bib ファイルの内容の内容をプリアンブルの先頭 (\documentclass行の後ろ)に挿入できます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}

関連情報