我正在用文档类制作一个文档scrreprt
,并使用它来获取页面顶部的页码和页面顶部的一行
\documentclass[11pt, twoside=semi, titlepage]{scrreprt}
\usepackage[top=2.5cm, bottom=2.5cm, left=6cm, right=2cm, heightrounded,
marginparwidth=3.5cm, marginparsep=0.5cm]{geometry}
%% To make the marginnotes appear on the left side on all the pages
\usepackage[strict]{changepage}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@addmarginpar}{\ifodd\c@page}{\ifodd\c@page\@tempcnta\m@ne}{}{}
\makeatother
\reversemarginpar
\usepackage[automark, headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\lehead[\pagemark]{\pagemark}
\rohead[\pagemark]{\pagemark}
\chead{\headmark}
\chead{\headmark}
\usepackage{blindtext}
\begin{document}
\blinddocument
\end{document}
是否可以将这条线弄得更长,以便它能够同时覆盖正文和边注?
答案1
设置headwidth
为textwithmarginpar
,然后对偶数页和奇数页的页眉使用不同的偏移量(使用 KOMA-Script 版本 3.14 或更新版本即可)。
headwidth=textwithmarginpar:-\the\marginparwidth-\the\marginparsep:marginpar
代码:
\documentclass[twoside=semi, titlepage]{scrreprt}
\usepackage[
vmargin=2.5cm, heightrounded,
left=6cm, right=2cm,
marginparwidth=3.5cm, marginparsep=0.5cm
]{geometry}
\reversemarginpar
\usepackage[
automark,
headsepline,
headwidth=textwithmarginpar:-\the\marginparwidth-\the\marginparsep:marginpar
]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead*{\pagemark}
\chead{\headmark}
\usepackage{blindtext}
\begin{document}
\chapter{Chapter}
\section{Section}
\Blindtext\marginpar{Margin text}
\Blindtext\marginpar{Margin text}
\Blindtext[1]
\blinddocument
\end{document}
答案2
设置标题的宽度以包含边距。
\documentclass[11pt, twoside=semi, titlepage]{scrreprt}
\usepackage[automark, headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\setheadwidth{textwithmarginpar}
\ohead[\pagemark]{\pagemark}
\chead{\headmark}
\usepackage{blindtext}
\begin{document}
\blinddocument
\end{document}
现在,为什么它无法加载geometry
?
\usepackage[top=2.5cm, bottom=2.5cm, left=6cm, right=2cm, heightrounded,
marginparwidth=3.5cm, marginparsep=0.5cm]{geometry}
添加选项showframe
向我们展示了一件简单的事情。页眉和页脚被视为左手边页和右手边页。但全局选项twoside=semi
使所有页面的边距为奇数(右手边页)。告诉几何使用 2cm 的右边距意味着,文本区域距离页面边界 2 厘米,但您请求的边距宽度为 3.5 厘米,另外还有半厘米的间隔。这意味着头部的宽度在物理纸张(或 pdf)之外延伸约 2 厘米。您可以轻松测试这一点:
\documentclass[11pt, twoside=semi, titlepage]{scrreprt}
\usepackage[top=2.5cm, bottom=2.5cm, left=6cm, right=2cm,heightrounded,
marginparwidth=3.5cm, marginparsep=0.5cm,showframe]{geometry}
\usepackage[automark, headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\setheadwidth{textwithmarginpar}
\ohead[\pagemark]{\pagemark}
\chead{\headmark}
\usepackage{blindtext}
\begin{document}
\marginpar{Where the duck is the rest of this text?}
\blindtext
\end{document}
当然,您可以把 marginpar 调小一点,但我认为您不应该再使用它们了。