von domwass » Mi 25. Aug 2010, 09:51
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.-
Prenote und Postnote sind dazu da, die optionalen Argumente des \cite-
Befehls auszugeben, wie der folgende Pseudocode verdeutlichen soll:[code]% Pseudocode:
\cite[prenote][postnote]{BibTeX-Key}[/code]
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.
[code]\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}[/code]
Gruß,
Dominik.-