Holen Sie sich den Bibliographiestil von Kelleys Buch „General topology“ mit Bibtex

Holen Sie sich den Bibliographiestil von Kelleys Buch „General topology“ mit Bibtex

Ich möchte bibliography styledas Buch von KelleyAllgemeine Topologie: Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Ich habe die Optionen gelesen, LaTeXdieHierund es gibt anscheinend niemanden, der Kelleys Buch gleicht.

Ist es möglich, zu bekommen, was ich will?

Danke

PD: Ich habe es nicht gesagt, aber es soll der Standard verwendet werden bibtex, also data_base.bib+ style_file.bst, aber es macht mir nichts aus, wenn ich zusätzliche Pakete bräuchte. @AlanMunn sagt, mit dieser Option ist es schwierig. Bitte geben Sie ruhig eine andere Lösung. Ich konzentriere mich nur auf den Stil, nicht auf die Art und Weise.

Nachtrag.

Dem Rat von @moewe folgend werde ich den Hauptteil hervorheben, den ich nachbilden möchte. Es ist offensichtlich das Format

Autor (in sc) Zitat (eingerückt und bei jedem neuen Autor neu gestartet).

Das Format des richtigen Zitats ist egal. Ich möchte zum Beispiel

Titel (Ausgabe), Redaktion, Land (Jahr). Anmerkungen

für Bücher und vielleicht

Titel, Zeitschrift, Band (in bf) Seiten (Jahr) für Zeitschriften,

aber das spielt überhaupt keine Rolle.

Was ich gerne hätte, ist ein FeldUntertitelUntertitel richtig schreiben zu können, denn manchmal sind sie inNotizFelder.

\cite{kuratowski:topologie2}Und schließlich möchte ich , wenn ich verwende , automatisch Kuratowski [2] erhalten.

Danke.

Antwort1

Ich habe mich auf den „interessanten“ Teil des Stils konzentriert: die Autor- und Nummernzitierung und das grobe Layout der Bibliografie. Die restlichen Optimierungen sollten mit ein wenig Recherche auf dieser Site machbar sein.

biblatex-philosophyWenn wir unseren Stil auf 's basieren philosophy-modern, müssen wir nur sicherstellen, dass die Zitate nicht „Autorjahr“, sondern „Autornummer“ lauten.

Mir fällt im Moment keine einfache Möglichkeit ein, das zu tun (Funktionsanforderung ist draußen:https://github.com/plk/biblatex/issues/718), also habe ich mir Folgendes ausgedacht. Wir tun so, als würden wir einen alphabetischen Stil verwenden, der nur die Autorennamen in seiner Beschriftung verwendet. Normalerweise werden style=alphabeticnur Teile des Autorennamens und des Jahres verwendet (z. B. SR98, Knu84). Wenn eine Beschriftung mehrdeutig ist, berechnet Biber einen extraalphaWert (z. B. Knu86A, Knu86B). Da unsere Bezeichnungen nur die Namen sind, extraalphawürden wir 'Nussbaum' erhalten (wenn es kein anderes Werk von 'Nussbaum' gibt) und 'Knutha', 'Knuthb'. Das extraalphaist ungefähr unsere Zahl: Wenn es kein ('Nussbaum') gibt, extraalphanehmen wir 1, andernfalls extraalphaist das, was wir verwenden.

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

Bildbeschreibung hier eingeben


biblatex3.12 bietet einen neuen extranameZähler, den wir hier anstelle des Hacks mit verwenden können extraalpha. Ersetzen Sie im obigen Code einfach extraalphadurch und lassen Sie die Option und weg.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}

Die Ausgabe ist die gleiche.

verwandte Informationen