我正在尝试让tufte-book
文档类的边注(或边距)区域具有一些背景颜色。理想情况下,它会覆盖整个页面,但只覆盖相关的部分。我尝试了几种解决方案,包括:如何为不同的页面设置彩色边距?和如何为边缘区域设置特定颜色(白色除外)?然而,它们都不起作用。我得到了背景颜色,但在随机的地方,它并没有真正说明哪些页面有侧注区域或没有侧注区域(当然,在最坏的情况下我可以手动完成,但我甚至还没到那一步)。
例如,有一次我尝试这样做:
% !TEX program = xelatex
\documentclass{tufte-book}
\renewcommand\allcapsspacing[1]{{\addfontfeature{LetterSpace=15}#1}}
\renewcommand\smallcapsspacing[1]{{\addfontfeature{LetterSpace=10}#1}}
\usepackage{geometry}
\usepackage{eso-pic,xcolor,lipsum}
\pagecolor{red}
\AddToShipoutPictureBG{%
\AtTextLowerLeft{\color{white}%
\rule[-\footskip]{\textwidth}{\dimexpr\textheight+\footskip}}}
\title{Book title that is long}
\author{Some Auhor}
\begin{document}
\maketitle
Test with some notes\sidenote{Test}.
\lipsum
\end{document}
但背景并不局限于侧注区域。
我会追求这样的事情:https://www.principiae.be/book/pdfs/TM&Th-samplepages.pdf。
除了手工寻找正确的尺寸之外,没有其他希望了吗?
答案1
您需要calc
获取正确的长度。
\documentclass[nobib]{tufte-book}
\usepackage{xcolor}
\usepackage{eso-pic,picture}
\usepackage{lipsum}
\usepackage{calc}
\newlength{\marginoffset}
\setlength{\marginoffset}{\hoffset+1in+\oddsidemargin+\textwidth+(\marginparsep/2)}
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\put(\marginoffset,0){%
\color{lightgray}\rule{\paperwidth-\marginoffset}{\paperheight}%
}%
}%
}%
\renewcommand\allcapsspacing[1]{{\addfontfeature{LetterSpace=15}#1}}
\renewcommand\smallcapsspacing[1]{{\addfontfeature{LetterSpace=10}#1}}
\title{Book title that is long}
\author{Some Auhor}
\begin{document}
\maketitle
Test with some notes\sidenote{Test}.
\lipsum
\end{document}