mehrere Lit.Verz. getrennt nach Dokumentenbereiche

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: mehrere Lit.Verz. getrennt nach Dokumentenbereiche

von u_fischer » Fr 15. Sep 2017, 15:29

MoonKid hat geschrieben: Was bedeutet das für die Praxis? In welchen Situationen würde man die beiden Varianten sinnvoll einsetzen?
Stell dir einen numerischen Stil vor. Zitiert wird Knuth.

Mit refsection hat Knuth in der einen refsection die Nummer [9], in der anderen refsection die Nummer [5].

Mit refsegment hat Knuth in beiden Segmenten die gleiche Nummer [6].

refsection verwendet man z.B. in Zeitschriften. Jeder Artikel ist da ja unabhängig vom anderen und hat seine eigene Bibliographie mit eigener Nummerierung.

von Gast » Fr 15. Sep 2017, 15:07

OK, wenn Dich die internen Abläufe nicht interessieren, dann habe ich doch die praktischen Auswirkungen oben schon im zweiten Absatz klar beschrieben. Außerdem habe ich ein Beispiel geliefert, in dem unterschiedliche Quellen (knuth:ct:c und knuth:ct:d) mit refsections dieselbe Ausgabe bei \cite verursachen - bei refsegment sind die beiden Quellen auch über die Segmente hinweg unterscheidbar.
MoonKid hat geschrieben:Im Bib-file ist Knuth aber nur ein Eintrag.
Nein, es gibt in biblatex-examples.bib mehrere Knuth-Einträge und hier haben wir explizit zwei unterschiedliche Einträge (aus dem gleichen Jahr) zitiert, nämlich knuth:ct:c und knuth:ct:d.
MoonKid hat geschrieben:Bedeutet dies etwa, dass ich nur mit "refsection" einen Eintrag in mehrere Lit.Verz. haben kann?
Nein. Auch mit refsegment kannst Du einen Eintrag in beiden Verzeichnissen haben.
MoonKid hat geschrieben:Oder anders formliert: Mit "refsegment" wird (im obigen Beispiel) aus einem bib-Eintrag zwei gemacht (einer je segment)?
Nein. Dies ist absolut nicht der Fall. Man könnte das Verhalten von refsection so in etwa beschreiben.
MoonKid hat geschrieben:Was bedeutet das für die Praxis?
Hier nochmal ein etwas größeres Beispiel mit eigener .bib-Datei.
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{elk:bronto,
  author = {Anne Elk},
  date = {1972},
  title = {Theory on Brontosauruses},
}
@book{elk:stega,
  author = {Anne Elk},
  date = {1972},
  title = {Theory on Stegosauruses},
}
@book{elk:diplo,
  author = {Anne Elk},
  date = {1973},
  title = {Theory on Diplodocuses},
}
@book{elk:ptero,
  author = {Anne Elk},
  date = {1973},
  title = {Theory on Pterodactyluses},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
\cite{elk:stega}
\cite{elk:diplo}
\cite{elk:ptero}
\printbibliography

\newrefsection
\cite{elk:bronto}
\cite{elk:diplo}
\printbibliography
\end{document}
vs
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{elk:bronto,
  author = {Anne Elk},
  date = {1972},
  title = {Theory on Brontosauruses},
}
@book{elk:stega,
  author = {Anne Elk},
  date = {1972},
  title = {Theory on Stegosauruses},
}
@book{elk:diplo,
  author = {Anne Elk},
  date = {1973},
  title = {Theory on Diplodocuses},
}
@book{elk:ptero,
  author = {Anne Elk},
  date = {1973},
  title = {Theory on Pterodactyluses},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
\cite{elk:stega}
\cite{elk:diplo}
\cite{elk:ptero}
\printbibliography[segment=\therefsegment]

\newrefsegment
\cite{elk:bronto}
\cite{elk:diplo}
\printbibliography[segment=\therefsegment]
\end{document}
MoonKid hat geschrieben:In welchen Situationen würde man die beiden Varianten sinnvoll einsetzen?
OK, Du musst Dir die Frage stellen, ob die Verzeichnisse unabhängig voneinander sein sollen, oder ob sie zusammengehören. Sollen sie völlig unabhängig sein, ist refsection was Du suchst. In diesem Fall muss einem Leser klar sein, dass die unterschiedlichen Literaturverzeichnisse getrennt sind und unter Umständen dasselbe Werk unterschiedlich zitiert wird. Wenn Du die Verzeichnisse enger verzahnen willst, dann brauchst Du refsegment. Hier kann ein Zitat auch über die Grenzen der Segmente hinweg eindeutig identifiziert werden, es kann aber zu vermeintlichen "Lücken" in den einzelnen Verzeichnissen führen (huch, wo ist denn "Elk 1972a"?).

Wenn ich einen Sammelband mit Artikeln von unterschiedlichen Autorinnen herausgeben würde, dann würde ich jedem Artikel ein Literaturverzeichnis nachstellen, das in einer eigenen refsection lebt. Damit hat jedes Kapitel seine eigene von den anderen Kapiteln getrennte Bibliographie.

Wenn ich aber beschlossen habe in - sagen wir - meiner Masterarbeit jedem Kapitel ein eigenes Verzeichnis nachzustellen (ich würde das eigentlich nicht tun, aber gesetzt den Fall ich täte es), würde ich refsegments nutzen, denn dann verhindere ich, dass die Leserin die einzelnen Kapitel (oder zumindest ihre Zitate) getrennt voneinander lesen muss.

Technisch existieren Einträge in refsections mehrere Male, nämlich exakt in jeder refsection unabhängig voneinander. In den Segmenten existiert jeder Eintrag immer nur genau ein Mal, aber er kann durchaus mehrere Male im Verzeichnis auftauchen.

Um es pointiert zu sagen: Mit refsection bekommst Du den gleichen Eintrag und mit refsegment denselben.

von MoonKid » Fr 15. Sep 2017, 14:23

Tut mir Leid, ich verstehs nicht, auch wenn ich die Beispiele durchlaufen lasse.
Die (vorher schon gelesene) docu hilft hier auch nicht, weil sie sich auf die Technik/Maschine ("label") bezieht und nicht auf die Praxis.

Mit "refsegement" hat Knuth ein "a" oder "b" in der Jahreszahl. Mit "refsection" hat es das nicht.

Im Bib-file ist Knuth aber nur ein Eintrag. Bedeutet dies etwa, dass ich nur mit "refsection" einen Eintrag in mehrere Lit.Verz. haben kann?
Oder anders formliert: Mit "refsegment" wird (im obigen Beispiel) aus einem bib-Eintrag zwei gemacht (einer je segment)?

Was bedeutet das für die Praxis? In welchen Situationen würde man die beiden Varianten sinnvoll einsetzen?

von Gast » Fr 15. Sep 2017, 14:13

"Etikett" passt schon ganz gut, manche Leute würden vielleicht "Zitationsdaten"/"Zitationsausgabe" sagen, aber das klingt komisch. Gemeint sind die speziellen Felder mit label (und extra) im Namen, die automatisch von Biber erzeugt werden. Für Dich relevant sind labelyear, extrayear und labelname (aber auch labelnumber, labelalpha). Diese Felder bestimmen die exakte Ausgabe des \cite-Befehls. Das kannst Du aber alles im Beispiel gut sehen und in der [d]biblatex[/d]-Doku nachlesen (bes. §§3.7.4, 3.7.5).

von MoonKid » Fr 15. Sep 2017, 14:06

Mit dem Begriff label kann ich in dem Kontext nicht viel Anfangen.

von Gast » Fr 15. Sep 2017, 14:03

Naja. Der Unterschied ist, dass ein Eintrag über alle refsegments hinweg dieselben label-Iegenschaften hat, über refsections hinweg können sich einige label-Felder jedoch unterscheiden.

Insbesondere kann es mit refsections passieren, dass dieselbe Quelle in unterschiedlichen refsections unterschiedlich zitiert wird. Umgekehrt kann es sein, dass dieselbe Zitat-Ausgabe sich in unterschiedlichen refsections auf unterschiedliche Quellen bezieht.

Man beachte, wie die Knuth-Quellen sich in dem Beispiel verhalten.

von MoonKid » Fr 15. Sep 2017, 13:50

Ah... hab ich völlig übersehen. Hab mir die Doku echt angeschaut.

Verstehe ich den Unterschied richtig: Bei refsegment kann ich die Einträge vermischen, d.h. ein Entry kann in mehreren Lit.Verz. auftauchen und Segmenten verwendet werden. Bei refsection geht das nicht.

von Gast » Fr 15. Sep 2017, 13:18

Ja nach dem, ob die Literaturverzeichnisse voneinander getrennt und völlig unabhängig sein sollen oder ob sie prinzipiell zusammengehören sollen, solltest Du refsection und refsegment in der [d]biblatex[/d]-Doku genau vergleichen.

Die Unterschiede sieht man im direkten Vergleich ganz gut
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,knuth:ct:c}
\printbibliography

\newrefsection
\cite{sigfridsson,knuth:ct:d}
\printbibliography
\end{document}
vs
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,knuth:ct:c}
\printbibliography[segment=\therefsegment]

