我正在和班级一起写一份 10 页的单列 IEEE 格式的报告IEEEtran
。这是一份连续的报告,没有任何页眉和页脚或章节。我在每一页的左侧画了一个这样的侧边栏。
\usepackage[all]{background}
\usepackage{tikz}
\newcommand{\MyTikzLogo}{
\begin{tikzpicture}[remember picture,overlay,draw=black,ultra thick]
\draw [fill=red] (0,-30) rectangle (1cm,10cm);
\end{tikzpicture}
}
\SetBgContents{\MyTikzLogo}
\SetBgPosition{current page.north west}
\SetBgOpacity{1.0}
\SetBgAngle{0.0}
\SetBgScale{1.0}
这有效。但是,我在文档开头插入了两页,在文档结尾插入了另一份 pdf 中的两页,如下所示:
\begin{document}
\includepdf[pages=-]{beginning.pdf}
⋮
\includepdf[pages=-]{ending.pdf}
\end{document}
我不想在插入的页面上显示侧边栏或页码。此外,插入页面后,页码也会显示在页面上,并且在开头插入两页后,第三页的页码为 3。
如何:
- 防止
tikz
在插入的页面上绘图?意思是排除插入的前两页和后两页。 - 如何防止插入的页面上出现页码?(在开头插入 2 页后,第 3 页码应该从 1 开始而不是 3,并且插入的开始和结尾的页面都不应显示页码)
任何帮助都将受到高度赞赏。
答案1
它使用\AddToHook{shipout/background}{...}
(标准 LaTeX)而不是背景包。它还用 和 替换,[remember picture]
以便在第一次运行时可以正常工作。(current page.north west)
\put(0,0) {...}
您将需要两个页码计数器。一个用于打印\thepage
,另一个用于实际跟踪。Hyperref 提供了自己的页码计数 ( \Hy@pagecounter
),这会使操作更加简单。您可能希望使用 进行检查\pageref
。
\documentclass{IEEEtran}
\usepackage{tikz}
\usepackage{lipsum}% MWE only
\newcounter{mypage}
\setcounter{mypage}{1}
\renewcommand{\thepage}{\arabic{mypage}}
\newcommand{\MyTikzLogo}{%
\begin{tikzpicture}[baseline={(0,0)},draw=black,ultra thick]
\draw [fill=red] (0,-\paperheight) rectangle (1cm,0);
\end{tikzpicture}%
}
\AddToHook{shipout/background}{\ifnum \value{page}>2
\ifnum\value{page}<5
\put(0,0){\MyTikzLogo}% north west corner
\fi
\fi}
\AddToHook{shipout/after}{\ifnum \value{page}>2
\ifnum\value{page}<5
\stepcounter{mypage}% hopefully after \protected@write expands \thepage
\fi
\fi}
\begin{document}
\lipsum[1-60]
\end{document}
答案2
如果没有最小工作示例,我只能从手册第 2 页猜测您想要这个选项:
pages=
此选项控制背景材料是否应显示在文档的所有页面或部分页面中。此选项的预定义值为
all
(默认)和some
。请注意,使用some
此选项的值将导致根本不显示任何背景材料,并且用户必须针对\BgThispage
他/她希望显示背景材料的每个页面发出命令(参见示例 3)。