\usepackage{biblatex} Autor 4 Buchstaben + Jahr -> [Best9

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


che.guevara
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 14. Nov 2016, 12:21

\usepackage{biblatex} Autor 4 Buchstaben + Jahr -> [Best9

Beitrag von che.guevara »

Hey Leute,

ich komme mit einem Paket nicht weiter:
\documentclass[12pt, bibliography=totoc, final,	parskip=half, headings=small, headinclude, headsepline, listof=totoc, numbers=noenddot, paper=a4, titlepage,]{scrreprt}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=bibtex, texencoding=auto, bibencoding=auto, safeinputenc=true, citestyle=alphabetic, bibstyle=alphabetic, maxbibnames=99, isbn=false]{biblatex}
\addbibresource{literatur.bib}

\DeclareLabelalphaTemplate{%Zitierkürzel mit 4 Buchstaben des ersten Autors plus Jahr
	\labelelement{
		\field[strwidth=4,strside=left,names=1]{labelname}
	}
	\labelelement{
		\field[strwidth=2,strside=right]{year}
	}
}

\begin{document}
Das ist ein Zitat von A. Bestermann \cite{Best01}. \\

Hier steht ein Zitat von mehreren Autoren, aber ich möchte nur den ersten Autor stehen haben \cite{Cami99}.

\printbibliography[title=Literaturverzeichnis]	


\end{document}

Literatur.bib
% Encoding: UTF-8

@Thesis{Best01,
  author      = {A. Bestermann},
  title       = {Mein Buch ist sehr toll},
  institution = {Dissertation, Technische Universtität Berlin},
  year        = {2001},
}

@Book{Cami99,
  author    = {A. Cami and B. Dumi and C. Emil and D. Falo},
  title     = {Überleben in der Wildnis},
  year      = {1999},
  edition   = {1. Aufl.},
  publisher = {Beispielverlag},
}

@Comment{jabref-meta: databaseType:biblatex;}
Und zwar hätte ich gerne, dass mir IMMER der Autor mit 4 Buchstaben abgekürzt wird mit 2 Ziffern vom Erscheinungsjahr.
Bei mehreren Autoren soll das gleiche Prinzip mit dem erst genannten angewandt werden.

Habt ihr eine Idee?

Mit \DeclareLabelalphaTemplate bin ich doch zumindest schonmal auf dem richtigen Weg?

Grüße und alles Gute zum Muttertag an alle Mütter unter uns ;-)

Gast

Beitrag von Gast »

Du bist schon auf dem sehr richtigen Weg. Aber leider kannst Du \DeclareLabelalphaTemplate nur mit biber nutzen. Du verwendest aber noch BibTeX. Stell Dein Dokument also auf backend=bibtex um, und sag auch deinem Editor Bescheid.

Dann sollte es
\documentclass[12pt, bibliography=totoc, final,   parskip=half, headings=small, headinclude, headsepline, listof=totoc, numbers=noenddot, paper=a4, titlepage,]{scrreprt}
\usepackage[english,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber, style=alphabetic, maxbibnames=99, isbn=false]{biblatex}


\usepackage{filecontents} 
\begin{filecontents}{\jobname.bib}
@Thesis{Best01,
  author      = {A. Bestermann},
  title       = {Mein Buch ist sehr toll},
  institution = {Dissertation, Technische Universtität Berlin},
  year        = {2001},
}

@Book{Cami99,
  author    = {A. Cami and B. Dumi and C. Emil and D. Falo},
  title     = {Überleben in der Wildnis},
  year      = {1999},
  edition   = {1},
  publisher = {Beispielverlag},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\DeclareLabelalphaTemplate{%Zitierkürzel mit 4 Buchstaben des ersten Autors plus Jahr
   \labelelement{
      \field[strwidth=4,strside=left,names=1,noalphaothers=true]{labelname}
   }
   \labelelement{
      \field[strwidth=2,strside=right]{year}
   }
}

\begin{document}
Das ist ein Zitat von A. Bestermann \cite{Best01}. \\

Hier steht ein Zitat von mehreren Autoren, aber ich möchte nur den ersten Autor stehen haben \cite{Cami99}.

\printbibliography[title=Literaturverzeichnis]  
\end{document}
tun. (Achtung wegen [d]filecontents[/d] wird eine eventuell vorhandene .bib-Datei mit dem Namen des .tex-Dokuments ohne Warnung überschrieben. Teste das also in einem leeren Ordner, oder zumindest in einem, in dem nichts Lebenswichtiges liegt.)

Mit ,noalphaothers=true unterdrücken wir das '+', das sonst bei mehreren Autoren auftreten würde.

texencoding=auto, bibencoding=auto, ist übrigens Standard. safeinputenc=true, braucht man bei Verwendung von UTF-8 in allen Dateien und mit Biber meist auch nicht (es gibt Ausnahmen, man kann das auch häufig anders lösen, grundsätzlich würde ich die Option erst nutzen, wenn es nicht anders geht). citestyle=alphabetic, bibstyle=alphabetic ist äquivalent zu style=alphabetic.

che.guevara
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 14. Nov 2016, 12:21

Beitrag von che.guevara »

danke für deine Antwort, "Gast" ;-)

