对于我的论文,我重新定义\thechapter
为,\thepart
因为我只使用部分、节和小节。使用下面的代码,我将节作为右侧标题,但左侧没有任何内容。如何让部分出现在左侧?
\renewcommand{\thechapter}{\thepart}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\parttitle.\ #1}{}}}
\renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}{}}
\fancyhead{}
\fancyhead[L]{\textit{\leftmark}}
\fancyhead[R]{\textit{\rightmark}}
\renewcommand{\cfoot}{\thepage}
答案1
此代码可完成此任务。它重新定义了 LaTeX 内部命令\@part
以调用\markboth
。包lipsum
用于提供一些虚拟文本。
另外,我清理了代码:
- 您不需要重新
\sectionmark
定义\chaptermark
。 - 没有命令
\parttitle
,它是\partname
。 - 您应该使用
\fancyfoot
而不要重新定义\cfoot
。
代码:
\documentclass{book}
\renewcommand{\thechapter}{\thepart}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[L]{\textit{\leftmark}}
\fancyhead[R]{\textit{\rightmark}}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\makeatletter
\let\old@part\@part
\def\@part[#1]#2{\old@part[#1]{#2\markboth{\MakeUppercase{\partname.\ #1}}{}}}
\makeatother
\usepackage{lipsum}
\begin{document}
\part{PP}
\section{SS}
\lipsum[1-10]
\end{document}