使用 scrlayer-scrpage 在标题栏中添加章节标题

使用 scrlayer-scrpage 在标题栏中添加章节标题

我尝试了很多,但找不到解决方案:

我使用 scrlayer-scrpage 包和文章类

\clearscrheadfoot
\lehead*{\textcolor{white}{\headmark}}
\lohead*{\textcolor{white}{\headmark}}
\chead*{\begin{tcolorbox}[enhanced,
            width=\textwidth,
            height=1.5cm,
            arc=0mm,
            boxrule=0mm,
            /tcb/size=minimal,
            watermark graphics=graphics/comein_header, watermark stretch=1,]
        \end{tcolorbox}
        \vspace{0.3cm}
}

我需要做哪些更改,在左上角显示章节标题?

答案1

不幸的是,问题中没有 MWE。

使用scrheadings由 3 个元素组成的标题:左对齐、居中和右对齐。居中的元素覆盖左侧元素,右侧元素覆盖居中的元素。因此,居中元素中的文本(或标题)宽度图片覆盖左对齐\headmark

作为一种解决方法,您可以使用右对齐元素:

例子:

\documentclass{article}
\usepackage{blindtext}% only for dummy text
\usepackage{xcolor}
\usepackage[automark]{scrlayer-scrpage}
\setlength{\headheight}{50pt}
\clearpairofpagestyles
\ohead*{\headmark\hfill}
\chead*{\textcolor{black}{\rule{\textwidth}{1.5cm}}}
\addtokomafont{pagehead}{\bfseries\color{white}}
\begin{document}
\blinddocument
\end{document}

注意,在单面打印中,只有右侧页面存在,而 LATEX 会将这些页面指定为奇数页,无论其页码是多少。因此\rohead(奇数页右侧) 或\ohead(所有页面外侧) 就足够了。

您还可以为背景图片定义一个新图层,并将该新图层添加到其他图层之前。

例子:

\documentclass{article}
\usepackage{blindtext}% only for dummy text
\usepackage{xcolor}
\usepackage[automark]{scrlayer-scrpage}
\setlength{\headheight}{50pt}
\DeclareNewLayer[
  head,
  background,
  contents={\rule{\textwidth}{1.5cm}}
]{headerbackground}
\AddLayersAtBeginOfPageStyle{scrheadings}{headerbackground}
\AddLayersAtBeginOfPageStyle{plain.scrheadings}{headerbackground}
\clearpairofpagestyles
\ihead*{\headmark}
\chead*{\rule{0pt}{1.5cm}}
\addtokomafont{pagehead}{\bfseries\color{white}}
\begin{document}
\blinddocument
\end{document}

在此处输入图片描述

相关内容