Das Paket "filecontents" scheint also dafür zu sein, auch z.B. eine .bib in ein minimalbeispiel einbinden zu können. Wieder was gelernt. Sorry dafür!

Ergebnis scheint wie folgt auszusehen mit einigen Fehlermeldungen. Im Anhang des Posts auch noch ein Bild der Einstellungen.
: Overwriting file `./mini2.bib'.
: 'babel/polyglossia' detected but 'csquotes' missing.
: No file mini2.bbl.
Zeile 38: Citation 'Best01' on page 1 undefined
Zeile 38: Underfull \hbox (badness 10000) in paragraph
Zeile 40: Citation 'Cami99' on page 1 undefined
Zeile 42: Empty bibliography
: There were undefined references.
: Please (re)run Biber on the file:(biblatex) mini2(biblatex) and rerun LaTeX afterwards.
Ich vermute, dass mein biber nicht korrekt funktioniert auf dem System.
Die Einstellungen habe ich alle korrekt übernommen wie es mir der Artikel empfohlen hat.

MikTex sagt mir auch, dass biber korrekt installiert sei!

Unter TeXstudio unter Tools -> Befehle -> Biber kommt nach Klicken auf "Biber" folgende Fehlermeldung:
Prozess gestartet: biber "mini2"

INFO - This is Biber 2.5
INFO - Logfile is 'mini2.blg'
INFO - Reading 'mini2.bcf'
ERROR - Error: Found biblatex control file version 3.3, expected version 3.1.
This means that your biber (2.5) and biblatex (3.7) versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
INFO - ERRORS: 1

Prozess endete mit Fehler(n)
das hat wohl was zu bedeuten, aber ich verstehe nicht wieso. Ich benutze in dem Dokument ja jetzt Biber und kein Biblatex!

Edit:

Biblatex Dokumentation sagt in einer Tabelle:
Biber/biblatex version
2.6/3.5,3.6
2.5 3.4

ich werde jetzt mal schauen, was ich mit MikTex updaten kann.

Bild
Dateianhänge
latex.jpg
latex.jpg (1.16 MiB) 4402 mal betrachtet

Gast

Beitrag von Gast »

Du verwendest jetzt das Backend biber für das Bibliographiepaket biblatex, was Du nicht mehr verwendest ist BibTeX.

Biber und biblatex werden zusammen entwickelt, damit sie ricjtige zusammenarbeiten können, müssen ihre Versionen kompatibel sein. Deine Biber-Version (2.5) ist zu alt für Deine Version von biblatex (3.7, das ist die aktuelle Version).

Du musst also Biber udpaten. In MikTeX machst Du das über 'MikTeX Update', je nach dem, ob Du Biber als Benutzer oder Admin installiert hast, musst Du den User-Modus (nur 'MikTeX Update') oder den Admin-Modus ('MikTeX Update (Admin)') nutzen. Am besten lässt Du beide Udpater jeweils zwei mal durchlaufen (das ist dann sinnvoll, wenn Systempakete aktualisiert werden müssen, in dem Fall sind beim ersten Lauf nur ein paar systemrelevante Pakte zum Aktualisieren markiert, die restlichen werden dann im zweiten Lauf aktualisiert - man sollte nicht auf die Idee kommen, dann selbst andere Pakete zu markieren). Dann sollte alles funktionieren.

Gast

Beitrag von Gast »

Bei TeX.SX gibt es übrigens eine nette Erklärung, was BibTeX und Biber im Vergleich zu biblatex sind: bibtex vs. biber and biblatex vs. natbib. In Question mark or bold citation key instead of citation number ist die Rolle von BibTeX und Biber ausführlich und anschaulich erklärt. (Du kannst, wenn es um die grundsätzliche Rolle dieser Programme geht, beide getrost in denselben Topf werfen. Biber hat aber einige Features mehr als BibTeX und ist daher als biblatex-Backend vorzuziehen.)

che.guevara
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 14. Nov 2016, 12:21

Beitrag von che.guevara »

Vielen Dank,

läuft jetzt super!

Antworten