我正在写论文,对于“引言”一章,我想从章节标题中删除前缀“第 1 章”,但仍然保留标题“引言”。这就是我现在所拥有的
我已经尝试过代码:
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
它从章节标题中删除了“第 1 章”,但弄乱了页眉并将其留空。我怎样才能从这一章中删除“第 1 章”,但仍然保留“简介”作为这一章其余页面的标题?
编辑:我忘了提到我正在使用报告文档类
编辑2:最低工作代码:
\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{blindtext}
\fancyhead{}
\fancyhead[L]{\nouppercase{\leftmark}}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\begin{document}
\chapter{Introduction}
\Blindtext
\end{document}
答案1
这个答案是对伯纳德解决这个问题要隐藏的章节不是第一章。
具体变化如下:
- 引入一个新的布尔变量
haschapter
来测试是否应打印章节号,以取代使用 的检查\ifthechapter
。条件标题是使用此布尔切换编写的。 - 将切换按钮合并到章节命令中;因此
\chapter
被覆盖以将切换按钮设置为真,并且\NHchapter
定义一个新命令以将切换按钮设置为假,同时设置目录和章节标记。
代码如下:
\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{etoolbox}
\usepackage{blindtext}
\newtoggle{haschapter}
\usepackage[pagestyles]{titlesec}
\newpagestyle{mine}{%
\headrule
\sethead{\iftoggle{haschapter}{\chaptername\ \thechapter\quad}{}\chaptertitle}{}{}%
\setfoot{}{\thepage}{}
}%
\pagestyle{mine}
\let\oldchapter\chapter
\renewcommand{\chapter}[1]{\oldchapter{#1}\toggletrue{haschapter}}
\newcommand{\NHchapter}[1]{\oldchapter*{#1}\togglefalse{haschapter} \addcontentsline{toc}{chapter}{#1}\chaptermark{#1}}
\begin{document}
\NHchapter{Introduction}
\Blindtext
\newpage
\Blindtext
\chapter{A First Chapter}
\Blindtext
\newpage
\Blindtext
\NHchapter{Conclusion}
\Blindtext
\newpage
\Blindtext
\end{document}
答案2
这是一个使用titlesec
+ 选项的解决方案[pagestyles]
。在这种情况下,不要加载 fancyhdr,因为它会与 冲突titleps
。
无关:无需加载inputenc
,因为自 2018 年以来,LaTeX 的默认输入编码是utf8
。
\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[pagestyles]{titlesec}
\newpagestyle{mine}{%
\headrule
\sethead{\ifthechapter{\chaptername\ \thechapter\quad}{}\chaptertitle}{}{}%
\setfoot{}{\thepage}{}
}%
\pagestyle{mine}
\begin{document}
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\chaptermark{Introduction}
\Blindtext
\newpage
\Blindtext
\chapter{A First Chapter}
\Blindtext
\end{document}
答案3
好的,我尝试了不同的方法,结果完全符合我的要求。可能有更好的解决方案,但我用我对 Latex 的基本了解让它工作了。
\documentclass[a4paper,12pt]{report}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{fancyhdr}
\pagestyle{fancy}
\begin{document}
\tableofcontents
\begingroup
\fancyhead{}
\fancyhead[L]{Introduction}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\Blindtext
\endgroup
\newpage
\begingroup
\fancyhead{}
\fancyhead[L]{\nouppercase{\leftmark}}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\chapter{A First Chapter}
\Blindtext
\endgroup
\newpage
\begingroup
\fancyhead{}
\fancyhead[L]{Conclusion}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\chapter*{Conclusion}
\addcontentsline{toc}{chapter}{Conclusion}
\Blindtext
\endgroup
\end{document}