goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

mehrere Lit.Verz. getrennt nach Dokumentenbereiche

 

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 684
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 11:42     Titel: mehrere Lit.Verz. getrennt nach Dokumentenbereiche
  Antworten mit Zitat      
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.

Code • Öffne in Overleaf

\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}
 

_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)
Private Nachricht senden Benutzer-Profile anzeigen

markusv
Forum-Guru
Forum-Guru

Beiträge: 410
Anmeldedatum: 03.09.15
Wohnort: Leipzig
Version: ---
     Beitrag Verfasst am: 15.09.2017, 11:55     Titel:
  Antworten mit Zitat      
Suchst du vielleicht nach der Option refsection, siehe Dokumentationbiblatex?

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

Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 12:18     Titel:
  Antworten mit Zitat      
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 Dokumentationbiblatex-Doku genau vergleichen.

Die Unterschiede sieht man im direkten Vergleich ganz gut
Code • Öffne in Overleaf
\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
Code • Öffne in Overleaf
\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.

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 684
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 12:50     Titel:
  Antworten mit Zitat      
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.
_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 13:03     Titel:
  Antworten mit Zitat      
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.

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 684
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 13:06     Titel:
  Antworten mit Zitat      
Mit dem Begriff label kann ich in dem Kontext nicht viel Anfangen.
_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 13:13     Titel:
  Antworten mit Zitat      
"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 Dokumentationbiblatex-Doku nachlesen (bes. §§3.7.4, 3.7.5).

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 684
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 13:23     Titel:
  Antworten mit Zitat      
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?
_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 14:07     Titel:
  Antworten mit Zitat      
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 Folgendes 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 Folgendes 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 Folgendes 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 Folgendes geschrieben:
Was bedeutet das für die Praxis?

Hier nochmal ein etwas größeres Beispiel mit eigener .bib-Datei.
Code • Öffne in Overleaf
\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
Code • Öffne in Overleaf
\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 Folgendes 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.

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3589
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2017, 14:29     Titel:
  Antworten mit Zitat      
MoonKid hat Folgendes 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.
_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de