Я пытаюсь изменить стиль ссылки вШаблон кембриджской инженерной диссертациидля отображения ссылок в библиографии в стиле AIP по просьбе моего руководителя. Параметры библиографии по умолчанию в шаблоне:
\RequirePackage[backend=biber, style=numeric-comp, citestyle=numeric, sorting=nty, natbib=True]{biblatex}
\addbibresource{References/references}
\begin{document}
...
\bibliographystyle{unsrt}
\bibliography
...
\end{document}
В настоящее время это приводит к созданию ссылок с названием статьи, но без названия журнала (помимо других отличий от стиля AIP).
Я пробовал изменить style=numeric-comp
на style=phys
, но это не влияет на библиографию.
Я попробовал изменить вышеприведенное на:
\usepackage[backend=biber,style=phys]{biblatex}
\addbibresource{References/references.bib}
\begin{document}
...
\printbibliography
...
\end{document}
Однако при первом запуске компиляции это приводит к тому, что мой документ компилируется без библиографии, и все мои внутритекстовые ссылки отображаются как ключ цитирования (например, [ji2009]), а не как числовые ссылки или как??, и при втором запуске компиляции не удается создать pdf (я использую overleaf, но также не удалось скомпилировать, когда я попытался отдельно скомпилировать biber и pdflatex с помощью Texmaker). Похоже, что это не удалось, когда ключи библиографии были в формате 'name2009a' (например, все было в порядке с 'li2019', но не удалось, когда были включены и 'li2009', и 'li2009a'), но это может быть совпадением.
Есть ли способ изменить это, чтобы использовать эту phys
опцию или изменить поля, отображаемые библиографией?
Ниже приведено также описание файла .cls, которое я использую custombib
в параметрах класса:
% ******************************* Bibliography *********************************
\newif\ifsetBib\setBibfalse % Custom Bibliography = true/false
\newif\ifsetBiBLaTeX\setBiBLaTeXfalse % BiBLaTeX = True / False
\newif\ifPHD@biblatex\PHD@biblatexfalse % BiBLaTeX
\DeclareOption{biblatex}{
\ifsetBib
\ClassWarning{PhDThesisPSnPDF}{Bibliography selection conflict: A
bibliography style aleady specified. Please check the document class
options in case you have defined two bibliography styles.}
\else
\PHD@biblatextrue
\fi
}
\newif\ifPHD@authoryear\PHD@authoryearfalse % Author-Year citation
\DeclareOption{authoryear}{
\ifsetBib
\ClassWarning{PhDThesisPSnPDF}{Bibliography selection conflict: A
bibliography style aleady specified. Please check the document class
options in case you have defined two bibliography styles.}
\else
\PHD@authoryeartrue
\setBibtrue
\fi
}
\newif\ifPHD@numbered\PHD@numberedfalse % Numbered citiation
\DeclareOption{numbered}{
\ifsetBib
\ClassWarning{PhDThesisPSnPDF}{Bibliography selection conflict: A
bibliography style aleady specified. Please check the document class
options in case you have defined two bibliography styles.}
\else
\PHD@numberedtrue
\setBibtrue
\fi
}
\newif\ifuseCustomBib\useCustomBibfalse % Custom Bibliography
\DeclareOption{custombib}{
\ifsetBib
\ClassWarning{PhDThesisPSnPDF}{Bibliography selection conflict: A
bibliography style aleady specified. Please check the document class
options in case you have defined two bibliography styles.}
\else
\ifPHD@biblatex
\ClassWarning{PhDThesisPSnPDF}{Bibliography selection conflict: A
bibliography style aleady specified. Please check the document class
options in case you have defined two bibliography styles.}
\else
\useCustomBibtrue
\setBibtrue
\fi
\fi
}
решение1
Наконец-то найдена основная причина проблемы с компиляцией — добавляю ее сюда на случай, если кто-то еще будет искать что-то подобное в будущем!
Обратите внимание, что файл .cls шаблона диссертации CUED (Cambridge University Eng Dept) содержит два раздела, посвященных ссылкам и библиографии. Если вам нужно удалить все настройки шаблона по умолчанию и заменить их своими собственными настройками, обязательно удалите/закомментируйтеобаподразделы из файла .cls!
Чтобы заменить ссылки по умолчанию на phys
ссылки стиля AIP/:
Удаленныйобаподразделы, связанные со ссылками/библиографией из файла .cls
Удалены все настройки для ссылок из файла преамбулы и заменены на
\usepackage[backend=biber,style=phys]{biblatex} \addbibresource{References/references.bib}
Сохранены только следующие настройки класса:
\documentclass[a4paper,12pt,times]{PhDThesisPSnPDF}
Проблема, из-за которой другие ссылки не срабатывали (особенно @online
ссылки с URL), включала в себя пользовательскую команду, которую я настроил. Поскольку я очень часто использую индексы вне уравнений, я на ранней стадии установил следующее сочетание клавиш:
\let\sb\textsubscript
Оказывается, есть \sb
команда, которая играет роль в печати библиографии/форматировании URL-адреса/что-нибудьв @online
ссылках.
После множества поисков поиска и замены во всех моих поддокументах для удаления \sb
, все наконец-то работает гладко. Потребовалось несколько недель реконструкции и кропотливого поиска проблем, и я понимаю, что это очень специфично для моего пользовательского сочетания клавиш, но надеюсь, это может сэкономить кому-то время!
(Для контекста: причиной изменения настроек шаблона по умолчанию на phys
стиль было указание моего руководителя)