我最近开始用tufte-book
它来排版数学题的答案。我非常喜欢鼓励你使用页边距,这对于给出关于寻找答案的步骤的提示、指示和参考非常有用。
不幸的是,sidenote
和marginnote
命令在数学环境中不起作用(不处于外层模式)。大多数情况下,我可以通过把命令放在环境后面来解决这个问题,通过 来使用带有十进制值的可选偏移量\marginnote[-length]{content}
。但是当数学环境被推到页面末尾时,这种情况就会中断:注释会被推到下一页,不再出现在同一页上。如果您先放置命令,然后放置环境,也会发生这种情况。
那么,有没有办法在数学环境中启用sidenote
和marginnote
?(我考虑过使用环境samepage
,但这会增加很多难看的空白,因为整个数学环境被推到了下一页,而没有必要)
\documentclass{tufte-book}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{tikz}
\newcommand{\filler}[1][10]%
{ \foreach \x in {1,...,#1}
{ test
}
}
\begin{document}
\lipsum[1]
\begin{align*}
&\int\int\int t\ dt^3\\
=&\int\int \frac{t^2}{2}\ dt^2\\
=&\int \frac{t^3}{6}\ dt\\
=&\frac{t^4}{24}
\end{align*}\marginnote[-3.7cm]{first note}\marginnote[-1.7cm]{second note}
\lipsum[2]
\filler[50]
\begin{align*}
&\int\int\int t\ dt^3\\
=&\int\int \frac{t^2}{2}\ dt^2\\
=&\int \frac{t^3}{6}\ dt\\
=&\frac{t^4}{24}
\end{align*}\marginnote[-3.7cm]{first note}\marginnote[-1.7cm]{second note}
\end{document}
可以看到,第二个align*
仍然在第一页,但是marginnote
s 被推到了第二页。
答案1
AMS 环境可以方便地为你提供一个钩子,将文本放置在相对于边距的已知位置,因此我会这样做
\documentclass{tufte-book}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{tikz}
\newcommand{\filler}[1][10]%
{ \foreach \x in {1,...,#1}
{ test
}
}
\def\mathnote#1{%
\tag*{\rlap{\hspace\marginparsep\smash{\parbox[t]{\marginparwidth}{%
\footnotesize#1}}}}
}
\begin{document}
\lipsum[1]
\begin{align*}
&\int\int\int t\ dt^3\\
=&\int\int \frac{t^2}{2}\ dt^2\\
=&\int \frac{t^3}{6}\ dt\\
=&\frac{t^4}{24}
\end{align*}\marginnote[-3.7cm]{first note}\marginnote[-1.7cm]{second note}
\lipsum[2]
\filler[50]
\begin{align*}
&\int\int\int t\ dt^3\mathnote{first note}\\
=&\int\int \frac{t^2}{2}\ dt^2\\
=&\int \frac{t^3}{6}\ dt\\
=&\frac{t^4}{24}\mathnote{second note}
\end{align*}
\end{document}