Quellenangaben in Abbildungen, Vollbeleg verhindern

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


rocketscience
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 51
Registriert: Mo 15. Nov 2010, 15:05

Quellenangaben in Abbildungen, Vollbeleg verhindern

Beitrag von rocketscience »

Hallo Latex-Freunde,

ich habe, wie bereits im Titel steht, ein kleines Problem mit den Quellenangaben meiner Abbildungen. Zum Verdeutlichen:
\begin{filecontents*}{MeineBib.bib}
@ARTICLE{Beispiel2010a,
  author = {Max Muster},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}
}

@ARTICLE{Beispiel2010b,
  author = {Max Muster},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}
}

@ARTICLE{Beispiel2010c,
  author = {Max Mustermann},
  title = {goLaTeX Wiki-Beispiel},
  journal = {LaTeX Journal},
  year = {2010},
  pages = {1-3},
  timestamp = {2010.03.21},
  url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}
}
\end{filecontents*}

%% Dokumentenklasse
\documentclass[							% Standardpaket KOMA-Klasse Report
        fontsize=12pt,  					% Schriftgröße
        DIV=14,
	headinclude=true,   					% der Teil des Satzspiegels wird
	footinclude=false,
        paper=a4,						% Papierformat
        oneside,						% einseitiges Dokument
        parskip=full,						% Abstand zwischen Absätzen
        headings=normal,					% Größe der Überschriften verkleinern
%       BCOR=10mm,						% Bindekorrektur
        final							% Status des Dokuments (final/draft)
]{scrreprt}

%%Pakete
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{setspace}
\usepackage[ngerman]{babel}					% Sprachpaket Babel (Deutsch)
\usepackage{graphicx}						% Grafiken
\usepackage[german=quotes]{csquotes}				% Anfuehrungszeichen
\usepackage[tocindentauto,tocflat]{tocstyle}			% Design des Inhaltsverzeichnisses
\usepackage{blindtext}

\usepackage[							% BibLatex 
	citestyle=myverbose-ibid, 
	bibstyle=authoryear, 
	labelyear=true,
	hyperref=true,
	abbreviate=true,
	isbn=false,
	url=false,
	doi=false,
	dashed=false,
	ibidtracker=true, 
	pagetracker=true,
	maxnames=2,
]{biblatex}

%% Lieraturverzeichnis
\defbibenvironment{bibliography}				% Umgebung fuer Literaturverzeichnis
{\list{} 
{\setlength{\leftmargin}{0pt}% 
\setlength{\bibitemsep}{\baselineskip}}}
{\endlist} 
{\item}

\defbibheading{bibliography}{% 					% Ueberschrift Lieraturverzeichnis
\addchap{Literaturverzeichnis}}

%%%%%%%%%%%%%%%%%%%% ENDE FORMATIERUNG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\usetocstyle{classic}						% Klassische Verzeichnisse
\tableofcontents						% Inhaltverzeichnis
\clearpage

\chapter{Kapitel 1}
\blindtext\footnote{\cites[Vgl.][3]{Beispiel2010a}[3]{Beispiel2010b}}

\blindtext\footnote{\cites[Vgl.][]{Beispiel2010c}[3]{Beispiel2010a}}
\begin{figure}[ht]
\centering
\begin{tabular}{@{}p{6cm}@{}} 
\rule{6cm}{4cm}\\
\footnotesize\sffamily\textbf{Quelle:} \cite[][3]{Beispiel2010a}
\end{tabular}
\caption{Bildunterschrift in Anlehung an \citeauthor{Beispiel2010a}}
\end{figure}

\newpage 
\printbibliography[env=bibliography]
\end{document}
Ich gebe Quellen für Bilder an, indem ich die Grafik in eine Tabular-Umgebung packe (wurde hier im Forum so empfohlen).

Nun ist das Problem folgendes: Ich nehme an durch die Tabular-Umgebung wird in der Quelle immer der Vollbeleg geschrieben, da BibLatex hier wohl wieder neu anfängt zu zählen und das ganze nicht auf das eigentliche Dokument bezieht.

Durch dieses Problem wird die Quellenangabe unübersichtlich lang, obwophl sie es nicht sein müsste. Der lange Titel hat auch zur Folge, dass ich die Breite der Spalte für die Quellenangabe an der Breite des Bildes ausrichten muss, da sonst das Bild nicht zentriert wird.

Ich bin für Vorschläge bzgl. der Handhabung von Quellenangaben bei Bilder/ Tabellen durchaus offen, falls die Tabular-Lösung nicht mehr aktuell ist.

