我正在编写一个包,其中第一页有一个自定义的页眉和页脚,fancyhdr
而其余页面则具有不同的页面样式。但是,我很好奇此代码为何有效:
\RequirePackage{fancyhdr}
...
\fancypagestyle{custom}{
\fancyhf{}
\chead{
\ifnum\thepage=1%
First
\else%
Not first
\fi
}
\cfoot{
\ifnum\thepage=1%
First
\else%
Not first
\fi
}
}
但是此代码失败并输出所有页面的第一页页眉和页脚:
\RequirePackage{fancyhdr}
...
\fancypagestyle{custom}{
\fancyhf{}
\ifnum\thepage=1
\chead{First}
\cfoot{First}
\else
\chead{Not first}
\cfoot{Not first}
\fi
}
我对 LaTeX 编程不太了解,但我对 LaTeX 为何区分这两者很感兴趣。为什么这两个代码示例会产生不同的文档?这是 fancyhdr 、 LaTeX\if
还是两者的混合造成的?
答案1
第二种形式的代码在您声明时测试页码。第一种形式的代码在您每次执行页面头时在每一页上测试页码。