我想将当前章节的章节标题添加到标题中。我使用未编号的章节,这似乎是titleps
\documentclass{book}
\usepackage{titleps} %Header,footer
\newpagestyle{main}{
\sethead{}{}{\thesection\ \sectiontitle}
\setfoot{}{}{Page \thepage}
}
\pagestyle{main}
\begin{document}
\section*{Introduction}
\newpage
\section{Introduction}
\end{document}
上面的代码添加了编号部分以下标题结果:
但未编号的部分没有正确添加到标题中 - 只添加了零号,而不是章节标题本身:
当我使用未编号的部分时,如何修复此问题,以便可以显示当前部分标题而不显示任何编号\section*{...}
?
答案1
有必要为带星号的部分添加章节标记。
对于一般解决方案,使用来自这里。
\documentclass{book}
\usepackage{titleps}
\newpagestyle{main}{% section
\sethead{}{}{\thesection\ \sectiontitle}
\setfoot{}{}{Page \thepage}
}
\pagestyle{main}
\usepackage{kantlipsum}% dummy text
%******************************************* added <<<<<<<<<<<<
%% From https://tex.stackexchange.com/a/245879/161015
\usepackage{xparse}
\renewcommand{\thesection}{\arabic{section}} % Do not use the chapter number (optional)
\newpagestyle{mainS}{%section*
\sethead[][][\sectiontitle]{}{}{\sectiontitle}
\setfoot{}{}{Page \thepage}
}
\let\oldsection\section
\makeatletter
\RenewDocumentCommand{\section}{s o m}{%
\IfBooleanTF{#1}
{\pagestyle{mainS}% \section*
\oldsection*{#3}% \section*[.]{..}
\sectionmark{#3}% add the mark
}{\pagestyle{main}% \section
\IfNoValueTF{#2}
{\oldsection{#3}}% \section{..}
{\oldsection[#2]{#3}}% \section[.]{..}
}%
}
\makeatother
%*******************************************
\begin{document}
\section*{Introduction I}
\kant[1-4]
\section{Introduction II}
\kant[1-4]
\section*{Introduction III}
\kant[1-4]
\end{document}
如果在第一个编号部分之前没有章节,则可以0.
使用以下方法隐藏章节编号之前的内容
\renewcommand{\thesection}{\arabic{section}}