KOMA-Script 标题:单面打印的下划线和页面样式存在问题

KOMA-Script 标题:单面打印的下划线和页面样式存在问题

我得到了 Markus Kohm(KOMA-Script 作者)在“Die TeXnische Komödie”(德国 TeX 用户组成员期刊)第 3/2012 卷中提供的一些代码。他展示了如何使用 KOMA-Script 轻松修改标题。我现在有以下代码,基本上是从期刊中复制而来(所以这是 Markus 的,不是我的)

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\setheadsepline{0.5pt}
\lehead[\pagemark]{\makebox[\marginparwidth][l]{\pagemark}\hspace{\marginparsep}\headmark}
\rohead[\pagemark]{\headmark\hspace{\marginparsep}\makebox[\marginparwidth][r]{\pagemark}}
\renewcommand*{\pagemark}{%
  \usekomafont{pagenumber}%
  \ifodd\value{page}\makebox[\marginparwidth][l]{\pnumbar\enskip\thepage}%
  \else\makebox[\marginparwidth][r]{\thepage\enskip\pnumbar}%
  \fi
}%
\newcommand*{\pnumbar}{%
  \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{%
    \rule[-\dp\strutbox]{1.5pt}{1.1\baselineskip}%
  }%
}
\AfterCalculatingTypearea{%
  \setheadwidth[0pt]{%
    \dimexpr\textwidth+\marginparsep+\marginparwidth\relax
  }%
}%
\recalctypearea
\begin{document}
\Blindtext
\end{document}

当添加twoside-option时,\documentclass我得到的页码位置符合预期(屏幕截图剪切在一起): 双面打印结果

oneside在偶数页上页码的定位是错误的: 单面打印结果

我可以想象问题是由于\ifodd检查而发生的。是否有可能对是否设置选项做出反应twosideoneside修复此问题并使所有页面都oneside相同?

正如您所见,标题和正文之间的分隔线太长了。这是我添加的,但我不知道如何缩短它,所以它只有文本宽度的长度(可能停在页码旁边的垂直标记处)。我该怎么做?

答案1

该模板似乎不适合oneside,但可以修改为。

编辑:我想我已经解决了你的头部分离线长度的问题。

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\setheadsepline{0.5pt}
\lehead[\pagemark]{\makebox[\marginparwidth][l]{\pagemark}\hspace{\marginparsep}\headmark}
\rohead[\pagemark]{\headmark\hspace{\marginparsep}\makebox[\marginparwidth][r]{\pagemark}}

\makeatletter
\if@twoside%
    \renewcommand*{\pagemark}{%
    \usekomafont{pagenumber}%
    \ifodd\value{page}\makebox[0pt][l]{\pnumbar\enskip\thepage}%
    \else\makebox[0pt][r]{\thepage\enskip\pnumbar}%
    \fi%
}%
\else%
\renewcommand*{\pagemark}{%
    \usekomafont{pagenumber}%
    \makebox[0pt][l]{\pnumbar\enskip\thepage}%
}%
\fi%
\makeatother


\newcommand*{\pnumbar}{%
  \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{%
    \rule[-\dp\strutbox]{1.5pt}{1.1\baselineskip}%
  }%
}
\AfterCalculatingTypearea{%
  \setheadwidth[0pt]{%
    \dimexpr\textwidth+\marginparsep\relax%+\marginparwidth\relax
  }%
}%
\recalctypearea
\begin{document}
\Blindtext \Blindtext
\end{document}

如果twoside加载了该选项:

在此处输入图片描述 在此处输入图片描述

如果twoside选项是不是已加载:

在此处输入图片描述 在此处输入图片描述

相关内容