调整 koma 中的主规则

调整 koma 中的主规则

我正在尝试创建一个标题规则,该标题规则从页面右侧的页尾开始,直到页面左侧的文本开头。

我面临两个问题,

  1. headrule贯穿整个页面(正如我所设置的,headwidth=paper页码框位于页面末尾。我希望它只到文本的开头。(请参阅所附的屏幕截图)。我尝试使用\KOMAoptions{headsepline=1pt:\linewidth}选项,但从页面的左侧开始,在接触页码框之前结束。使用pagewidth会使 headrule 贯穿整个页面。我如何从中减去 marginpar 并使其从文本开始。 在此处输入图片描述
  2. 我使用彩色框来显示页码,页眉和页码框之间有一点间隙。如何消除这个间隙? headwidth=paper有助于将此框推到页面末尾。

平均能量损失

\documentclass{scrreport}
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

\usepackage{lipsum}


\usepackage[headwidth=paper]{scrlayer-scrpage}

\usepackage{tcolorbox}




 \KOMAoptions{headsepline=1pt:\pagewidth}




\addtokomafont{pagenumber}{\color{white}}
\clearpairofpagestyles
\ohead[\pagemark]{\leftmark\quad\pagemark}

\renewcommand*\pagemark{%
 \colorbox{black}{%
 \makebox[\dimexpr2cm-2\fboxsep\relax][l]{%
  \usekomafont{pagenumber}{\thepage}%
}}}



\begin{document}


\chapter{Introduction}

\section{First things first}

\lipsum[1]
\section{Second things second}

\lipsum

\end{document}

答案1

这里您的示例无法使用 pdfLaTeX 进行编译。但是,如果我正确理解了您想要什么,您想要的东西clines,headsepline=1pt:text可能还有plainheadsepline

\documentclass{scrreport}
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

\usepackage{lipsum}


\usepackage[headwidth=paper,clines,headsepline=1pt:text,plainheadsepline]{scrlayer-scrpage}

\usepackage{tcolorbox}

\addtokomafont{pagenumber}{\color{white}}
\clearpairofpagestyles
\ohead[\pagemark]{\leftmark\quad\pagemark}% Not sure, that this is really, what you want.
\renewcommand*\pagemark{%
 \colorbox{black}{%
 \makebox[\dimexpr2cm-2\fboxsep\relax][l]{%
  \usekomafont{pagenumber}{\thepage}%
}}}



\begin{document}


\chapter{Introduction}

\section{First things first}

\lipsum[1]
\section{Second things second}

\lipsum

\end{document}

带有原始 \ohead

但也许你想要这个:

\documentclass{scrreprt}% Note: scrreport is only a wrapper to scrreprt.
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

\usepackage{lipsum}


\usepackage[automark,headwidth=paper,clines,headsepline=1pt:text,plainheadsepline]{scrlayer-scrpage}

\usepackage{tcolorbox}

\addtokomafont{pagenumber}{\color{white}}
\clearpairofpagestyles
\ohead[\pagemark]{\headmark\hskip\marginparsep\pagemark}
\renewcommand*\pagemark{%
 \colorbox{black}{%
 \makebox[\dimexpr(\paperwidth-\textwidth)/2-\marginparsep-2\fboxsep\relax][l]{%
  \usekomafont{pagenumber}{\thepage}%
}}}

\begin{document}

\chapter{Introduction}

\section{First things first}

\lipsum[1]
\section{Second things second}

\lipsum

\end{document}

修正元素宽度和自动标记

使用以下方法可以达到相同的效果:

\documentclass{scrreprt}% Note: scrreport is only a wrapper to scrreprt.
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

\usepackage{lipsum}


\usepackage[automark,headsepline=1pt,plainheadsepline]{scrlayer-scrpage}

\usepackage{tcolorbox}

\addtokomafont{pagenumber}{\color{white}}
\clearpairofpagestyles
\ohead[\pagemark]{\headmark\pagemark}
\renewcommand*\pagemark{%
  \makebox[0pt][l]{\hskip\marginparsep
    \colorbox{black}{%
      \makebox[\dimeval{(\paperwidth-\textwidth)/2-\marginparsep}][l]{%
        \usekomafont{pagenumber}{\thepage}
      }}}}

\begin{document}

\chapter{Introduction}

\section{First things first}

\lipsum[1]
\section{Second things second}

\lipsum

\end{document}

在我看来这在某种程度上更容易。

要增加黑框的高度或深度,只需增加内容的高度或深度\colorbox,例如:

\documentclass{scrreprt}% Note: scrreport is only a wrapper to scrreprt.
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}

\usepackage{lipsum}


\usepackage[automark,ilines,headsepline=1pt:\paperwidth-2.5cm,plainheadsepline]{scrlayer-scrpage}

\usepackage{tcolorbox}

\addtokomafont{pagenumber}{\color{white}}
\clearpairofpagestyles
\ohead[\pagemark]{\headmark\pagemark}
\renewcommand*\pagemark{%
  \makebox[0pt][l]{\hskip\marginparsep
    \colorbox{black}{%
      \makebox[\dimeval{(\paperwidth-\textwidth)/2-\marginparsep}][l]{%
        \usekomafont{pagenumber}{\thepage}\rule[-1pt]{0pt}{2pt}%
      }}}}

\begin{document}

\chapter{Introduction}

\section{First things first}

\lipsum[1]
\section{Second things second}

\lipsum

\end{document}

在此处输入图片描述

我认为,有了上述三种替代方案,您现在就掌握了获得想要的结果的所有信息,即使您需要进行更多修改。

\makebox[0pt][l]{…}注意:使用将数字移至边距的想法来自“如何用竖线分隔页眉中的页码”(还提供德语版本)。

相关内容