如何处理页眉中显示的很长的章节标题?

如何处理页眉中显示的很长的章节标题?

我遇到的问题是,有时章节或节标题太长,无法放入页眉空间并与其他内容重叠。有没有办法自动用“…”或其他合适的内容替换多余的文本?

这是 MWE

% !Mode:: "TeX:UTF-8"
\documentclass[UTF8, english]{book}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{lipsum}

\usepackage{fancyhdr}


\fancyhf{}
\fancyhead[LE, RO]{\scriptsize \slshape \rightmark} %% Section number and title.
\fancyhead[RE, LO]{\scriptsize \slshape \leftmark} %% Chapter number and title.

\fancyfoot[R]{\scriptsize \thepage} %% Page number.

\begin{document}
\pagestyle{fancy}

\chapter{Asymptotic Behaviour of Supersymmetric Yang Mills Theories in The Two Loop Approximation}

\blindtext

\section{Calculation of $\beta \left( g \right)$}

\lipsum

\end{document}

先感谢您!

答案1

我不知道什么是合适的简短标题,但有些像这样的可以解决问题:

\chapter[Yang Mills Theories]
{Asymptotic Behaviour of Supersymmetric 
Yang Mills Theories in The Two 
Loop Approximation}

所有分段命令(\chapter\section等)都有这个可选参数,用于标题和目录。

编辑:自动截断某些长度的标题对于短标题来说通常不是一个好主意,因为这通常会留下一个毫无意义的字符串。如果章节标题的关键词不是“渐近行为”而是“循环近似”怎么办?如果截断留下一个不完整的单词“超级的渐近行为”怎么办……什么“超级”,也许是超人?你真的想要一个带有截断标题的目录吗?

但是,如果这对你来说不是问题的话,这是一个自动解决方案,使用xtring

姆韦

\documentclass{book}
\usepackage{xstring}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[LE, RO]{\scriptsize \slshape \rightmark}
\fancyhead[RE, LO]{\scriptsize \slshape \leftmark}
\fancyfoot[R]{\scriptsize \thepage}
\def\mychapter#1{\StrLeft{#1}{20}[\Result]\chapter[\Result\ldots]{#1}}
\begin{document}
\pagestyle{fancy}
\mychapter{Asymptotic Behaviour of Supersymmetric Yang Mills 
Theories in The Two Loop Approximation}
\lipsum[2]
\section{Calculation of $\beta \left( g \right)$}
\lipsum[3-12]
\end{document}

答案2

我发现了一个包裹truncate就是这样!下面是方法

% !TEX encoding = UTF-8 Unicode
\documentclass[UTF8, english]{book}
\usepackage{babel}
\usepackage{blindtext}
\usepackage{lipsum}

\usepackage[fit, breakall]{truncate}
\usepackage{fancyhdr}

\fancyhf{}
\fancyhead[LE, RO]{\tiny \truncate{0.47 \textwidth} \leftmark}
\fancyhead[RE, LO]{\tiny \truncate{0.47 \textwidth} \rightmark}

\begin{document}
\pagestyle{fancy}

\chapter{Asymptotic Behaviour of Supersymmetric Yang Mills Theories in The Two Loop Approximation}

\blindtext

\section{Calculation of $\beta \left( g \right)$ and a lot more text over here which to too long to show}

\lipsum
\blindtext

\end{document}

还有两个细节需要注意。

  1. 软件包truncate必须包含选项breakall,允许在任意字符处截断。如果不包含,则截断只会发生在单词末尾或连字符处,这可能会影响标题的定位。
  2. truncate中必须包含选项fit,它可以在自然位置打印输出。

输出如下

截断标题

答案3

如果要为页眉定义一个较短的标题,但保持章节标题和目录中的条目不变,则可以使用包中的\chaptermark\sectionmark等命令fancyhdr

\chapter[Title in TOC]{%
   Title at the beginning of the chapter\chaptermark{Title for header}%
}
\chaptermark{Title for header}

请注意,我们\chaptermark在这里使用了两次。这个尴尬的解决方案在文档中有详细解释fancyhdr,并避免了一些极端情况的问题。

相关内容