DOI、MR、Zbl、arxiv 用の BibTeX フィールドはありますか?

DOI、MR、Zbl、arxiv 用の BibTeX フィールドはありますか?

私はいくつかのテキストで、MR、Zbl、arxiv、時にはdoiへのハイパーリンクを含む、きれいにフォーマットされた参考文献を何度か見たことがあります。たとえば、次のようなものです(この紙):

  • Boris Albar と Daniel Gonçalves。Kr マイナー自由グラフの三角形について。2013 年。arXiv:1304.5468
  • 河原林健一、宋子霞。独立数とクリークマイナー。グラフ理論誌、56(3):219–226、2007年。doi:10.1002/jgt.20268。 氏:2355127
  • Alexandr V. Kostochka. 与えられた平均頂点次数を持つグラフの最小 Hadwiger 数。Metody Diskret. Analiz.、38:37–58、1982。MR:0713722、Zbl:0544.05037

このようなものを取得するにはどの BibTeX スタイルを使用できますか? どのフィールドが使用され、どのようにフォーマットされますか?

これを手動で(BibTeX なしで)行うにはどうすればよいでしょうか?

答え1

biblatexこういうことはとても得意です。

biblatex各エントリに対して指定できる宛先は 1 つだけなのでeprint、異なる電子プリント タイプごとに新しいフィールドを作成します。

biblatexそのためには、逐語的フィールドを提供し、すべてのエントリ タイプで有効にするように要求する必要があります。 *これは、データモデル ( .dbx) ファイルを介して行われます。そのファイルは、以下の例で で作成されますがfilecontents、実際にはおそらくこれを行わず、.dbxTeX が見つけられる場所にファイルをコピーするだけです。

このファイルをext-eprint.dbx

\ProvidesFile{ext-eprint.dbx}[2016/09/11 extended stand-alone eprint fields]
\DeclareDatamodelFields[type=field,datatype=verbatim]{arxiv,mr,zbl,jstor,hdl,pubmed,googlebooks,pmcid}
\DeclareDatamodelEntryfields{arxiv,mr,zbl,jstor,hdl,pubmed,googlebooks,pmcid}
\DeclareDatamodelFields[type=field,datatype=literal]{arxivclass}
\DeclareDatamodelEntryfields{arxivclass}

次に、データモデル ファイルをロードする必要があります。 と呼ばれる場合、ロード時にext-eprint.dbxオプションdatamodel=ext-eprintを に渡します。biblatex

任意のエイリアスを追加することができます

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=pmid, fieldtarget=pubmed]
    }
  }
}

そしてもちろん、これらの電子プリントにはフォーマットが必要であり、一般的なパターンは非常に似ています

