1

I am using the tufte-book class and want to have short citations, e.g. only first author, year, and maybe title, rather than a full cite every time I cite a reference. Various solutions suggest to use the [nobib] option to suppress natbib and then use biblatex. Unfortunately, [nobib] doesn't seem to do anything and I still get compatibility issues when using it with biblatex. One workaround would be to define my own citation command akin to

\sidenote{\citet{}}

This allows for short references in the margins, yet I still can't get biblatex to work. The solutions I found here didn't help.

Edit: That's the code that doesn't work.

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

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

The error is Package biblatex Error: Incompatible package 'natbib'.

fukurai
  • 33
  • 1
    The accepted answer to https://tex.stackexchange.com/q/45934/35864 works fine for me. Can you share a complete example document that shows what you are trying to do, please? Please also tell us how you compile your document. A document using biblatex will need to be compiled with LaTeX, Biber, LaTeX, LaTeX (https://tex.stackexchange.com/q/63852/35864 and https://tex.stackexchange.com/q/154751/35864). – moewe Aug 16 '22 at 18:06
  • I use pdflatex and that already fails to compile due to the natbib incompatibility. – fukurai Aug 16 '22 at 19:05
  • OK, it seems like I mixed up the tufte-common.def files and the one I had in my directory didn't had the nobib option yet. Using \renewcommand{\cite}[2][0pt]{\sidenote[][#1]{\fullcite{#2}}} from https://github.com/christopheradams/tufte-latex/issues/60 restored the previous behaviour. Now I've to figure how to shorten the fullcite to only author + year. – fukurai Aug 16 '22 at 19:21

1 Answers1

1

Given that you managed to get biblatex up and running with tufte-book (a relatively recent version of the class should define the nobib option), I will only focus on the question of getting author-year citations.

That is done by switching the style from alphabetic to authoryear. If you want your citations in the sidenotes, use autocite=footnote,. Use the command \autocite to cite any entries.

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

Citation "Sigfridsson and Ryde 1998" in side note.

moewe
  • 175,683