As godbyk mentioned, we created the sidenotes
package for this purpose. Here is a minimal implementation of your example:
\documentclass{book}
\usepackage[paperwidth=170mm, paperheight=240mm, left=42pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt]{geometry}
\usepackage{sidenotes}
\begin{document}
I shall use the word programming to denote the whole activity of design and implementation of programmed solutions. What I am concerned with is the activity of matching some significant part and aspect of an activity in the real world to the formal symbol manipulation that can be done by a program running on a computer. With such a notion it follows directly that the programming activity I am talking about must include the development in time corresponding to the changes taking place in the real world activity being matched by the program execution, in other words program modifications.\sidenote{As a major result of these studies I described programming as a human activity: theory building.}
One way of stating the main point I want to make is that programming in this sense primarily must be the programmers building up knowledge of a certain kind, knowledge taken to be basically the programmers immediate possession, any documentation being an auxiliary, secondary product.
\end{document}
The marginfix
package could be used, which distributes the marginals nicely and, in particular, avoids overlaps.
An example implementation with font size presets and such is caesar_book
. You might be able to change it to your liking: Github sources.
To try it with an updated TeXLive, just change the first line to \documentclass{caesar_book}
instead of book
and delete the two \usepackages
.
tufte-book
modifies the \cite
-command heavily, you can turn this behavior off, using the nobib
-option:
\documentclass[titlepage, a4paper, twoside, justified, nobib]{tufte-book}
In order to get natbib
working, you have to call and configure it manually:
\usepackage{natbib}
\setcitestyle{authoryear}
You also have to use plainnat
instead of plain
:
\bibliographystyle{plainnat}
Now you can use \citep
to get citations in parens.
\documentclass[titlepage, a4paper, twoside, justified, nobib]{tufte-book}
\usepackage{textcomp}
\usepackage{graphicx}
\usepackage[utf8x]{inputenc}
\usepackage{natbib} % call natbib
\setcitestyle{authoryear} % set citation style to authoryear
\bibliographystyle{plainnat} % use the plainnat instead of plain
% -------------------------------
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Pilegaard2014,
title = "Differentiating moss from higher plants is critical in studying the carbon cycle of the boreal biome",
publisher = "Nature Publishing Group",
author = "Kim Pilegaard and Wenping Yuan and Shuguang Liu and Wenjie Dong and Shunlin Liang and Shuqing Zhao and Jingming Chen and Wenfang Xu and Xianglan Li and Alan Barr and Black, {T. Andrew} and Wende Yan and Goulden, {Mike L.} and Liisa Kulmala and Anders Lindroth and Margolis, {Hank A.} and Yojiro Matsuura and Eddy Moors and {van der Molen}, Michiel and Takeshi Ohta and Andrej Varlagin and Timo Vesala",
year = "2014",
doi = "10.1038/ncomms5270",
volume = "5",
journal = "Nature Communications",
issn = "2041-1723",
}
\end{filecontents}
% -------------------------------
\title{Impacts of climate\\change on\\terrestrial ecosystem functioning --\\an overview}
\author{Beier, C., et al.}
\begin{document}
.
.
.
Bla bla \citep{Pilegaard2014} bla.
\bibliography{\jobname}
\end{document}
Best Answer
The class only redefines the
\cite
command, you can use\citet
and\citep
as normal. It works in a document that I have using the package.