von Pitufo » Do 28. Aug 2014, 17:02
% Dokumentenklasse
%-----------------------------------------------
\documentclass[
a4paper,
12pt,
bibliography=totoc, % Literaturvz. ins TOC
%listof=totoc, % Abbildungs- und Tabellenverzeichnis ins TOC
parskip=half,
numbers=noenddot,
captions=tableheading, % Tabellen-Caption überhalb
]{scrreprt}
%-----------------------------------------------
% Auotmatische Abkürzungen (Acronyme). In Sections u.ä. immer die speziellen Befehle \acs und \acl benutzten
% (die erste Verwendung ist nämlich das TOC)
\usepackage[%
printonlyused,
%nohyperlinks,
]{acronym}
%Makros
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\newcommand{\chap}[1]{Kapitel~\ref{chap:#1}}
\newcommand{\zitat}[2]{\parencite[#1]{#2}}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% Bessere Zitate (anstatt einfacher Anführungszeichen). Mit \enquote. BibLatex unterstützt
\usepackage[babel]{csquotes}
%% BibLaTeX
% ------------------------------------------------------------------
% Zitation nach Author-Year
\usepackage%
[%
style = authoryear-comp, % authoryear-comp oder
backend = biber,
hyperref = true,
maxnames = 2,
isbn = true,
doi = true, % DOIs im LitVZ
language = german,
firstinits = true, % Vornamen abkürzen
uniquename = init,
%backref = true, % Seitenzahlen der Verweise im LitVZ
dashed = false, % Falls mehrere gleiche Autoren auftauchen, werden die Einträge mit
% einem Strich abgekürzt. S.a. http://projekte.dante.de/DanteFAQ/BiblatexStile --> autoryear
]{biblatex}
% Nachnames-Formatierung (im Text) anpassen
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
% Im Literaturverzeichnis immer nach "Nachname, Vorname" formatieren. Siehe auch
% http://projekte.dante.de/DanteFAQ/BiblatexReihenfolgeAutoren
% \DeclareNameAlias{sortname}{last-first} % Einfache Variante, formatiert allerdings nicht den Herausgeber!
\DeclareNameFormat{default}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} % Wenn Vorname nur mit Initialien, dann dieses Makro ansonsten
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% % dieses (mit Initialien). s.a. Link oben.
\usebibmacro{name:andothers}}
% Quick Solution: Wir hängen die Jahreszahl vor die Ausgabe der Notizen / Seitenzahlen.
\renewbibmacro*{note+pages}{%
\printfield{year}%
\newunit
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
\renewbibmacro*{chapter+pages}{%
\printfield{year}%
\newunit
\printfield{chapter}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
%\usebibmacro{in:}%
\usebibmacro{journal+issuetitle-mod}%
\newunit
\usebibmacro{byeditor+others}%
\newunit
\usebibmacro{note+pages-mod}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\usebibmacro{bbx:savehash}%
\printnames{author}%
\iffieldundef{authortype}
{\setunit{\addspace}}
{\setunit{\addcomma\space}}}%
\iffieldundef{authortype}
{}
{\usebibmacro{authorstrg}%
\setunit{\addspace}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
%\usebibmacro{date+extrayear}%
}
\newbibmacro*{journal+issuetitle-mod}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid-mod}%
\setunit{\addspace}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
\newbibmacro*{volume+number+eid-mod}{%
\printfield{volume}%
%\setunit*{\adddot}%
%\printfield{number}%
\addspace
\printtext{(}%
\printfield{year}%
\printtext{)}%
\addspace
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
% Jahreszahl wurde schon ausgegeben, muss nicht nochmal passieren.
\newbibmacro*{note+pages-mod}{%
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\AtEveryBibitem{%
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
% Ursprüngliche Formatierung von Zitaten verwenden (lokal für Kopf der Einträge)
\let\multinamedelim\myOriginalMultiNameDelim
\let\finalnamedelim\myOriginalFinalNameDelim
\cite{\thefield{entrykey}}\\
\renewcommand*{\mkbibnamelast}[1]{#1}
% Die neue Formatierung wieder aktivieren -> siehe Hook "\AtBeginBibliography{"
\let\multinamedelim\myBibMultiNameDelim % \let heißt renewcommand (multiNameDelim) --> (eignenen Stil)
\let\finalnamedelim\myBibFinalNameDelim
}%
\AtBeginBibliography{%
\setcounter{maxnames}{99}
\renewcommand*{\mkbibnamelast}[1]{#1}
}
% Zwischen zwei Autoren als Begrenzung einen Semikolon anstatt Komma:
\newcommand*{\myBibMultiNameDelim}{\addsemicolon\space} % Eigenen Stil definieren und weiter unten zuweisen
\newcommand*{\myBibFinalNameDelim}{\addsemicolon\space} %
\renewcommand*{\labelnamepunct}{\addcolon\space} %
\AtBeginBibliography{%
% In neuen Befehl speichern bevor überschrieben
\let\myOriginalMultiNameDelim\multinamedelim
% In neuen Befehl speichern bevor überschrieben
\let\myOriginalFinalNameDelim\finalnamedelim
% Neuen Befehl zuordnen - wurde mit newcommand etwas weiter oben definiert
\let\multinamedelim\myBibMultiNameDelim % \let heißt renewcommand (multiNameDelim) --> (eignenen Stil)
\let\finalnamedelim\myBibFinalNameDelim
}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% ------------------------------------------------------------------
% Literaturdatei
\addbibresource{Test.bib}
% et al. anstatt u. a.
\DefineBibliographyStrings{german}{%
andothers = {et\,al.},
and = {\&},
}
% Formatierung des "title" elements und weitere.
\DeclareFieldFormat[article, inproceedings, incollection, thesis, misc]{title}{\textnormal{#1}}
\DeclareFieldFormat[book]{title}{\textit{#1}}
%\DeclareFieldFormat[article]{journaltitle}{\textnormal{#1}}
%\DeclareFieldFormat[inproceedings, incollection]{booktitle}{\textnormal{#1}}
\DeclareFieldFormat[inproceedings]{booksubtitle}{\enquote{#1}}
% Lengths and Counters, siehe biblatex-Doku
\bibparsep = 0em
\bibitemsep = 1em
\bibhang = 0em
% ------------------------------------------------------------------
%% Eigentliches Dokument
% --------------------------------------------------------
\begin{document}
\chapter{Test}
Das ist das erste Zitat: \zitat{}{Muller.2005}
Das ist das zweite Zitat: \zitat{}{Maier.2010}
\printbibliography
\end{document}
Der Code läuft bei mir und hat auch immer noch den gleichen Fehler, wenn man nach dem ersten mal (F1-F11-F1) das zweite Zitat löscht. Ich hoffe, Ihr könnt damit was anfangen...
Die Test.bib Datei schaut so aus (automatisch von Citavi erstellt):
@thesis{Maier.2010,
author = {Maier, Hans},
year = {2010},
title = {Zum Thema Literaturverzeichnis},
type = {Dissertation},
institution = {Berlin}
}
@online{Muller.2005,
author = {M{\"u}ller, Birgit},
year = {2005},
title = {Latex und Biber}
}
@book{Mustermann.2012,
author = {Mustermann, Max},
year = {2012},
title = {Ein Testtitel},
publisher = {Sch{\"o}ner Verlag}
}
@article{Schulz.2000,
author = {Schulz, Maria},
year = {2000},
title = {So klappt's}
}
[code]
% Dokumentenklasse
%-----------------------------------------------
\documentclass[
a4paper,
12pt,
bibliography=totoc, % Literaturvz. ins TOC
%listof=totoc, % Abbildungs- und Tabellenverzeichnis ins TOC
parskip=half,
numbers=noenddot,
captions=tableheading, % Tabellen-Caption überhalb
]{scrreprt}
%-----------------------------------------------
% Auotmatische Abkürzungen (Acronyme). In Sections u.ä. immer die speziellen Befehle \acs und \acl benutzten
% (die erste Verwendung ist nämlich das TOC)
\usepackage[%
printonlyused,
%nohyperlinks,
]{acronym}
%Makros
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\newcommand{\chap}[1]{Kapitel~\ref{chap:#1}}
\newcommand{\zitat}[2]{\parencite[#1]{#2}}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% Bessere Zitate (anstatt einfacher Anführungszeichen). Mit \enquote. BibLatex unterstützt
\usepackage[babel]{csquotes}
%% BibLaTeX
% ------------------------------------------------------------------
% Zitation nach Author-Year
\usepackage%
[%
style = authoryear-comp, % authoryear-comp oder
backend = biber,
hyperref = true,
maxnames = 2,
isbn = true,
doi = true, % DOIs im LitVZ
language = german,
firstinits = true, % Vornamen abkürzen
uniquename = init,
%backref = true, % Seitenzahlen der Verweise im LitVZ
dashed = false, % Falls mehrere gleiche Autoren auftauchen, werden die Einträge mit
% einem Strich abgekürzt. S.a. http://projekte.dante.de/DanteFAQ/BiblatexStile --> autoryear
]{biblatex}
% Nachnames-Formatierung (im Text) anpassen
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
% Im Literaturverzeichnis immer nach "Nachname, Vorname" formatieren. Siehe auch
% http://projekte.dante.de/DanteFAQ/BiblatexReihenfolgeAutoren
% \DeclareNameAlias{sortname}{last-first} % Einfache Variante, formatiert allerdings nicht den Herausgeber!
\DeclareNameFormat{default}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} % Wenn Vorname nur mit Initialien, dann dieses Makro ansonsten
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% % dieses (mit Initialien). s.a. Link oben.
\usebibmacro{name:andothers}}
% Quick Solution: Wir hängen die Jahreszahl vor die Ausgabe der Notizen / Seitenzahlen.
\renewbibmacro*{note+pages}{%
\printfield{year}%
\newunit
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
\renewbibmacro*{chapter+pages}{%
\printfield{year}%
\newunit
\printfield{chapter}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
%\usebibmacro{in:}%
\usebibmacro{journal+issuetitle-mod}%
\newunit
\usebibmacro{byeditor+others}%
\newunit
\usebibmacro{note+pages-mod}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\usebibmacro{bbx:savehash}%
\printnames{author}%
\iffieldundef{authortype}
{\setunit{\addspace}}
{\setunit{\addcomma\space}}}%
\iffieldundef{authortype}
{}
{\usebibmacro{authorstrg}%
\setunit{\addspace}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
%\usebibmacro{date+extrayear}%
}
\newbibmacro*{journal+issuetitle-mod}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{volume+number+eid-mod}%
\setunit{\addspace}%
\usebibmacro{issue+date}%
\setunit{\addcolon\space}%
\usebibmacro{issue}%
\newunit}
\newbibmacro*{volume+number+eid-mod}{%
\printfield{volume}%
%\setunit*{\adddot}%
%\printfield{number}%
\addspace
\printtext{(}%
\printfield{year}%
\printtext{)}%
\addspace
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
% Jahreszahl wurde schon ausgegeben, muss nicht nochmal passieren.
\newbibmacro*{note+pages-mod}{%
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\AtEveryBibitem{%
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
% Ursprüngliche Formatierung von Zitaten verwenden (lokal für Kopf der Einträge)
\let\multinamedelim\myOriginalMultiNameDelim
\let\finalnamedelim\myOriginalFinalNameDelim
\cite{\thefield{entrykey}}\\
\renewcommand*{\mkbibnamelast}[1]{#1}
% Die neue Formatierung wieder aktivieren -> siehe Hook "\AtBeginBibliography{"
\let\multinamedelim\myBibMultiNameDelim % \let heißt renewcommand (multiNameDelim) --> (eignenen Stil)
\let\finalnamedelim\myBibFinalNameDelim
}%
\AtBeginBibliography{%
\setcounter{maxnames}{99}
\renewcommand*{\mkbibnamelast}[1]{#1}
}
% Zwischen zwei Autoren als Begrenzung einen Semikolon anstatt Komma:
\newcommand*{\myBibMultiNameDelim}{\addsemicolon\space} % Eigenen Stil definieren und weiter unten zuweisen
\newcommand*{\myBibFinalNameDelim}{\addsemicolon\space} %
\renewcommand*{\labelnamepunct}{\addcolon\space} %
\AtBeginBibliography{%
% In neuen Befehl speichern bevor überschrieben
\let\myOriginalMultiNameDelim\multinamedelim
% In neuen Befehl speichern bevor überschrieben
\let\myOriginalFinalNameDelim\finalnamedelim
% Neuen Befehl zuordnen - wurde mit newcommand etwas weiter oben definiert
\let\multinamedelim\myBibMultiNameDelim % \let heißt renewcommand (multiNameDelim) --> (eignenen Stil)
\let\finalnamedelim\myBibFinalNameDelim
}
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% ------------------------------------------------------------------
% Literaturdatei
\addbibresource{Test.bib}
% et al. anstatt u. a.
\DefineBibliographyStrings{german}{%
andothers = {et\,al.},
and = {\&},
}
% Formatierung des "title" elements und weitere.
\DeclareFieldFormat[article, inproceedings, incollection, thesis, misc]{title}{\textnormal{#1}}
\DeclareFieldFormat[book]{title}{\textit{#1}}
%\DeclareFieldFormat[article]{journaltitle}{\textnormal{#1}}
%\DeclareFieldFormat[inproceedings, incollection]{booktitle}{\textnormal{#1}}
\DeclareFieldFormat[inproceedings]{booksubtitle}{\enquote{#1}}
% Lengths and Counters, siehe biblatex-Doku
\bibparsep = 0em
\bibitemsep = 1em
\bibhang = 0em
% ------------------------------------------------------------------
%% Eigentliches Dokument
% --------------------------------------------------------
\begin{document}
\chapter{Test}
Das ist das erste Zitat: \zitat{}{Muller.2005}
Das ist das zweite Zitat: \zitat{}{Maier.2010}
\printbibliography
\end{document}
[/code]
Der Code läuft bei mir und hat auch immer noch den gleichen Fehler, wenn man nach dem ersten mal (F1-F11-F1) das zweite Zitat löscht. Ich hoffe, Ihr könnt damit was anfangen...
Die Test.bib Datei schaut so aus (automatisch von Citavi erstellt):
[code]
@thesis{Maier.2010,
author = {Maier, Hans},
year = {2010},
title = {Zum Thema Literaturverzeichnis},
type = {Dissertation},
institution = {Berlin}
}
@online{Muller.2005,
author = {M{\"u}ller, Birgit},
year = {2005},
title = {Latex und Biber}
}
@book{Mustermann.2012,
author = {Mustermann, Max},
year = {2012},
title = {Ein Testtitel},
publisher = {Sch{\"o}ner Verlag}
}
@article{Schulz.2000,
author = {Schulz, Maria},
year = {2000},
title = {So klappt's}
}
[/code]