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' がない場合はextraalpha
1 を取得し、そうでない場合は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}
biblatex
extraname
3.12では、 を使用したハックの代わりにここで使用できる新しいカウンターが導入されましたextraalpha
。上記のコードでextraalpha
を に置き換え、とオプションを削除するだけです。extraname
\DeclareLabelalphaTemplate
labelalpha
\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}
出力は同じです。