titleps 多个标题不接受规则更改

titleps 多个标题不接受规则更改

我想在文档中使用多个不同的页眉和页脚。经过多次尝试,我决定使用titleps这种方法,因为我无论如何都会重新定义章节、小节等。

问题是我必须将脚尺向上移动,因为我需要添加分布在两行上的位。

我发现如果我只使用一种页面样式,那么重新定义页眉或页脚规则就可以起作用,但必须在选择页面样式之后放置它,否则它就不会被定义。

以下是 MWE:

\documentclass{article}
\usepackage{xcolor}
\usepackage{titleps}

\newpagestyle{a}
{\sethead{}{Header-a}{}\headrule
  \setfoot{}{Footer-a}{}\footrule}
\pagestyle{a}

\newpagestyle{b}
{\sethead{}{\parbox{0.4\textwidth}{\centering
Header-b\\Second line}}
{}\headrule
  \setfoot{}{\parbox{0.4\textwidth}{\centering
  Footer-b\\Second line}}
  {}\footrule}

%\pagestyle{b}

\renewcommand\makeheadrule{\color{red}\rule[-1\baselineskip]{\linewidth}{0.4pt}}
\renewcommand\makefootrule{\color{green}\rule[1.2\baselineskip]{\linewidth}{0.8pt}}
\begin{document}
\pagestyle{a}
Page 1
\clearpage
\pagestyle{b}
Page 2
\end{document}

通过这种方式,我得到了不同的页眉/页脚,但是重新定义页眉/页脚规则没有效果。

如何才能实现这一目标?

我只需要一个定义,因为它对我的整个文档来说是通用的,但一般来说,也可能需要根据页面样式进行更改。

答案1

不幸的是,您尝试重新定义的命令是页面样式的本地命令,即直接在序言中定义它们将不起作用,因为页面样式设置将覆盖它们。

因此,您可以在每次更改页面样式时重新定义这些命令或将它们合并到每个页面样式中,这是最好的解决方案。

将 MWE 重写为:

\documentclass{article}
\usepackage{xcolor}
\usepackage{titleps}

\newpagestyle{a}{%
  \sethead{}{Header-a}{}
  \setfoot{}{Footer-a}{}
  \renewcommand\makeheadrule{\color{red}\rule[-1\baselineskip]{\linewidth}{0.4pt}}
  \renewcommand\makefootrule{\color{green}\rule[1.2\baselineskip]{\linewidth}{0.8pt}}
}

\newpagestyle{b}{%
  \sethead{}{\parbox{0.4\textwidth}{\centering
    Header-b\\Second line}}{}
  \setfoot{}{\parbox{0.4\textwidth}{\centering
    Footer-b\\Second line}}{}
  \renewcommand\makeheadrule{\color{red}\rule[-1\baselineskip]{\linewidth}{0.4pt}}
  \renewcommand\makefootrule{\color{green}\rule[1.2\baselineskip]{\linewidth}{0.8pt}}
}

\begin{document}
\pagestyle{a}
Page 1
\clearpage
\pagestyle{b}
Page 2
\end{document} 

将输出所需的结果:

在此处输入图片描述

相关内容