如何从标题中删除“章节”一词?

如何从标题中删除“章节”一词?

我想从标题中删除“章节”一词,但在文档中保留正常的“第十章:章节名称”。

我希望我的标题显示“#章节名称”,而不是“章节#章节名称”。

答案1

documentclass在没有关于您正在使用的或您正在编写的文档类型的信息的情况下,我写了一个相当“基本”的答案。

这可以通过包轻松实现fancyhdr;默认样式是:

\fancypagestyle{DefaultStyle}{%
    \fancyhead{} %Clean headers
    \fancyhead[RO]{\slshape \leftmark}
    \fancyhead[LE]{\slshape \leftmark}
    \renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\chaptername\ \thechapter. {##1}}}{}}
}

为了从标题中删除“章节”一词,只需\chaptername\chaptermark定义中删除即可:

\documentclass[twoside]{report}

% Random text
\usepackage{lipsum}

% Page style
\usepackage{fancyhdr}

% Defining the new page style
\pagestyle{fancy}
\fancypagestyle{MyStyle}{%
    \fancyhead{} %Clean headers
    \fancyhead[RO]{\leftmark}
    \fancyhead[LE]{\leftmark}
    \renewcommand{\chaptermark}[1]{\markboth{\thechapter. {\slshape{##1}}}{}}
}

\begin{document}

\pagestyle{MyStyle}
\chapter{First chapter title}
\lipsum

\chapter{Second chapter title}
\lipsum

\end{document}

答案2

另一种可能性是使用包scrlayer-scrpage。然后您可以重新定义命令\chaptermarkformat以获取所需的布局。

梅威瑟:

\documentclass[twoside]{report}
\usepackage{blindtext}% dummy text

\usepackage[automark,markcase=noupper,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{\leftmark}
\renewcommand*\chaptermarkformat{\thechapter.\enskip}

\begin{document}
\blinddocument
\blinddocument
\end{document}

相关内容