Vielen Dank für die Hilfe!

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Re: Quellenangaben in Abbildungen, Vollbeleg verhindern

Beitrag von domwass »

Ruffy2k hat geschrieben:Ich nehme an durch die Tabular-Umgebung wird in der Quelle immer der Vollbeleg geschrieben, da BibLatex hier wohl wieder neu anfängt zu zählen und das ganze nicht auf das eigentliche Dokument bezieht.
Nein, das ist ein gewolltes Verhalten in allen float-Umgebung. Die Begründung steht in der biblatex-doku:
4.11.3 Trackers in Floats and TOC/LOT/LOF
If a citation is given in a float (typically in the caption of a figure or table), scholarly back references like ‘ibidem’ or back references based on the page tracker get ambiguous because floats are objects which are (physically and logically) placed outside the flow of text, hence the logic of such references applies poorly to them. To avoid any such ambiguities, the citation and page trackers are temporarily disabled in all floats. In addition to that, these trackers plus the back reference tracker (backref) are temporarily disabled in the table of contents, the list of figures, and
the list of tables.
Ich bin für Vorschläge bzgl. der Handhabung von Quellenangaben bei Bilder/ Tabellen durchaus offen, falls die Tabular-Lösung nicht mehr aktuell ist.
Ich würde mir einen eigenen cite-Befehl für Tabellen basteln, der eine
kürzere Ausgabe ermöglicht.

Gruß,
Dominik.-

rocketscience
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 51
Registriert: Mo 15. Nov 2010, 15:05

Beitrag von rocketscience »

...macht Sinn, was in der Doku steht!

Ich bin deiner Empfehlung gefolgt und habe einen neuen cite-Command definiert.

Danke für den Tipp!

Grüße

rocketscience
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 51
Registriert: Mo 15. Nov 2010, 15:05

Unterdrücken von Feldern der .bib

Beitrag von rocketscience »

Hallo domwass,

ich habe noch eine kleine Frage, die du mit Sicherheit schnell beantworten kannst.

Ich würde gern das Feld "note" unterdrücken, da bei mir dort durch den Import von Quellen nicht relevante Angaben stehen.
Ich habe nun in der BibLatex Doku geschaut, leider kann das Feld nicht beim Laden der Klasse auf false (ähnlich URL, ISBN, usw. gestellt werden.

Unter Punkt 4.6. der Doku habe ich den Befehl
\clearfield{ ⟨field⟩}
Clears the
⟨field⟩ within a local scope. A field cleared this way is treated as unde-
fined by subsequent data commands.
gefunden. Leider fehlt mir der Überblick, wo ich das global einbauen muss, damit weder in den Fußnoten noch im Verzeichnis dieses Feld auftaucht.
Kannst du mir da weiterhelfen?

Grüße

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Mit dem Hinweis auf \clearfield hast du mich auf eine Lösungsmöglichkeit
gebracht, auf die ich bisher noch nicht gekommen bin: Man kann für
diesen Zweck – zumindest für das Literaturverzeichnis – den Befehl
\AtEveryBibitem gebrauchen (bzw. missbrauchen…). In deinem Fall also:
\AtEveryBibitem{\clearfield{note}}
Mit \AtEveryCite funktioniert das leider nicht bei den verbose-Stilen,
vermutlich weil es eben nur lokal geschieht. Man kann aber den cite-
Befehl, der für das Erstzitat zuständig ist, anpassen. Im Fall von
verbose-ibid wäre das:
\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}%
       \clearfield{note}}% <--- diese Zeile ist neu
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}
Hier noch ein vollständiges Minimalbeispiel:
\documentclass[ngerman]{scrartcl}
\listfiles
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{article,
  author = {Nachname, Vorname},
  title = {Titel des Zeitschriftenartikels},
  journaltitle = {Zeitschrift},
  date = {2006},
  volume = {6},
  pages = {19-75},
  note = {Ein Hinweis}
}
@BOOK{book,
  author = {Buchautor, Hans-Wilhelm},
  title = {Irgendein Buch},
  location = {Buch am Wald},
  date = {2000},
  note = {Eine Notiz}
}
\end{filecontents}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}

\usepackage[
  style=verbose-ibid
]{biblatex}
\bibliography{\jobname}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}%
       \clearfield{note}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\AtEveryBibitem{\clearfield{note}}
\begin{document}
\cite{article,book}

\printbibliography
\end{document}
Gruß,
Dominik.-

Antworten