Ich möchte bibliography style
das Buch von KelleyAllgemeine Topologie:
Ich habe die Optionen gelesen, LaTeX
dieHierund 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-philosophy
Wenn 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=alphabetic
nur Teile des Autorennamens und des Jahres verwendet (z. B. SR98, Knu84). Wenn eine Beschriftung mehrdeutig ist, berechnet Biber einen extraalpha
Wert (z. B. Knu86A, Knu86B). Da unsere Bezeichnungen nur die Namen sind, extraalpha
würden wir 'Nussbaum' erhalten (wenn es kein anderes Werk von 'Nussbaum' gibt) und 'Knutha', 'Knuthb'. Das extraalpha
ist ungefähr unsere Zahl: Wenn es kein ('Nussbaum') gibt, extraalpha
nehmen wir 1, andernfalls extraalpha
ist 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}
biblatex
3.12 bietet einen neuen extraname
Zähler, den wir hier anstelle des Hacks mit verwenden können extraalpha
. Ersetzen Sie im obigen Code einfach extraalpha
durch und lassen Sie die Option und weg.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}
Die Ausgabe ist die gleiche.