大家好又是我,
我尝试添加\leftmark
到我的标题,但我想将其从 更改Chapter 1. Introduction
为1 Introduction
。我的 MWE:
\documentclass[12pt, oneside, a4paper]{book}
\usepackage{titlesec}
\titleformat{\chapter}{\huge\bfseries}{\thechapter}{20pt}{\huge}
\usepackage{fancyhdr}
\fancypagestyle{plain}
{
\fancyhf{}
\fancyhead[L]{\rightmark}
\fancyfoot[R]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{Introduction}
\chapter{Blablabla}
\end{document}
我在 Google 上搜索了很多发现\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
和其他变体并将其插入到序言的不同位置,但没有作用。
我是不是又错过了什么重要的东西?我想是的,但我无法指出来。
答案1
\chaptermark
可以按以下方式重新定义:
\makeatletter
\if@twoside
\renewcommand*{\chaptermark}[1]{%
\markboth{%
\ifnum\value{secnumdepth}>-1 %
\thechapter\ %
\fi
#1%
}{}%
}%
\else
\renewcommand*{\chaptermark}[1]{%
\markright{%
\ifnum\value{secnumdepth}>-1 %
\if@mainmatter
\thechapter\ %
\fi
\fi
#1%
}%
\fi
}
\makeatother
它打印标题:
CONTENTS
1 Introduction
2 Blablabla
CONTENTS
可以通过重新定义 来删除 的大写字母\tableofcontents
:
\usepackage{etoolbox}
\patchcmd{\tableofcontents}{\MakeUppercase\contentsname}{\contentsname}{}{}
\patchcmd{\tableofcontents}{\MakeUppercase\contentsname}{\contentsname}{}{}
\MakeUppercase
从定义中删除了\tableofcontents
(两次)。