标题中的自定义文本

标题中的自定义文本

我正在使用 fancyhdr,并希望在页眉中每隔几页更改一次自定义文本。目前,我正在使用技巧markboth- 我有一个函数\newcommand{\setheaderdata}[2]{\markboth{#1}{#2}},然后使用显示这些数据。 \fancypagestyle{mystyle}{\ \fancyhead[C]{\leftmark} \fancyfoot[LO]{\rightmark} } 问题是,现在我想在页眉中添加第三个文本,由于没有centermark,我无法将其放入页眉中。

我曾尝试制作一个自定义命令,每次我想要更改标题文本时都会重新定义该命令,但由于某种原因,标题会忽略这次重新定义......

那么,如何将自定义文本(在整个文档中发生变化)放入页眉?

答案1

不幸的是,我找不到使用该fancyhdr软件包的任何解决方案,而且据我所知,pagestyles 无法更新。但是(感谢 Bernard)我找到了使用该titleps软件包的解决方案:

\newcommand{\headerdatafirst}{}
\newcommand{\headerdatasecond}{}
\newcommand{\headerdatathird}{}

\newshortmark\headerdatafirst
\newshortmark\headerdatasecond
\newshortmark\headerdatathird

\newpagestyle{datastyle}{
    \sethead{\headerdatafirst}{\headerdatasecond}{\headerdatathird}
}

\newcommand{\setheaderdata}[3]{
    \renewcommand{\headerdatafirst}{#1}
    \preshortmark\headerdatafirst
    \renewcommand{\headerdatasecond}{#2}
    \preshortmark\headerdatasecond
    \renewcommand{\headerdatathird}{#3}
    \preshortmark\headerdatathird
}

现在每次setheaderdata调用时,pagestyledatastyle都会包含 header 中的参数(直到setheaderdata再次调用)。

相关内容