Wenn ich ein note= habe, das selbst ein \cite enthält, dann hat das zweite \cite einen führenden Punkt "."
Beispielsweise erhalte ich in der folgenden Ausgabe Another sentence.[. 2]
, aber ich erwarteAnother sentence.[2]
[1]
References
[1] A sentence.[2] Another sentence.[. 2] Yet another sentence[2]
[2] An Author. “A Title”. In: ().
Hier ist ein Screenshot:
Hier ist ein MWE:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@misc{AFootnote,
note={A sentence.\cite{AnArticle}
Another sentence.\cite{AnArticle}
Yet another sentence.\cite{AnArticle}\nopunct}
}
@article{AnArticle,
author={An Author},
title={A Title},
}
\end{filecontents}
\begin{document}
\cite{AFootnote}
\printbibliography
\end{document}
Zum Kompilieren des Beispiels verwende ich:
pdflatex book
biber book
pdflatex book
biber book
pdflatex book
pdflatex book
Ich verwende diese Versionen von Biber und PDFLatex unter macOS:
bash-3.2$ biber --version
biber version: 2.19
bash-3.2$ pdflatex --version
pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)
kpathsea version 6.3.5
Copyright 2023 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.39; using libpng 1.6.39
Compiled with zlib 1.2.13; using zlib 1.2.13
Compiled with xpdf version 4.04
bash-3.2$
Ja, mir ist klar, dass das ziemlich merkwürdig ist. Ein potenzieller Verleger möchte am Ende jedes Kapitels Fußnoten und Referenzen vermischt haben, daher verwende ich für Fußnoten „Verschiedenes“ mit einer Anmerkung. Einige der Fußnoten selbst enthalten Verweise auf andere Quellen. Merkwürdig ist, dass der Punkt am Anfang der zweiten Quellenangabe steht. Die Verwendung von \supercite führt zu etwas Ähnlichem mit einem vorangestellten „.“.
Antwort1
Dies ist im Grunde das gleiche Problem wiehttps://github.com/plk/biblatex/issues/988Undbiblatex: \parencite im Notizfeld druckt falsches ; mit authoryear-icomp-Stil(sowiebiblatex: \DeclareCiteCommand fügt Semikolon zwischen \printfield und \printnames hinzu, aber nur manchmal): Setzt im Kontext einer Bibliographie biblatex
den Interpunktionspuffer von \...cite
Befehlen nicht automatisch zurück. Dadurch können \...cite
Befehle direkt mit Bibliographiemakros und anderem biblatex
Code zusammenarbeiten, der Text in der Bibliographie erzeugt. Dies funktioniert jedoch nicht besonders gut, wenn Text und Interpunktion vorhanden sind, die nicht von selbst erzeugt werden biblatex
(wie der eigentliche Inhalt von Feldern).
In den Links werden einige andere Lösungen erläutert, aber für Ihren Anwendungsfall, bei dem es @misc
sich im Wesentlichen immer um eine normale Fußnote handelt, würde ich wahrscheinlich biblatex
davon ausgehen, dass der note
Inhalt eines solchen Eintrags nicht in der Bibliografie enthalten ist.
\documentclass{article}
\usepackage{biblatex}
\DeclareFieldFormat[misc]{note}{%
\togglefalse{blx@bibliography}%
#1%
}
\begin{filecontents}{\jobname.bib}
@misc{AFootnote,
note = {A sentence.\cite{AnArticle}
Another sentence.\cite{AnArticle}
Yet another sentence.\cite{AnArticle}\nopunct},
}
@article{AnArticle,
author = {An Author},
title = {A Title},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{AFootnote}
\printbibliography
\end{document}
Beachten Sie, dass es dienotes2bib
PaketDamit können Sie Fußnoten an die Bibliographie senden, indem Sie eine Schnittstelle verwenden, die eher dem normalen \footnote
Befehl ähnelt. Insbesondere müssen Sie Ihre Fußnote nicht manuell in die .bib
Datei schreiben (wo sie, seien wir ehrlich, semantisch eigentlich nicht hingehören – intern macht das Paket dasselbe wie Sie, verbirgt es aber vor dem Endbenutzer). Dieses Paket leidet in den meisten „normalen“ Situationen nicht unter demselben Problem, da es einen dedizierten Treiber für die „Fußnoten“ definiert, der den Interpunktionspuffer nicht verwendet, bevor die Notiz gedruckt wird.
\documentclass{article}
\usepackage[backend=biber, style=numeric, sorting=none,]{biblatex}
\usepackage{notes2bib}
\begin{filecontents}{\jobname.bib}
@article{AnArticle,
author = {An Author},
title = {A Title},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\bibnote{A sentence.\cite{AnArticle}
Another sentence.\cite{AnArticle}
Yet another sentence.\cite{AnArticle}}
\printbibliography
\end{document}
Wenn Sie eine ähnliche Lösung mit benötigen notes2bib
, können Sie verwenden
\DeclareFieldFormat[bibnote]{note}{%
\togglefalse{blx@bibliography}%
#1%
}