在特定页码处调用命令

在特定页码处调用命令

和 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

相关内容