我想避免出现标题与报告页眉重叠的问题。
我正在使用以下代码:
\usepackage{fancyhdr}
\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
实际上,当当前小节太长且节太长时,两个标题都会重叠在页眉中间。有没有什么办法可以防止这种情况发生?提前谢谢!
编辑
典型例子:
\section{This is a supercalifragilisticexpialidocious title for a section}
\newpage
\subsection{I am also a supercalifragilisticexpialidocious subtitle}
当您查看第二页的页眉时,显示的节和子节是重叠的。我希望至少可以显示该节的整个文本,并在左侧显示子节的开头,然后显示“...”,然后才重叠。
即我希望我能有这种类型的标题:
1.1 I am also a ... 1 THIS IS A SUPERCALIFRAGILISTICEXPIDALIDOCIOUS TITLE FOR A SECTION
编辑2
根据要求,提供一个最小工作示例。它涉及第二页的页眉。
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{fancyhdr}
\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
\begin{document}
\section{This is a supercalifragilisticexpialidocious title for a section}
\newpage
\subsection{I am also a supercalifragilisticexpialidocious subtitle}
\end{document}
答案1
我建议你使用这个答案并手动逐个决定在标题上显示什么。我认为自动完成这项工作几乎是不可能的。例如:
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}%any chances to remove this?
\usepackage{lipsum}
\usepackage{fancyhdr}
\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
\newcommand{\markedsection}[2]{
\section[#2]{#2%
\sectionmark{#1}}\sectionmark{#1}}
\newcommand{\markedsubsection}[2]{
\subsection[#2]{#2%
\subsectionmark{#1}} \subsectionmark{#1}}
\begin{document}
\tableofcontents
\newpage
% \markedsection{HEADER}{PAGE AND TOC}
\markedsection{This is a supercalifragilisticexpialidocious title\dots}{This is a supercalifragilisticexpialidocious title for a section}
\lipsum
\markedsubsection{I am also a super\dots}{I am also a supercalifragilisticexpialidocious subtitle}
\lipsum[3]
\markedsubsection{Another veeery\dots}{Another very very very very very very long title}
\lipsum
\end{document}
答案2
这是一个 MWE:
\documentclass{scrartcl}
\usepackage{fancyhdr}
\pagestyle{fancy}
\begin{document}
\tableofcontents
\newpage
\section[section toc]{section normal text}
\sectionmark{section header}
\subsection[subsec toc]{subsec normal text}
\subsectionmark{subsection header}
lorem ipsum
\newpage
lorem ipsum
\end{document}
它可能不像我想象的那么简单。显然你的 \usepackage[francais]{babel} 出了点问题。我在这里扩展了你的代码:
\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
%\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{fancyhdr}
\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
\begin{document}
\section{This is a supercalifragilisticexpialidocious title for a section}
\newpage
\subsection{I am also a supercalifragilisticexpialidocious subtitle%
%\subsectionmark{code1}%
}
\subsectionmark{code}
\newpage
lorem ipsum
\end{document}
你可以看到,问题在于,在子部分的第一页,仍然有子部分的长标题。如果你知道,取消注释该行,code1
所有内容看起来都像你想要的那样。但是,我也取消了 babel 命令的注释,因为我因此收到了一条错误消息,但我不知道如何解决这个问题。