使用 scrlayer-scrpage 的“草稿”类/包选项

使用 scrlayer-scrpage 的“草稿”类/包选项

根据 KOMA-Script 文档,设置该draft选项具有以下效果scrlayer

该命令\layercontentsmeasure在每个图层边缘打印一个标尺,其中顶部和左侧标尺以厘米为单位,右侧和底部标尺以英寸为单位。如果 draft启用选项,此命令将在内部使用。标尺将绘制在每个图层的内容后面。它也可以用作图层的独有内容。

听起来不错,但尝试一个简单的示例文档:

\documentclass[draft]{scrartcl}
\usepackage{scrlayer-scrpage}
\begin{document}
test
\end{document}

给了我这个:

使用 <code>draft</code> 和 <code>scrlayer-scrpage</code> 的最小示例的输出

这可不行,它们全都混在一起了,我分不清标尺!有没有办法让它变得可读(例如减小标记和字体大小)并真正发挥作用?

答案1

定义的任何页面样式均由scrlayer-scrpage10 个层组成。您可以使用\ForEachLayerOfPageStyle{scrheadings}{#1\newline}获取文档中这些层的列表。

在每个具有scrlayer-scrpage页面样式的页面上,都会使用 6 个这样的层:一个用于页眉上方的行,一个(取决于单面或双面文档和偶数页或奇数页)用于页眉,一个用于页眉下方的行,还有一个用于页脚。

如果您使用标尺选项,draftscrlayer-scrpage页面上的所有图层都会同时显示。因此,标题栏中会出现三条相互重叠的标尺,您无法阅读任何内容。

因此,我会手动克隆图层,并将克隆图层添加到页面样式中。现在我可以给标尺上色,并决定要查看哪一个。

    \documentclass{scrartcl}
    \usepackage{scrlayer-scrpage}

    \usepackage{xcolor}
    \newcommand*\showlayer[2][black]{%
        \IfLayerAtPageStyle{scrheadings}{#2}{%
            \DeclareNewLayer[clone=#2,contents=\textcolor{#1}{\layercontentsmeasure}]{#2.size}%
            \AddLayersToPageStyleAfterLayer{scrheadings}{#2.size}{#2}%
        }{}%
    }
    \showlayer[lightgray]{scrheadings.head.oneside}
    \showlayer[red!30]{scrheadings.head.below.line}
    %\showlayer[green!30]{scrheadings.head.above.line}
    \showlayer[lightgray]{scrheadings.foot.oneside}
    %\showlayer[red!30]{scrheadings.foot.above.line}
    %\showlayer[green!30]{scrheadings.foot.below line}

    \chead{Test header}
    \cfoot{Test footer}

    \begin{document}

    \minisec{List the layers for pagestyle scrheadings}

    \begin{flushleft}
    \ForEachLayerOfPageStyle{scrheadings}{#1\newline}
    \end{flushleft}
    \end{document}

结果:

在此处输入图片描述

注意图层的位置scrheadings.head.below.line:这是图层的位置!的定义contents不限于此区域。使用选项headsepline和仅显示图层scrheadings.head.below.line\showlayer[red]{scrheadings.head.below.line}我得到

在此处输入图片描述

相关内容