想要在标题中获取“书名”和“章节名称”

想要在标题中获取“书名”和“章节名称”

我在以下链接中询问如何在标题中获取“章节名称”和“部分”: 使用 \chapter 和 \section 时 \markboth 不起作用。现在我决定将section name之前发布的同一问题中的标题替换为“书名”。我尝试按以下方式进行更改:

\documentclass[a4paper,12pt]{book}

\usepackage[vmargin=0.2cm,hmargin=1cm,head=16pt,includeheadfoot]{geometry}

\usepackage{fancyhdr,amsthm}

\pagestyle{fancy}
% We don't want chapter and section numbers    
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
%\renewcommand{\sectionmark}[1]{\markright{#1}}

\fancyhead{}
\fancyfoot{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO]{\slshape\rightmark}
\fancyhead[RE]{\slshape\leftmark}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}

\begin{document}

\chapter{Chapter}
\section{Section}
\markboth{book name}{section name}
\begin{theorem}
 Theorem
\end{theorem}

\newpage
Second page
\newpage

Third page
\end{document}

但是“书名”没有出现在页眉中。要使“书名”出现在奇数页,而“章节名称”出现在偶数页,需要什么命令?

答案1

\markboth在文档主体中发出明确的命令是最后一种资源。

只需说出fancyhdr您想要什么;\leftmark只是一个(可能选择不当的)名称,它“包含”最后指定为命令中的第一个参数的内容\markboth,这通常是隐含的\chapter(更准确地说,\chapter依次\chaptermark执行\markboth)。

\pagestyle{fancy}
% We don't want chapter and section numbers
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\fancyhead{}
\fancyfoot{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO]{\slshape Book Title} % odd pages: book title
\fancyhead[RE]{\slshape\leftmark}   % even pages: chapter title

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}

相关内容