我正在尝试创建一个标题规则,该标题规则从页面右侧的页尾开始,直到页面左侧的文本开头。
我面临两个问题,
- 它
headrule
贯穿整个页面(正如我所设置的,headwidth=paper
页码框位于页面末尾。我希望它只到文本的开头。(请参阅所附的屏幕截图)。我尝试使用\KOMAoptions{headsepline=1pt:\linewidth}
选项,但从页面的左侧开始,在接触页码框之前结束。使用pagewidth
会使 headrule 贯穿整个页面。我如何从中减去 marginpar 并使其从文本开始。 - 我使用彩色框来显示页码,页眉和页码框之间有一点间隙。如何消除这个间隙?
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}
但也许你想要这个:
\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]{…}
注意:使用将数字移至边距的想法来自“如何用竖线分隔页眉中的页码”(还提供德语版本)。