我有以下代码:
\documentclass{scrreprt}
\usepackage[automark]{scrlayer-scrpage}
\clearscrheadfoot
%\chead*{\mytitle}
\lehead*{\headmark}
\rohead*{\headmark}
\cfoot*{\pagemark}
\pagestyle{scrheadings}
\newpairofpagestyles{myFMstyle}{%
\clearscrheadfoot%
\rhead*{\headmark}
\cfoot*{\pagemark}
}%
%\renewcommand*{\chapterpagestyle}{myFMstyle} <- Runs fine when this is commented out
\usepackage{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\nomenclature{c}{speed}
test
\end{document}
假定输出:
注释掉该\renewcommand
行后,程序运行正常。但是当我取消注释并尝试运行它时,出现以下错误:
未定义控制序列。\end{document}
我到底做错了什么?
编辑:错误不是由 -command 的使用引起的,而是由-commandnomencl
的使用引起的。\newpairofpagestyles
\rhead
答案1
您不能在 中使用\rhead
and 。相反,您应该在相等页面上使用 for right head,在奇数页面上使用 for right head。或者,您也可以在外侧和内侧使用and 。这样您的 MWE 应该如下所示:\lhead
\newpairofpagestyles
\rehead
\rohead
\ohead
\ihead
\documentclass{scrreprt}
\usepackage[automark]{scrlayer-scrpage}
\clearscrheadfoot
%\chead*{\mytitle}
\lehead*{\headmark}% you might use \ohead*{\headmark} instead of \lehead*{}...\rohead*{}
\rohead*{\headmark}% you might use \ohead*{\headmark} instead of \lehead*{}...\rohead*{}
\cfoot*{\pagemark}
\pagestyle{scrheadings}
\newpairofpagestyles{myFMstyle}{%
\clearscrheadfoot%
\ohead*{\headmark}% here you should use \ohead{}, \ihead{}, \rohead{} or \rehead{} instead of \rhead{}
\cfoot*{\pagemark}
}%
\renewcommand*{\chapterpagestyle}{myFMstyle}
\begin{document}
\chapter{test}
test
\end{document}
在这个例子中,的使用nomencl
不应该改变任何东西。
此外,如果您的myFMstyle
符合您的scrheadings
风格(如本例所示),为什么不直接使用\renewcommand{\chapterpagestyle}{scrheadings}
?
编辑:请注意,该命令\printnomenclature
不会设置\headmark
。因此,您应该\markboth{Nomenclature}{Nomenclature}
在调用之后调用\printnomenclature
。