\makeatletter
\DeclareFieldFormat{arxiv}{%
  arXiv\addcolon\space
  \ifhyperref
    {\href{http://arxiv.org/\abx@arxivpath/#1}{%
       \nolinkurl{#1}%
       \iffieldundef{arxivclass}
         {}
         {\addspace\texttt{\mkbibbrackets{\thefield{arxivclass}}}}}}
    {\nolinkurl{#1}
     \iffieldundef{arxivclass}
       {}
       {\addspace\texttt{\mkbibbrackets{\thefield{arxivclass}}}}}}
\makeatother
\DeclareFieldFormat{pmcid}{%
  PMCID\addcolon\space
  \ifhyperref
    {\href{http://www.ncbi.nlm.nih.gov/pmc/articles/#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldFormat{mr}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=MR#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldFormat{zbl}{%
  Zbl\addcolon\space
  \ifhyperref
    {\href{http://zbmath.org/?q=an:#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldAlias{jstor}{eprint:jstor}
\DeclareFieldAlias{hdl}{eprint:hdl}
\DeclareFieldAlias{pubmed}{eprint:pubmed}
\DeclareFieldAlias{googlebooks}{eprint:googlebooks}

biblatexeprintbibmacroはeprint情報を印刷するために使用するので、そこに新しいタイプを追加するだけです

\renewbibmacro*{eprint}{%
  \printfield{arxiv}%
  \newunit\newblock
  \printfield{jstor}%
  \newunit\newblock
  \printfield{mr}%
  \newunit\newblock
  \printfield{zbl}%
  \newunit\newblock
  \printfield{hdl}%
  \newunit\newblock
  \printfield{pubmed}%
  \newunit\newblock
  \printfield{pmcid}%
  \newunit\newblock
  \printfield{googlebooks}%
  \newunit\newblock
  \iffieldundef{eprinttype}
    {\printfield{eprint}}
    {\printfield[eprint:\strfield{eprinttype}]{eprint}}}

ムウェ

\documentclass[a4paper,12pt]{article}%
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}

\begin{filecontents*}{ext-eprint.dbx}
\ProvidesFile{ext-eprint.dbx}[2016/09/11 extended stand-alone eprint fields]
\DeclareDatamodelFields[type=field,datatype=verbatim]{arxiv,mr,zbl,jstor,hdl,pubmed,googlebooks,pmcid}
\DeclareDatamodelEntryfields{arxiv,mr,zbl,jstor,hdl,pubmed,googlebooks,pmcid}
\DeclareDatamodelFields[type=field,datatype=literal]{arxivclass}
\DeclareDatamodelEntryfields{arxivclass}
\end{filecontents*}

\begin{filecontents*}{\jobname.bib}
@article{ContEp,
  author        = {Mark G. Frei and Hitten P. Zaveri and Susan Arthurs and Gregory K. Bergey and Christophe Jouny and Klaus Lehnertz and Jean Gotman and Ivan Osorio and Theoden I. Netoff and Walter J. Freeman and John Jefferys and Gregory Worrell and Michel Le Van Quyen and Steven J. Schiff and Florian Mormannn},
  title         = {Controversies in epilepsy},
  subtitle      = {Debates held during the Fourth International Workshop on Seizure Prediction},
  journaltitle  = {Epilepsy \& Behavior},
  volume        = {19},
  number        = {1},
  pages         = {4-16},
  date          = {2010-09},
  doi           = {10.1016/j.yebeh.2010.06.009},
  pmcid         = {PMC2943379},
  pmid          = {20708976},
}
@article{frege,
  author        = {Gottlob Frege},
  title         = {The Thought},
  subtitle      = {A Logical Inquiry},
  journaltitle  = {Mind},
  series        = {newseries},
  volume        = {65},
  number        = {259},
  jstor         = {2251513},
  date          = {1956-07},
  pages         = {289-311},
}
@online{hawking,
  author      = {S. W. Hawking},
  title       = {Information Preservation and Weather Forecasting for Black Holes},
  arxiv       = {1401.5761},
  arxivclass  = {hep-th},
  date        = {2014-01-22},
}
@online{albar,
  author  = {B. Albar and D. Gon{\c c}alves},
  title   = {On triangles in $K_r$-minor free graphs},
  arxiv   = {1304.5468},
  year    = 2013,
}
@article{kawa,
  author    = {Ken-ichi Kawarabayashi and Zi-Xia Song},
  title     = {Independence number and clique minors},
  journal   = {J. Graph Theory},
  volume    = 56,
  number    = 3,
  pages     = {219-226},
  year      = 2007,
  doi       = {10.1002/jgt.20268},
  mr        = {2355127},
}

@article{kostochka,
  author    = {A. V. Kostochka},
  title     = {On the minimum of the Hadwiger number for graphs with given mean degree of vertices},
  journal   = {Metody Diskretn. Anal.},
  volume    = {38},
  pages     = {37--58},
  year      = {1982},
  mr        = {0713722},
  zbl       = {0544.05037},
}
\end{filecontents*}

\usepackage[backend=biber, style=authoryear-icomp, dashed=true, datamodel=ext-eprint]{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=pmid, fieldtarget=pubmed]
    }
  }
}

\makeatletter
\DeclareFieldFormat{arxiv}{%
  arXiv\addcolon\space
  \ifhyperref
    {\href{http://arxiv.org/\abx@arxivpath/#1}{%
       \nolinkurl{#1}%
       \iffieldundef{arxivclass}
         {}
         {\addspace\texttt{\mkbibbrackets{\thefield{arxivclass}}}}}}
    {\nolinkurl{#1}
     \iffieldundef{arxivclass}
       {}
       {\addspace\texttt{\mkbibbrackets{\thefield{arxivclass}}}}}}
\makeatother
\DeclareFieldFormat{pmcid}{%
  PMCID\addcolon\space
  \ifhyperref
    {\href{http://www.ncbi.nlm.nih.gov/pmc/articles/#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldFormat{mr}{%
  MR\addcolon\space
  \ifhyperref
    {\href{http://www.ams.org/mathscinet-getitem?mr=MR#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldFormat{zbl}{%
  Zbl\addcolon\space
  \ifhyperref
    {\href{http://zbmath.org/?q=an:#1}{\nolinkurl{#1}}}
    {\nolinkurl{#1}}}
\DeclareFieldAlias{jstor}{eprint:jstor}
\DeclareFieldAlias{hdl}{eprint:hdl}
\DeclareFieldAlias{pubmed}{eprint:pubmed}
\DeclareFieldAlias{googlebooks}{eprint:googlebooks}

\renewbibmacro*{eprint}{%
  \printfield{arxiv}%
  \newunit\newblock
  \printfield{jstor}%
  \newunit\newblock
  \printfield{mr}%
  \newunit\newblock
  \printfield{zbl}%
  \newunit\newblock
  \printfield{hdl}%
  \newunit\newblock
  \printfield{pubmed}%
  \newunit\newblock
  \printfield{pmcid}%
  \newunit\newblock
  \printfield{googlebooks}%
  \newunit\newblock
  \iffieldundef{eprinttype}
    {\printfield{eprint}}
    {\printfield[eprint:\strfield{eprinttype}]{eprint}}}


\begin{document}
  \nocite{baez/online,wassenberg,hawking,albar,kawa,kostochka,frege,ContEp}
  \printbibliography
\end{document}

ここに画像の説明を入力してください

* ドキュメントでは外部データモデルファイルをbiblatexロードすることを推奨していますが、ドキュメント自体でも動作します。§4.5.3を参照してください。\DeclareDatamodelFields\DeclareDatamodelEntryfieldsデータモデル仕様biblatexドキュメンテーションバージョン2.9以降では、\DeclareDatamodel...コマンドはファイルに外部化する必要があります.dbxデータ モデル マクロはプリアンブルでは使用できません

答え2

このようなカスタム書式変更は、最近開発されたBibulousプロジェクト(http://nzhagen.github.io/bibulous/)。OPの例では、データベースファイルがあります

@arxiv{one,
  author = {B. Albar and D. Gon{\c c}alves},
  title = "{On triangles in K\_r-minor free graphs}",
  eprint = {1304.5468},
  year = 2013
}

@article{two,
  author = {Ken-ichi Kawarabayashi and Zi-Xia Song},
  title = {Independence number and clique minors},
  journal = {J. Graph Theory},
  volume = 56,
  number = 3,
  pages = {219-226},
  year = 2007,
  doi = {10.1002/jgt.20268},
  mr = {2355127}
}

@article{three,
  author = {A. V. Kostochka},
  title = {On the minimum of the Hadwiger number for graphs with given mean degree of vertices},
  journal = {Metody Diskretn. Anal.},
  volume = {38},
  pages = {37--58},
  year = {1982},
  mr = {0713722},
  zbl = {0544.05037}
}

これらのデータベース エントリに対して、次のように、、、およびフィールドzblmr使用するカスタマイズされたテンプレートを作成できますdoieprint

TEMPLATES:
arxiv = <au>. <title>. <year>. arXiv: \href{http://arxiv.org/abs/<eprint>}{<eprint>}.
article = <au>. <title>. <journal>, <volume>[(<number>)]:[<startpage>--<endpage>|<startpage>|<eid>|], <year>.[ doi: \href{http://dx.doi.org/<doi>}{<doi>}.][ MR: \href{http://www.ams.org/mathscinet-getitem?mr=MR<mr>}{<mr>}.][ Zbl: \href{http://zbmath.org/?q=an:<zbl>}{<zbl>}.]

上記のスニペットは実際には完全なスタイルテンプレートファイルであることに注意してください。次のLaTeXメインファイルを使用すると

\documentclass{article}
\usepackage[colorlinks=True,urlcolor=blue,citecolor=blue,breaklinks=true]{hyperref}

\begin{document}
\nocite{one,two,three}
\bibliographystyle{mybst}
\bibliography{mybib}
\end{document}

OP が要求したフォーマットされた参考文献リストを取得します。

ここに画像の説明を入力してください

関連情報