Fehler beim Komprimieren des Zitats im Tufte-Buch

Fehler beim Komprimieren des Zitats im Tufte-Buch

Ich verwende den Tufte-Buchkurs, um meine Abschlussarbeit zu schreiben. Ich habe ein kleines Problem damit, die Referenzen anzugeben. Zunächst einmal möchte ich, dass die Zitate wie aussehen und [1-4]nicht wie [1,2,3,4]. Ich verwende

\setcitestyle{square,numbers,sort&compress}

und auch

\bibliographystyle{unsrtnat}
\bibliography{sample-handout}

Aber ich erhalte immer noch Zitate mit Format [1;2;3;4]. Außerdem scheint es, dass die Option nicht neu organisiert wird, sort&compressda sie in Rot angezeigt wird. Beachten Sie, dass ich \citep{}beim Zitieren einer Referenz verwende.


Ich erhalte auch Fehlermeldungen wie

Paket inputenc Fehler: Unicode-Zeichen (U+2009)(inputenc) nicht für die Verwendung mit LaTeX eingerichtet. C.~Monroe, W.

selbst wenn ich

\usepackage[utf8]{inputenc} % Ensure UTF-8 encoding is used

Und

Fehlendes $ eingefügt. ...block \doi{10.1364/CLEO_QELS.2016.FTh4C.1}

Das Zitat sieht aus wie

@article{White:16,
author = {Andrew G. White},
booktitle = {Conference on Lasers and Electro-Optics},
journal = {Conference on Lasers and Electro-Optics},
keywords = {Biology; Chemistry; Detectors},
pages = {FTh4C.1},
publisher = {Optica Publishing Group},
title = {Photonic Quantum Simulation},
year = {2016},
url = {https://opg.optica.org/abstract.cfm?URI=CLEO_QELS-2016-FTh4C.1},
doi = {10.1364/CLEO_QELS.2016.FTh4C.1},
abstract = {We review photonic quantum simulation, its use in biology, chemistry, computer science and physics, and its prospects for scaling given the latest advances in quantum photonics, notably in sources, detectors, and nonlinear interactions.},
}

Antwort1

Obwohl ich es nicht sofort aus der Quelle bestätigen konnte tufte-book, vermute ich, dass die Neudefinitionen der Zitierbefehle verhindern, sort&compressdass dies wirksam wird. Wenn Sie diese Option jedoch beim natbibLaden festlegen, in diesem Fall \PassOptionsToPackagevor dem Laden der Klasse, bleibt das Sortier- und Komprimierungsverhalten erhalten.

Dies Missing $ insertedwird durch ein nicht maskiertes _Zeichen im doiFeld verursacht. Das urlFeld hat dieses Zeichen auch, aber dieses Feld wird wörtlich analysiert, während doies als normaler Text analysiert wird, also _als Index angesehen wird, für den der mathematische Modus (d. h. $) erforderlich ist. Die Lösung hierfür ist daher

doi = {10.1364/CLEO\_QELS.2016.FTh4C.1},

Vollständiger Code:

\begin{filecontents}[overwrite]{\jobname.bib}
@article{White:16,
author = {Andrew G. White},
booktitle = {Conference on Lasers and Electro-Optics},
journal = {Conference on Lasers and Electro-Optics},
keywords = {Biology; Chemistry; Detectors},
pages = {FTh4C.1},
publisher = {Optica Publishing Group},
title = {Photonic Quantum Simulation},
year = {2016},
url = {https://opg.optica.org/abstract.cfm?URI=CLEO_QELS-2016-FTh4C.1},
doi = {10.1364/CLEO\_QELS.2016.FTh4C.1},
abstract = {We review photonic quantum simulation, its use in biology, chemistry, computer science and physics, and its prospects for scaling given the latest advances in quantum photonics, notably in sources, detectors, and nonlinear interactions.},
}
@misc{White:17,
author = {John White},
title = {Number 17},
year = {2017}
}
@misc{White:18,
author = {Mary White},
title = {Number 18},
year = {2018}
}
\end{filecontents}
\PassOptionsToPackage{square,numbers,sort&compress}{natbib}
\documentclass{tufte-book}
%\setcitestyle{square,numbers,sort&compress}
\title{Sort \& Compress}
\author{with Tufte Book}
\begin{document}
\maketitle
\chapter{Some cite commands}
\citep{White:16,White:17,White:18}
\bibliographystyle{unsrtnat}
\bibliography{\jobname}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Für die UTF-8-Zeichen geben Sie nicht die Quelle des fehlerhaften Bib-Eintrags an. Der Fehler ist jedoch allgemein bekannt und bezieht sich auf die Tatsache, dass pdfLaTeX nur eine begrenzte Anzahl von UTF-8-Zeichen nativ verarbeiten kann (im Wesentlichen erweitertes ASCII, also lateinische Buchstaben mit diakritischen Zeichen). Wenn Sie andere UTF-8-Zeichen haben, müssen Sie diese einzeln einrichten \DeclareUnicodeCharacter(oder ein Paket verwenden, das dies einrichtet, beispielsweise für CJK).

Für das spezielle Zeichen U+2009 ist dies jedoch nicht erforderlich, da es sich um ein „dünnes Leerzeichen“ handelt, das wahrscheinlich versehentlich in den Eintrag eingefügt wurde. Sie können versuchen, das Zeichen beispielsweise durch visuelle Überprüfung oder einen Hex-Editor zu finden, oder den Eintrag einfach erneut eingeben (also nicht kopieren und einfügen, sondern von Grund auf neu eingeben).

verwandte Informationen