\newrefsegment
\cite{sigfridsson,knuth:ct:d}
\printbibliography[segment=\therefsegment]
\end{document}
Sowohl der Code als auch die Ausgabe unterscheiden sich in subtilen Details.

von markusv » Fr 15. Sep 2017, 12:55

Suchst du vielleicht nach der Option refsection, siehe [d]biblatex[/d]?

Die Bereiche selber festlegen kannst du mit dem Befehl \newrefsection.

mehrere Lit.Verz. getrennt nach Dokumentenbereiche

von MoonKid » Fr 15. Sep 2017, 12:42

Im Beispiel unten werden zwei Literaturverzeichnisse angelegt. Deren Einträge, werden anhander keywords (so wie sie im bib-file stehen) festgelegt. Das ist derzeit mein Workaround.

Aber eigentlich würde ich mir wünschen, dass ich Bereiche im Dokument festlegen kann. Hier im Beispiel sind es nur zwei Bereiche (Dokument & Appendix). Würde ein bib-entry in beiden Bereichen zitiert werden, würde er auch in beiden Lit.Verz. auftauchen.

Mein Originaldokument hat 3 solcher Bereiche. Da kommt man mit den keywords auch schnell durcheinander und muss viel manuell gegenchecken. Daher suche ich eine automatisierte Lösung.
\begin{filecontents*}{mbib.bib}
    @ARTICLE{A,
    author = {Mr. A},
    title = {Foobar},
    year = {2010},
    keywords = {doc}
}

    @ARTICLE{B,
    author = {Mr. B},
    title = {Voobar},
    year = {1910},
    keywords = {app}
}
\end{filecontents*}

\documentclass{scrartcl}
\usepackage{mwe}
\RequirePackage[backend=biber,
                style=apa,
                sortlocale=de_DE,
                language=german
               ]{biblatex}
\DeclareLanguageMapping{german}{german-apa}
\addbibresource{mbib.bib}

%% Document %%
\begin{document}
\cite{A}
\printbibliography[keyword={doc}]
%% Appendix %%
\appendix
\cite{B}
\printbibliography[keyword={app}]
\end{document}

Nach oben