防止标题在页眉中重叠(花哨)

防止标题在页眉中重叠(花哨)

我想避免出现标题与报告页眉重叠的问题。

我正在使用以下代码:

  \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 命令的注释,因为我因此收到了一条错误消息,但我不知道如何解决这个问题。

相关内容