我目前正在使用以下代码来打印标题中的部分和子部分。
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
\lhead{\textit{\leftmark}}
\rhead{\textit{\rightmark}}
\rfoot{\textit{Page \thepage}}
\renewcommand{\sectionmark}[1]{\xdef\leftmark{\thesection\quad#1}\xdef\rightmark{}}
\renewcommand{\subsectionmark}[1]{\xdef\rightmark{\thesubsection\quad#1}}
但是,如果我尝试在章节标题中使用\mathcal
,则会导致错误。我该如何解决这个问题?
答案1
LaTeX 将为您定义\leftmark
,\rightmark
不要强迫它。
\documentclass{article}
\usepackage{lipsum} % for mock text
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
\fancyhead[L]{\itshape\leftmark}
\fancyhead[R]{\itshape\rightmark}
\fancyfoot[R]{\itshape Page \thepage}
\renewcommand{\sectionmark}[1]{\markboth{\thesection\quad#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{\thesubsection\quad#1}}
\begin{document}
\title{title}
\author{me}
\maketitle
\section{Test section}
\subsection{Test subsection $\mathcal{A}$}
\lipsum[1-20]
\end{document}