Biblatex: Literaturverzeichnis nach CiteKey sortieren

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


IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Biblatex: Literaturverzeichnis nach CiteKey sortieren

Beitrag von IrenaSekuta »

Hallo zusammen,

anbei mein Minimalbeispiel:
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[%
	bibstyle=draft,			% Aussehen des Literaturverzeichnisses
	citestyle=debug,		% Zitierstil
	sorting = debug,
        %sorting = all,
	block=par					% Einträge im LitVerz durch Absätze trennen
]{biblatex}

\listfiles
\usepackage{filecontents}

\begin{filecontents}{Literatur.bib}
@TECHREPORT{107,
author = {{Hans Mustermann}},
title = {Titel zu Hans Mustermann},
institution = {Test GmbH},
year = {1973-11-05},
number = {AA107}
}

@TECHREPORT{4108,
author = {{Gabi Golata}},
title = {Titel zu Gabi Golata},
institution = {Neuer Test AG},
year = {1973-08-08},
number = {BK-hj-23}
}

@TECHREPORT{7009,
author = {{Rüdiger Hins}},
title = {Titel zu Rüdger Hins},
institution = {Egal},
year = {1973-07-03},
number = {RT51-62-73}
}
\end{filecontents}

% Daten für Literaturverzeichnis
\bibliography{Literatur}

\begin{document}
Hier wird nun auf die Literatur referenziert: \cite{4108}, \cite{107}, \cite{7009}

% Literatur ausgeben
\printbibliography  

\end{document}}
Wie ihr sehr, habe ich einen nummerischen CiteKey. Ich möchte nun, dass das Literaturverzeichnis sortiert nach dem CiteKey ausgegeben wird. In Kapitel 3.4 der Biblatex-Doku meine ich verstanden zu haben, dass es mit "sorting = all" funktionieren müsste. Klappt bei mir aber nicht.

Hat jemand eine Idee?

Gruß,

Irena
----------------------------------
- WinXP und Win 7 und ansatzweise Ubuntu 9.10 :-)
- Miktex 2.9 (Portable)
- WinEdt 6

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Du musst das Feld »sortkey« noch jeweils angeben. Der BibTeX-Key ist damit
nicht gemeint!

Gruß,
Dominik.-

IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Beitrag von IrenaSekuta »

Hallo Dominik,

uppps...da ist mir beim posten meines Minimalbespieles ein Fehler unterlaufen. Sorry !!!

Hatte das mit dem sortkey schon bei mir berücksichtigt. Anbei das richtige Minimalbeispiel:
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[%
	bibstyle=draft,			% Aussehen des Literaturverzeichnisses
	citestyle=debug,		% Zitierstil
	sorting = debug,%
	block=par,					% Einträge im LitVerz durch Absätze trennen
]{biblatex}

\listfiles
\usepackage{filecontents}

\begin{filecontents}{Literatur.bib}
@TECHREPORT{107,
author = {{Hans Mustermann}},
title = {Titel zu Hans Mustermann},
institution = {Test GmbH},
year = {1973-11-05},
number = {AA107},
sortkey = {107}
}

@TECHREPORT{4108,
author = {{Gabi Golata}},
title = {Titel zu Gabi Golata},
institution = {Neuer Test AG},
year = {1973-08-08},
number = {BK-hj-23},
sortkey = {4108}
}

@TECHREPORT{108,
author = {{Hansi Mustermann}},
title = {Titel zu Hans Mustermann},
institution = {Test GmbH},
year = {1973-11-05},
number = {AA108},
sortkey = {108}
}

@TECHREPORT{7009,
author = {{Rüdiger Hins}},
title = {Titel zu Rüdger Hins},
institution = {Egal},
year = {1973-07-03},
number = {RT51-62-73},
sortkey = {7009}
}
\end{filecontents}

% Daten für Literaturverzeichnis
\bibliography{Literatur}

\begin{document}
Hier wird nun auf die Literatur referenziert: \cite{7009}, \cite{107}, \cite{4108}, \cite{108}

% Literatur ausgeben
\printbibliography   % Für Biblatex

\end{document}}
Aber es funktioniert nicht. Es wird immer nach der Reihenfolge des Zitierens im Text sortiert.

Gruß,

Irena
----------------------------------
- WinXP und Win 7 und ansatzweise Ubuntu 9.10 :-)
- Miktex 2.9 (Portable)
- WinEdt 6

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

IrenaSekuta hat geschrieben:Aber es funktioniert nicht. Es wird immer nach der Reihenfolge des Zitierens im Text sortiert.
Hier geht es. Ansonsten wäre (je nach Zitierstil) auch möglich, shorthand zu
nehmen. Wenn das Label im Literaturverzeichnis ausgegeben wird, müsste
shorthand eigentlich herangezogen und entsprechend sortiert werden.
Welchen Stil willst du denn eigentlich verwenden (sicherlich ja nicht draft oder
debug…)?

Gruß,
Dominik.-

IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Beitrag von IrenaSekuta »

Nachdem ich mein MikTex-Portable neu aufgespielt habe und biblatex über den Pakemanager neu installiert habe. funktioniert es nun.

