Zitiernummer innerhalb \figure falsch

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: Zitiernummer innerhalb \figure falsch

von quallenkrieger » Mo 25. Jan 2016, 14:53

Das klappt. Vielen Dank :D

von Gast » Mo 25. Jan 2016, 13:57

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}

von quallenkrieger » Mo 25. Jan 2016, 10:31

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.

von Gast » So 24. Jan 2016, 16:30

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.

...

von nixversteh » So 24. Jan 2016, 16:30

Hallo quallenkrieger,

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

Martin

von quallenkrieger » So 24. Jan 2016, 15:26

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?

von quallenkrieger » So 24. Jan 2016, 15:22

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

Zitiernummer innerhalb \figure falsch

von quallenkrieger » So 24. Jan 2016, 15:21

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}

Nach oben