目录与回忆录中更改的页眉不一致

目录与回忆录中更改的页眉不一致

我正在使用该类排版电子书memoir。我调整了页面样式,以便页眉全部设置为斜体。这很好用除了带有目录、参考书目、词汇表和三个索引的页眉。但是,表格列表和图表列表遵循默认的斜体文本样式。

遗憾的是,到目前为止,我还无法将目录的页眉等也排版为斜体。

我尝试根据我在手册相关部分找到的内容以及在这个论坛上对几个问题的回答来调整标题的排版,其中最值得注意的是这个

我提供了一个最小工作示例,其中问题出现在目录上。我目前假设参考书目、词汇表和索引的问题基本相同,所以我省略了它们。但我确实需要一个跨越多页的目录和跨越多页的章节来显示问题,因此foreach代码片段中出现了循环。

编辑:我的假设是错误的@esdd 提出的解决方案(见下文)解决了我的目录、参考书目和词汇表问题。但是,它并没有解决索引问题。我已扩展我的 MWE 以包含多页索引。

编辑 2:@daleif 解决了我问题的后半部分,回想起来这应该是一个新问题,因为它是imakeidx而不是 中的问题memoir。由于 @esdd 已经解决了原始问题,我已将该答案标记为解决方案。由于 @daleif 的补充对于遇到此问题或类似问题的其他人非常有用,我添加了此解释和 的额外标签imakeidx

\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{pgffor}

\usepackage[xindy]{imakeidx}
    \makeindex[name=rerum,title=Index Rerum,columns=2,intoc]
    \makeindex[program=truexindy,options=-M texindy -C utf8]

\makepagestyle{ebook} 
\makeatletter
\makepsmarks{ebook}{%
\let\@mkboth\markboth
\def\chaptermark##1{\markboth{##1}{##1}}%
}
\makeevenhead{ebook}% 
{\normalfont\thepage%\ \thepart 
}{\normalfont\itshape\leftmark}{} 
\makeoddhead{ebook}% 
{}{\normalfont\itshape\thetitle}{%\numtoName{\thechapter}\ 
\normalfont\thepage} 
\pagestyle{ebook} 

\begin{document}
\tableofcontents
\chapter{A chapter}
\lipsum[1-8]

\foreach \n in {0,...,18}{%
\chapter{Another chapter}
\lipsum[1-8]
\index[rerum]{foo}
\index[rerum]{bar}
\index[rerum]{foobar}
\index[rerum]{lipsum}
\index[rerum]{frotz}
\index[rerum]{xyzzy}
\index[rerum]{blorb}
\index[rerum]{snarf}
\index[rerum]{guncho}
\index[rerum]{rezrov}
\index[rerum]{zork}
\index[rerum]{gnusto}
\index[rerum]{frobozz}
\index[rerum]{tinsot}
\index[rerum]{gue}
\index[rerum]{belboz}
\index[rerum]{blorple}
\index[rerum]{snavig}
\index[rerum]{yomin}
\index[rerum]{gurgle}
\index[rerum]{jindak}
}

\backmatter

\printindex[rerum]

\end{document}

任何帮助是极大的赞赏。

答案1

也许您正在寻找\nouppercaseheads

\makepsmarks{ebook}{%
  \nouppercaseheads
  \def\chaptermark##1{\markboth{##1}{##1}}%
}

enter image description here

代码:

\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{pgffor}

\makepagestyle{ebook} 
\makepsmarks{ebook}{%
  \nouppercaseheads
  \def\chaptermark##1{\markboth{##1}{##1}}%
}
\makeevenhead{ebook} 
  {\normalfont\thepage}{\normalfont\itshape\leftmark}{} 
\makeoddhead{ebook} 
  {}{\normalfont\itshape\thetitle}{\normalfont\thepage} 
\pagestyle{ebook} 

\begin{document}
\tableofcontents
\chapter{A chapter}
\lipsum[1-8]
\foreach \n in {0,...,18}{%
  \chapter{Another chapter}
  \lipsum[1-8]
}
\end{document}

答案2

索引头问题与之无关,而是覆盖的memoir事实,因此索引头的方法()从未执行。imakeidxtheindexmemoir\indexmark

通过查看imakeidx资料,我们发现以下内容

\def\imki@indexheaders{%
  \@mkboth{\MakeUppercase\indexname}{\MakeUppercase\indexname}}

(这是唯一\MakeUppercase被使用的地方)

解决方案很简单,在序言中

\makeatletter
\def\imki@indexheaders{\indexmark}
\makeatother

然后我们执行\indexmarkmemoir并且遵循\nouppercaseheads(它将默认使用\indexname通过选项重置的imakeidx

记住\nouppercaseheads应该执行激活页面样式。

顺便说一句:你的定义也可以通过基本方法\chaptermark完成memoir

  \createmark{chapter}{both}{nonumber}{}{}

相关内容