我想为每个章节创建一个 ID 标签,并将其添加到页脚。每个章节将有不同的 ID 号。我尝试创建可以传入章节 ID 的函数,但它似乎没有添加到页脚。有没有什么办法可以做到这一点?我对如何以及在何处输入章节 ID 有点困惑。
\newcommand{\chaperID}[1]{\textit{#1}}
\lhead{}
\chead{}
\rhead{}
\lfoot{\chapterID}
\cfoot{\thepage}
\rfoot{}
示例章节:
\chapter{Creating a project}
\chapterID{ABCD1234}
\input{projectcreate.tex}
答案1
这是一种fancyhdr
将当前章节 ID 存储到\@chapid
宏中然后在中使用的方法\lfoot
。
但是,\chapter
宏用于\thispagestyle{plain}
章节起始页,因此请更改plain
页面样式或取消\thispagestyle{plain}
使用\xpatchcmd{...}
,用 替换\thispagestyle{fancy}
。
\documentclass{book}
\usepackage{fancyhdr}
\makeatletter
\newcommand{\chapterID}[1]{\edef\@chapid{#1}}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\lhead{}
\chead{}
\rhead{}
\lfoot{\textit{\@chapid}}
\cfoot{\thepage}
\rfoot{}
\makeatother
\usepackage{blindtext}
\usepackage{xpatch}
\xpatchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{}
\begin{document}
\chapter{First}
\chapterID{ABC}
\blindtext
\chapter{Second}
\chapterID{DEF}
\blindtext
\end{document}