![在特定页码处调用命令](https://linux22.com/image/461354/%E5%9C%A8%E7%89%B9%E5%AE%9A%E9%A1%B5%E7%A0%81%E5%A4%84%E8%B0%83%E7%94%A8%E5%91%BD%E4%BB%A4.png)
和 TeX.SE 上大多数奇怪的请求一样,我也在写一篇论文(和班级一起book
)。我们部门对论文页数有严格限制(70 页)。
过去,对于短篇文档,我曾经在序言中包含一个 TeX 片段,该片段会删除指定页数之后的所有页面。但是,我了解自己,这可能太“安静”了,以至于无法提醒它。我想到的一个解决方案是\color{red}
在第 71 页的开头调用,这样滚动文本时它就会跳出。但是如何在指定的页码调用命令呢?
另一种可能性是以某种方式使用该xwatermark
包,因为我已经在使用它来给我的草稿加水印。
额外加分:我认为附录不计入总数,因此,如果能自动确定 1. 阿拉伯语页码的结尾或 2. 附录的开头,那就太好了。(您可以直接放在\color{black}
之前\begin{appendices}
,但让 2. 附录在前言中自动完成,对我来说似乎更简洁。)
答案1
也许将整个页面背景设为红色会在滚动时吸引你的注意力。为此,你可以使用钩子shipout
并将pagecolor
红色
\documentclass{report}
\usepackage{afterpage}
\usepackage{xcolor}
\AddToHook{shipout/before}{
\ifnum\ReadonlyShipoutCounter=3
\pagecolor{red}
\else
\relax
\fi
}
\begin{document}
\chapter{One}
\chapter{Two}
\chapter{Who are you?}
Test\newpage
Test2\newpage
\end{document}
结果如下
答案2
您无法轻易(或根本)更改特定页面上的格式,第 71 页上的文本可能在仅制作了 10 页时就进行了排版(如果它有一个长段落,或者插入了大量浮点数或...)您无法重新设置(甚至访问)经典 tex 中的该文本。(luatex 稍微改变了规则)。
但是,可以在页头中可靠地访问当前页码,因此使用fancyhdr
或直接使用,您可以获得包含
\ifnum\value{page}>70 \textcolor{red}{BAD PAGE}\fi
或者你可能更喜欢错误
\ifnum\value{page}>70 \PackageError{mythesis}{BAD PAGE}{write less stuff}\fi