bibtex を使用して、Kelley の著書「General topology」の参考文献スタイルを取得します。

bibtex を使用して、Kelley の著書「General topology」の参考文献スタイルを取得します。

bibliography styleケリーの本を入手したいのですが一般的なトポロジー: ここに画像の説明を入力してください ここに画像の説明を入力してください

私は選択肢を読んできましLaTeXここどうやらケリーの本のようなものは存在しないようです。

欲しいものを手に入れることは可能でしょうか?

ありがとう

PD: 言っていませんが、標準のbibtex、つまりdata_base.bib+を使用することにstyle_file.bstなっていますが、追加のパッケージが必要になってもかまいません。@AlanMunn は、そのオプションは難しいと言っています。別の解決策を自由に教えてください。私はスタイルだけに焦点を当てており、方法には焦点を当てていません。

補遺

@moeweのアドバイスに従って、再現したい主な部分を強調します。明らかにフォーマットです

著者 ( sc) 引用 (新しい著者ごとにインデントして再開します)。

適切な引用の形式は問いません。例えば、

タイトル(版)、編集者、国(年)。注記

本や、おそらく

タイトル、ジャーナル、巻数(年bf)、ジャーナルのページ数(年)、

しかし、それはまったく問題ではありません。

私がフィールドを持ちたいもの字幕字幕を正しく書けるようにする。字幕は注記田畑。

そして最後に、 を使用すると\cite{kuratowski:topologie2}、Kuratowski [2] を自動的に取得したいと思います。

ありがとう。

答え1

私は、スタイルの「興味深い」部分、つまり著者+番号の引用と大まかな参考文献のレイアウトに焦点を当てました。残りの調整は、このサイトで少し調べればできるはずです。

スタイルをbiblatex-philosophy'sに基づいている場合はphilosophy-modern、引用が「著者年」ではなく「著者番号」であることを確認するだけで済みます。

現時点では、それを実現する簡単な方法は思いつきません(機能リクエストは出ています:https://github.com/plk/biblatex/issues/718) なので、次の方法を思いつきました。著者名のみをラベルに使用するアルファベットスタイルを使用していると仮定します。通常は著者style=alphabetic名と年の一部のみを使用します (例: SR98、Knu84)。ラベルがあいまいな場合は、Biber が値を計算しますextraalpha(例: Knu86)。1つの、Knu86b)。ラベルは名前だけなので、extraalpha'Nussbaum' ('Nussbaum' の他の作品がない場合) と 'Knutha'、'Knuthb' が取得されます。これがextraalphaほぼ私たちの数です。'Nussbaum' がない場合はextraalpha1 を取得し、そうでない場合はextraalphaを取得します。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=philosophy-modern, backend=biber, labelalpha, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}


\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field{labelname}
  }
}

\renewbibmacro*{relateddate}{%
  \setunit*{\addspace}%
  \printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}

\DeclareFieldFormat{extraalpha}{\mkbibbrackets{#1}}
\renewbibmacro{date+extradate}{%
  \postsepyear{%
    \usebibmacro{extralabel}}}

\newbibmacro{extralabel}{%
  \iffieldundef{extraalpha}
    {\printtext[extraalpha]{1}}
    {\printfield{extraalpha}}}

\newbibmacro{cite:extralabel}{%
  \printtext[bibhyperref]{\usebibmacro{extralabel}}}

\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
  \ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \usebibmacro{cite:reinit}}
       {\iffieldequals{namehash}{\cbx@lasthash}
          {\setunit{\addcomma\space}%
           \usebibmacro{cite:extralabel}}
          {\printnames{labelname}%
           \setunit{\addspace}%
           \usebibmacro{cite:extralabel}%
           \savefield{namehash}{\cbx@lasthash}}}}
\makeatother

\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}

\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

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


biblatexextraname3.12では、 を使用したハックの代わりにここで使用できる新しいカウンターが導入されましたextraalpha。上記のコードでextraalphaを に置き換え、とオプションを削除するだけです。extraname\DeclareLabelalphaTemplatelabelalpha

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=philosophy-modern, backend=biber, giveninits, uniquename=init, mergedate=false, volnumformat=plain]{biblatex}
\addbibresource{biblatex-examples.bib}

\renewbibmacro*{relateddate}{%
  \setunit*{\addspace}%
  \printtext[parens]{\printdate}}
\renewbibmacro*{commarelateddate}{\usebibmacro{relateddate}}

\renewbibmacro{date+extradate}{%
  \postsepyear{%
    \usebibmacro{extralabel}}}

\DeclareFieldFormat{extraname}{\mkbibbrackets{#1}}
\newbibmacro{extralabel}{%
  \iffieldundef{extraname}
    {\printtext[extraname]{1}}
    {\printfield{extraname}}}

\newbibmacro{cite:extralabel}{%
  \printtext[bibhyperref]{\usebibmacro{extralabel}}}

\makeatletter
\renewbibmacro*{cite:AY:noshorthand}{%
  \ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \usebibmacro{cite:reinit}}
       {\iffieldequals{namehash}{\cbx@lasthash}
          {\setunit{\addcomma\space}%
           \usebibmacro{cite:extralabel}}
          {\printnames{labelname}%
           \setunit{\addspace}%
           \usebibmacro{cite:extralabel}%
           \savefield{namehash}{\cbx@lasthash}}}}
\makeatother

\DeclareNameAlias{sortname}{given-family}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}{\textsc}}

\DeclareFieldFormat*{title}{\mkbibemph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}

\begin{document}
\cite{sigfridsson,worman,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

出力は同じです。

関連情報