带有节名的标题

带有节名的标题

我希望我的 latex 文章标题中包含章节名称。最好居中、斜体、不全部大写且不包含章节编号。我发现我可以使用

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} 

然后它应该可以与 一起工作\chead{}。但我不知道我必须在这些括号中写什么。我试过,\nameref并且\titleref我给所有部分都贴上了标签,但我只收到一条错误消息。如果有人能帮助我,那就太好了!

我的文章如下:

\documentclass{article}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} 
\chead{}

\begin{document}

\tableofcontents

\section{name of section 1}
...
\end{document}

像这样它当然不起作用因为的括号\chead{}是空的。

答案1

尝试

\documentclass{article}
\usepackage{fancyhdr,lipsum}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{}
\renewcommand{\sectionmark}[1]{%
\markboth{\hfill#1\hfill}{}}
\fancyhead[L]{\sectionmark}
\begin{document}
\section{Gnus}
\lipsum[1-5]
\section{Gnat}
\lipsum[1-5]
\end{document}

虽然又快又脏。

在此处输入图片描述

答案2

如果一页上有多个部分,那么哪一个应该放在页眉中?

  1. 页面的最后一部分应该位于页眉 -> 使用并\leftmark重新定义:sectionmark\markboth
\documentclass{article}
\usepackage{blindtext}% only for dummy text
\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyhead[C]{\nouppercase{\leftmark}}

\begin{document}
\tableofcontents
\blinddocument
\section{Foo}
\blindtext
\section{Bar}
\blindtext
\end{document}
  1. 页面的第一部分应该位于页眉 -> 使用\rightmark,重新定义\sectionmark使用\markright并重新定义\subsectionmark不执行任何操作:
\documentclass{article}
\usepackage{blindtext}% only for dummy text
\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\sectionmark}[1]{\markright{#1}}
\renewcommand{\subsectionmark}[1]{}
\fancyhead{}
\fancyhead[C]{\nouppercase{\rightmark}}

\begin{document}
\tableofcontents
\blinddocument
\section{Foo}
\blindtext
\section{Bar}
\blindtext
\end{document}

相关内容