Ошибка при сжатии цитаты в Tufte-book

Ошибка при сжатии цитаты в Tufte-book

Я использую класс книг Тафте для написания своей диссертации. У меня возникли некоторые проблемы с размещением ссылок. Во-первых, я хочу, чтобы цитаты выглядели как , [1-4]а не [1,2,3,4]. Я использую

\setcitestyle{square,numbers,sort&compress}

а также

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

Но я все еще получаю цитаты с форматом [1;2;3;4]. Более того, похоже, что он не реорганизует опцию, sort&compressтак как показывает ее красным цветом. Обратите внимание, что я использую \citep{}при цитировании ссылки.


Я также получаю такие ошибки, как

Ошибка пакета inputenc: символ Unicode (U+2009)(inputenc) не настроен для использования с LaTeX. C.~Monroe, W.

даже когда я ставлю

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

и

Отсутствует вставленный символ $. ...блок \doi{10.1364/CLEO_QELS.2016.FTh4C.1}

Цитата выглядит так

@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.},
}

решение1

Хотя я не мог немедленно подтвердить это из источника tufte-book, я подозреваю, что переопределения команд cite не позволяют sort&compressвступить в силу. Однако, если вы установите эту опцию, когда natbibзагружен, в этом случае используя \PassOptionsToPackageперед загрузкой класса, то поведение сортировки и сжатия сохранится.

Это Missing $ insertedвызвано неэкранированным _символом в doiполе. urlПоле также содержит этот символ, но это поле анализируется дословно, в то время как doiанализируется как обычный текст, поэтому _рассматривается как подстрочный индекс, для которого $требуется математический режим (т.е. ). Исправление этого, таким образом,

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

Полный код:

\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}

Результат:

введите описание изображения здесь

Для символов utf8 вы не указываете источник записи с ошибкой. Однако ошибка в целом хорошо известна и относится к тому факту, что pdfLaTeX может обрабатывать только ограниченное количество символов utf8 изначально (в основном расширенный ascii, то есть латинские буквы с диакритическими знаками), и если у вас есть другие символы utf8, то вам нужно настроить их индивидуально с помощью \DeclareUnicodeCharacter(или использовать пакет, который все настраивает, например, для CJK).

Однако для этого конкретного символа U+2009 это не нужно, это 'тонкий пробел', который, вероятно, был вставлен в запись по ошибке. Вы можете попытаться найти символ с помощью визуального осмотра или шестнадцатеричного редактора, например, или просто перепечатать запись (так что не копируйте и не вставляйте, а фактически перепечатывайте с нуля).

Связанный контент