![tufte-class 中的简短引用和 biblatex](https://linux22.com/image/453711/tufte-class%20%E4%B8%AD%E7%9A%84%E7%AE%80%E7%9F%AD%E5%BC%95%E7%94%A8%E5%92%8C%20biblatex.png)
我正在使用tufte-book
类,并希望使用简短的引用,例如,只有第一作者、年份和可能的标题,而不是每次引用参考文献时都使用完整引用。各种解决方案建议使用[nobib]
抑制选项natbib
,然后使用biblatex
。不幸的是,[nobib]
似乎没有任何作用,而且在与一起使用时我仍然遇到兼容性问题biblatex
。一种解决方法是定义我自己的引用命令,类似于
\sidenote{\citet{}}
这样可以在页边空白处添加简短的参考资料,但我仍然无法让 biblatex 工作。我在这里找到的解决方案没有帮助。
编辑:那是不起作用的代码。
\documentclass[nobib]{tufte-book} % Use the tufte-book class which in turn uses the tufte-common class
\usepackage[style=alphabetic,
backend=bibtex8, % or use biber or bibtex?
bibencoding=latin1, % .bib file in latin1 or utf8 encoding?
maxbibnames=99, % give full list of authors (up to 99) in bibliography
giveninits=true, % use only initials for the first names
url=false % don't display urls
]{biblatex}
\bibliography{references}
\newcommand{\mycite}[1]{\sidenote{\citet{#1}}}
\begin{document}
\chapter{Control Theory}\label{ch:control_theory}
This chapter is concerned with control theory.
\section{Control Schemes}\label{sec:control_schemes}
Control barrier functions with \texttt{mycite}:\mycite{ames.2019a}.
Control barrier functions with \texttt{cite}:\cite{ames.2019a}
\printbibliography
\end{document}
这reference.bib
:
@inproceedings{ames.2019a,
title = {Control {{Barrier Functions}}: {{Theory}} and {{Applications}}},
shorttitle = {Control {{Barrier Functions}}},
booktitle = {2019 18th {{European Control Conference}} ({{ECC}})},
author = {Ames, Aaron D. and Coogan, Samuel and Egerstedt, Magnus and Notomista, Gennaro and Sreenath, Koushil and Tabuada, Paulo},
year = {2019},
month = jun,
pages = {3420--3431},
doi = {10.23919/ECC.2019.8796030},
abstract = {This paper provides an introduction and overview of recent work on control barrier functions and their use to verify and enforce safety properties in the context of (optimization based) safety-critical controllers. We survey the main technical results and discuss applications to several domains including robotic systems.},
}
错误是Package biblatex Error: Incompatible package 'natbib'.
答案1
鉴于您已经成功启动biblatex
并运行tufte-book
(相对较新的课程版本应该定义该nobib
选项),我将只关注获取作者年份引用的问题。
通过将样式从 切换alphabetic
到即可完成authoryear
。如果您希望在侧注中引用,请使用autocite=footnote,
。使用 命令\autocite
引用任何条目。
\documentclass[nobib]{tufte-book}
\usepackage[
backend=bibtex8,
style=authoryear,
maxbibnames=99,
giveninits=true,
url=false,
autocite=footnote,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\chapter{Control Theory}\label{ch:control_theory}
This chapter is concerned with control theory.
\section{Control Schemes}\label{sec:control_schemes}
Control barrier functions with \texttt{cite}: \autocite{sigfridsson}
\printbibliography
\end{document}