Danke für die Hilfe. Alleine schon der Hinweis, dass es bei Dir funktioniert hat mir weitergeholfen!!!

Gruß,

Irena
----------------------------------
- WinXP und Win 7 und ansatzweise Ubuntu 9.10 :-)
- Miktex 2.9 (Portable)
- WinEdt 6

IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Beitrag von IrenaSekuta »

Anscheinend habe ich mich zu früh gefreut.

Anbei das Minimalbeispiel:
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{filecontents}

% Eigenen Zitierstil definieren
\begin{filecontents}{Zitierstil.cbx}
% $Id: Zitierstil.cbx, v 0.1 2010/08/25 08:49:00 $

\ProvidesFile{Zitierstil.cbx}
[\abx@cbxid $Id: Zitierstil.cbx, v 0.1 2010/08/25 08:49:00 $]

\DeclareFieldFormat{citekey}{#1}

\newbibmacro*{cite}{%
  \printtext[bibhyperref]{\printfield[citekey]{entrykey}}}

\DeclareCiteCommand{\cite}
  {\printtext{\addslash}%
   \usebibmacro{prenote}}
  {\usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}%
   \printtext{\addslash}}
   
\endinput 
\end{filecontents}

% Bibtex-Datei erzeugen
\begin{filecontents}{Literatur.bib}
@TECHREPORT{99,
author = {{Hans Mustermann}},
title = {Titel zu Hans Mustermann},
institution = {Test GmbH},
year = {1973-11-05},
number = {A99},
sortkey = {0099},
shorthand = {0099}}

@TECHREPORT{4108,
author = {{Mark Bertold}},
title = {Titel zu Gabi Golata},
institution = {Neuer Test AG},
year = {1973-08-08},
number = {A4108},
sortkey = {4108},
shorthand = {4108}}

@TECHREPORT{108,
author = {{Gabi Opla}},
title = {Titel zu Hans Mustermann},
institution = {Test GmbH},
year = {1973-11-05},
number = {A108},
sortkey = {0108},
shorthand = {0108}}

@TECHREPORT{7009,
author = {{Rüdiger Hins}},
title = {Titel zu Rüdger Hins},
institution = {Egal},
year = {1973-07-03},
number = {A7009},
sortkey = {7009},
shorthand = {7009}}

@TECHREPORT{44,
author = {{Vorname Nachname}},
title = {Titel zu 44},
institution = {Egal},
year = {1973-07-03},
number = {A44},
sortkey = {0044},
shorthand = {0044}}
\end{filecontents}

\usepackage[%
	bibstyle=draft,			% Aussehen des Literaturverzeichnisses
	citestyle=Zitierstil,		% Zitierstil
	natbib = true,%
	sortcites = true,
	sorting = debug,%
	sortcase=true,
	block=par,					% Einträge im LitVerz durch Absätze trennen
	hyperref = auto,		% Kompabilität mit Hyperref-Paket
]{biblatex}
% Literaturverzeichnis angeben
\bibliography{Literatur}

\begin{document}
Hier steht nun \cite[Anhang 1.2]{7009} ein sinnloser Satz \cite{99}, der nichts anderes \cite{4108} bewirken soll als  \cite{44} ein paar Zitate \cite{108} zu demonstrieren.

% Literatur ausgeben
\printbibliography   % Für Biblatex

\end{document}
Leider werden die Einträge im Literaturverzeichnis wie folgt sortiert: 108,4108,44,7009,99 statt 44, 99, 108, 4108, 7008

Es wird doch nach "sortkey" sortiert? Hier macht es keinen Unterschied, ob ich "0044" statt "44" eingebe.

Gruß,

Irena
----------------------------------
- WinXP und Win 7 und ansatzweise Ubuntu 9.10 :-)
- Miktex 2.9 (Portable)
- WinEdt 6

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

IrenaSekuta hat geschrieben:Es wird doch nach "sortkey" sortiert? Hier macht es keinen Unterschied, ob ich "0044" statt "44" eingebe.
Nimm »presort« statt »sortkey«, dann geht’s.

Gruß,
Dominik.-

IrenaSekuta
Forum-Century
Forum-Century
Beiträge: 230
Registriert: Di 2. Dez 2008, 10:05

Beitrag von IrenaSekuta »

Ja, mit z.B. "presort = {0044}" klappt es.

Danke!!!
----------------------------------
- WinXP und Win 7 und ansatzweise Ubuntu 9.10 :-)
- Miktex 2.9 (Portable)
- WinEdt 6

lalelu
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Sa 12. Jun 2010, 18:33

Beitrag von lalelu »

Hallo,

ich möchte mein Literaturstellen in thebibliography in der Reihenfolge sortieren, wie sie im Text vorkommen.

Kennt jemand eine schnelle Möglichkeit, die Literatur so zu sortieren? Hab leider noch nichts gefunden.

Lg, lalelu

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Siehe Option sorting in der biblatex-Anleitung. Mit der Einstellung sorting=none wird nicht sortiert, sondern die Einträge werden in der Reihenfolge, in der sie zitiert werden aufgeführt.

Antworten