在读书课上,我想重新定义命令\printindex
并将其更改为以下内容:
\addcontentsline{toc}{chapter}{Index}
\fancypagestyle{plain}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\printindex
我该怎么做?
我的 tex 文件如下:
\documentclass{book}
\usepackage{fancyhdr}
\usepackage{makeidx}
\makeindex
\begin{document}
\tableofcontents
\chapter{One}
Hi!
\index{abc}
\index{def}
\addcontentsline{toc}{chapter}{Index}
\fancypagestyle{plain}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\printindex
\end{document}
答案1
您可以使用 保存宏\let\origmacro\macro
,其中\origmacro
是您可以选择的名称。然后重新定义宏并在内部调用其原始版本,通常在最后:
\let\origprintindex\printindex
\renewcommand*{\printindex}{%
\addcontentsline{toc}{chapter}{Index}%
\fancypagestyle{plain}{%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}%
\origprintindex
}
您可能希望将所有这些放入一个组中。