Zitiernummer innerhalb \figure falsch

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


quallenkrieger
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 24. Jan 2016, 14:55

Zitiernummer innerhalb \figure falsch

Beitrag von quallenkrieger »

Hallo erstmal,
Ich schreibe gerade meine Bachelorarbeit und bin auch schon fast fertig. Jetzt ist mir ein Problem mit dem zitieren aufgefallen. Und zwar, wenn ich innerhalb einer \figure beipielsweise in der caption zitieren will. Zunächst wurde mir das erstgarnicht auf der Seite in der Fußzeile angezeigt. Dieses Problem konnte ich mit dem \footcite und \footnote Befehl lösen. Das zweite Problem ist, dass er mir anstatt die Nummer 3, die Nummer 4 zuweist und die 3 einfach überspringt.



\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{graphicx}
\usepackage[backend=biber,style=verbose-trad3]{biblatex}
\usepackage{csquotes}
\usepackage{float}
\usepackage{makeidx}
\makeindex
\usepackage{lastpage}
\bibliography{Literatur}
\begin{document}

blabla\autocite[2]{Flu04}. \\
blabla\autocite[2]{Do88}
\begin{figure}[H]
\centering
\rule[6cm]{4cm}
\caption[Unterschrift\cite{Ei10}]{Unterschrift\footcite{Ei10}}
\end{figure}
\footcitetext{Ei10}
\end{document}
Zuletzt geändert von quallenkrieger am So 24. Jan 2016, 16:15, insgesamt 1-mal geändert.

quallenkrieger
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 24. Jan 2016, 14:55

Beitrag von quallenkrieger »

Merwürdig ist auch, wenn ich den code so wie oben in eine neue Datei einfüge, dann kommt das Problem nicht mehr vor.

quallenkrieger
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 24. Jan 2016, 14:55

Beitrag von quallenkrieger »

Noch was: Wenn ich biber bei meiner Hauptdatei laufen lasse, kriege ich viele Fehler der Art Use of uninitialized value $llabel in concatenation (.) or string at und dannd er Ort vom cache. Könnte da das Problem liegen?

nixversteh
Forum-Meister
Forum-Meister
Beiträge: 561
Registriert: Di 10. Aug 2010, 09:47
Wohnort: Wrestedt

...

Beitrag von nixversteh »

Hallo quallenkrieger,

lass uns teilhaben an deinen Bibdaten ...
\addbibresource{xxx.bib}
ist korrekt
Gruß

Martin
Zuletzt geändert von nixversteh am So 24. Jan 2016, 16:32, insgesamt 1-mal geändert.
Absence of evidence is not evidence of absence

Gast

Beitrag von Gast »

Das in Deinem letzten Post erwähnte Problem klingt nach dem berühmt-berüchtigten Cache-Bug von Biber: Biblatex/biber fails with a strange error about missing recode_data.xml file.

Inzwischen (seit Version 2.2) sollte der aber nicht mehr auftreten, Du solltest also biblatex und biber updaten (bitte nicht manuell, sondern über Deine Distribution).

Wenn Das Problem mit einem Update und nach dem Löschen der temporären Dateien (.aux, .bbl, .bcf) immer noch besteht, wäre es sehr hilfreich, wenn Du ein Minimalbeispiel erstellen könntest, das das Problem wirklich zeigt.
Vielleicht findest Du heraus, dass das Problem an einer ganz anderen Stelle im Code liegt.

Statt \footcite in der Caption würde ich lieber \footnotemark nehmen, denn es ist eigentlich das \footcitetext danach, das das Zitat setzt. (Siehe Using \footnote in a figure's \caption) Auch das kann noch zu Problemen mit Seitenumbrüchen führen.

Beispiel
\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[backend=biber,style=verbose-trad3]{biblatex}
\usepackage{csquotes}

\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[2]{worman} ipsum\autocite[2]{geer}.
\begin{figure}
\caption[Unterschrift\cite{sigfridsson}]{Unterschrift\footnotemark}
\end{figure}
\footcitetext{sigfridsson}
dolor\autocite{knuth:ct:b}

\printbibliography
\end{document}
Vergleiche die Ausgabe dieses Beispiel mit der Ausgabe, wenn Du {Unterschrift\footnotemark} zu {Unterschrift\footcite{knuth:ct:c}} änderst.

quallenkrieger
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 24. Jan 2016, 14:55

Beitrag von quallenkrieger »

Vielen Dank schon mal für die Lösungsvorschläge. Durch das updated von biblatex und biber sind die Fehlermeldungen tatsächlich verschwunden. Das eigentliche Problem jedoch nicht.

Ich habe mal nach und nach die einzelnen Abschnitte eingefügt, um zu gucken, wo das Problem liegen könnte. Es hat sich herausgestellt, dass die Länge der Unterschrift entscheidend ist. Wenn diese nur beispielsweise ein Wort behinhaltet, dann tritt das Problem nicht auf. Wenn aber die Unterschrift über eine Zeile hinausgeht, dann wird eine Zitiernummer übergangen
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{graphicx}
\usepackage[backend=biber,style=verbose-trad3]{biblatex}
\usepackage{csquotes}
\usepackage{float}
\usepackage{makeidx}
\makeindex
\usepackage{lastpage}
\bibliography{Literatur}
\begin{document}

blabla\autocite[2]{Flu04}. \\
blabla\autocite[2]{Do88}
\begin{figure}[H]
\centering
\rule[6cm]{4cm}
\caption[Elektrische (E) und magnetische (H) Feldstärke in einer Lichtwelle zu einem festen Zeitpunkt \cite{Ei10}]{Elektrische (E) und magnetische (H) Feldstärke in einer Lichtwelle zu einem festen Zeitpunkt \footnotemark}
\end{figure}
\footcitetext{Ei10}

\end{document}
 
Natürlich könnte ich jetzt einfach die Unterschrift so kürzen, dass es nicht die Länge überschreitet, aber schöner wäre es, wenn ich das Problem anders lösen könnte.

Gast

Beitrag von Gast »

Das Problem ist, dass \caption den eingegebenen Text zweimal auswertet, falls er "zu lang" ist; ausgegeben wird der Text aber natürlich trotzdem nur einmal. Daher wird zweimal eine \footnotemark gesetzt und der Zähler "überspringt" eine Zahl. (Eine bessere Erklärung gibt es bei TeX.SX: Aberrant footnote numbering behavior with footnoted captions.)

Du kannst das Problem wohl am besten lösen, indem Du das Paket caption lädst. Wenn das aus irgendeinem Grunde nicht möglich sein sollte, beachte auch die Lösung mit \sbox0{\footnotemark} im Link.

Im folgenden Beispiel funktioniert jetzt alles auch mit überlangen Bildunterschriften
\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[backend=biber,style=verbose-trad3]{biblatex}
\usepackage{csquotes}
\usepackage{caption}

\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[2]{worman} ipsum\autocite[2]{geer}.
\begin{figure}
\caption[Elektrische (E) und magnetische (H) Feldstärke in einer Lichtwelle zu einem festen Zeitpunkt \cite{sigfridsson}]{Elektrische (E) und magnetische (H) Feldstärke in einer Lichtwelle zu einem festen Zeitpunkt\footnotemark}
\end{figure}
\footcitetext{sigfridsson}
dolor\autocite{knuth:ct:b}

\printbibliography
\end{document}

quallenkrieger
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: So 24. Jan 2016, 14:55

Beitrag von quallenkrieger »

Das klappt. Vielen Dank :D

Antworten