Biblatex: Eigener Zitierstil

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: Eigener Zitierstil

Beitrag von IrenaSekuta »

Hallo zusammen,

nachdem ich biblatex zum Laufen bekommen habe, übe ich mich im Programmieren eigener Zitier- und Literaturstile.

Anbei mein 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}

% Standardmakros umdefinieren
\renewbibmacro{prenote}{/}
\renewbibmacro{postnote}{/}

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

\DeclareCiteCommand{\cite}
  {\usebibmacro{prenote}}
  {\usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\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 = {99}}

@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 = {108}}

@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 = {44}}
\end{filecontents}

\usepackage[%
	bibstyle=draft,			% Literaturverzeichnis-Stil
	citestyle=Zitierstil,            % Zitierstil
	block=par,					% Einträge im LitVerz durch Absätze trennen
	natbib = true,
	hyperref = true%
]{biblatex}

% Daten für Literaturverzeichnis
\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}
Wie bekomme ich es hin, dass "\cite[Anhang 1.2]{7009}" im Text auch als "/7009, Anhang 1.2/ ausgegeben wird? Beim Erstellen des eigenen Zitierstiles habe ich den Zitierstil "draft" genommen und entschlackt. Verstanden habe ich vieles nicht. Aber eine Frage nach der anderen. :-)

Eventuell ist jemand bereit mit mir das Erstellen eines eigenen Zitirstiles durchzugehen, sodass ich am Beispiel lernen kann.

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 »

Prenote und Postnote sind dazu da, die optionalen Argumente des \cite-
Befehls auszugeben, wie der folgende Pseudocode verdeutlichen soll:
% Pseudocode:
\cite[prenote][postnote]{BibTeX-Key}
Es ist also keine gute Idee, einfach prenote und postnote umzudefinieren.
Wenn die Schrägstriche also vor der prenote und nach der postnote
stehen sollen (und nicht einfach um den zitierten Literatureintrag selbst),
dann würde ich den \cite-Befehl entsprechend umdefinieren (siehe
Minimalbeispiel unten). Für \printtext und \addslash verweise ich jetzt
einfach mal auf die biblatex-Doku.
\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}{\jobname.bib} 
@TECHREPORT{99, 
author = {{Hans Mustermann}}, 
title = {Titel zu Hans Mustermann}, 
institution = {Test GmbH}, 
year = {1973-11-05}, 
number = {A99}, 
sortkey = {0099}, 
shorthand = {99}} 

@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 = {108}} 

@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 = {44}} 
\end{filecontents} 

\usepackage[% 
   bibstyle=draft,         % Literaturverzeichnis-Stil 
   citestyle=Zitierstil,            % Zitierstil 
   block=par,               % Einträge im LitVerz durch Absätze trennen 
   natbib = true, 
   hyperref = true% 
]{biblatex} 

% Daten für Literaturverzeichnis 
\bibliography{\jobname} 

\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[vgl.][]{108} zu demonstrieren. 

% Literatur ausgeben 
\printbibliography   % Für Biblatex 

\end{document}
Gruß,
Dominik.-

Antworten