classicthesis 问题(标题太长)

classicthesis 问题(标题太长)

很抱歉我不得不再次在新帖子中提问,但我的声誉不够高,无法发表评论。

我对 classicthesis 样式有疑问。一个部分的名称对于一行来说太长,这会导致页眉出现问题。我尝试使用 \sectionmark 创建一个新页眉来修复此问题,但这仅适用于后续页面,而不适用于该部分首次出现的页面。目录中应该显示该部分的正常长版本。

我得到的提示是 classicthesis 破坏了更改标题的可能性: https://tex.stackexchange.com/questions/295176/classicthesis-header-too-long

有人有办法解决这个问题吗?

\documentclass[headinclude,footinclude=true,cleardoublepage=empty,ngerman,american]{scrreprt}

\input{classicthesis-config}
\begin{document}
\pagestyle{scrheadings}
\chapter{Nice chapter}
\newpage
\section[short and nice]{overlong title} \sectionmark{short and nice}

\newpage
Useless text
\end{document}

答案1

因为classicthesis使用包,titlesec正常的 KOMA-Script 解决方案(使用选项headings=headings=optiontoheadandtoc)不起作用。

如果你使用

\section{overlong title}\sectionmark{short}

首先,该\section命令设置一个右标记,然后\sectionmark设置一个新的右标记。但通常页面上的第一个右标记会转到页眉。因此,\sectionmark仅在后续页面上更改页眉条目。

\let\rightmark\rightbotmark

在您的序言中,每一页都会使用最后一个右标记,而不是第一个右标记。

\documentclass[headinclude,footinclude=true,cleardoublepage=empty,ngerman,american]{scrreprt}
\usepackage{blindtext}% dummy text
\input{classicthesis-config}
\let\rightmark\rightbotmark
\begin{document}
\pagestyle{scrheadings}
\chapter{Nice chapter}
\Blindtext
\section{overlong title}\sectionmark{short}
\Blindtext[10]
\section{Test 1}
\section{Test 2}
\end{document}

但请注意,在包含两个或更多新部分的页面上,最后一个部分将位于页眉中,请参见上面示例的第 5 页。

据我所知,classicthesis加载包scrlayer-scrheadings。如果您只想用于\rightbotmark某些部分标题,您可以定义新的页面样式:

\newpairofpagestyles[scrheadings]{userightbotmark}{\let\rightmark\rightbotmark}

并使用它

\section{overlong title}\sectionmark{short}\thispagestyle{userightbotmark}

在此处输入图片描述

代码:

\documentclass[headinclude,footinclude=true,cleardoublepage=empty,ngerman,american]{scrreprt}
\usepackage{blindtext}
\input{classicthesis-config}
\newpairofpagestyles[scrheadings]{userightbotmark}{\let\rightmark\rightbotmark}
\begin{document}
\pagestyle{scrheadings}
\chapter{Nice chapter}
\Blindtext
\section{overlong title}\sectionmark{short}\thispagestyle{userightbotmark}
\Blindtext[10]
\section{Test 1}
\section{Test 2}
\end{document}

相关内容