Seite 1 von 1
Zitiernummer innerhalb \figure falsch
Verfasst: So 24. Jan 2016, 15:21
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}
Verfasst: So 24. Jan 2016, 15:22
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.
Verfasst: So 24. Jan 2016, 15:26
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?
...
Verfasst: So 24. Jan 2016, 16:30
von nixversteh
Hallo quallenkrieger,
lass uns teilhaben an deinen Bibdaten ...
ist korrekt
Gruß
Martin
Verfasst: So 24. Jan 2016, 16:30
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.
Verfasst: Mo 25. Jan 2016, 10:31
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.
Verfasst: Mo 25. Jan 2016, 13:57
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}
Verfasst: Mo 25. Jan 2016, 14:53
von quallenkrieger
Das klappt. Vielen Dank
