带虚线的页眉和页脚

带虚线的页眉和页脚

我们公司对文档进行了新的企业设计,包括带有虚线的页眉和页脚。我实现了所需的布局,但这是一种快速而粗糙的解决方案。这是一个最小的示例:

% !TeX program = lualatex
\documentclass[
a4paper,            % Papierformat
twoside,            % zweiseitiges Dokument
headings=SMALL,     % Größe der Überschriften verkleinern
headings=optiontohead, % ermöglicht Kurzüberschriften
DIV=15,             %
twocolumn=true,     %
headinclude=true,   %
final               % Status des Dokuments (final/draft)
]{scrreprt}

\usepackage[german,ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}% für Luatex benötigt
\usepackage[automark]{scrlayer-scrpage}
\usepackage{blindtext}
\usepackage[nochapter]{vhistory}
\usepackage{calc}
\usepackage{lastpage}

% Definition von Kopf- und Fußzeilen
\clearpairofpagestyles
\renewcommand*{\headfont}{\normalfont\fontsize{9.5pt}{11.4pt}\selectfont}
\ihead[Musterhandbuch der Musterfirma]{Musterhandbuch der Musterfirma}
\chead[\raisebox{-8mm}{\parbox{\textwidth+3pt}{\dotfill}}] 
{\raisebox{-8mm}{\parbox{\textwidth+3pt}{\dotfill}}}
\ohead[Version 2016-\vhCurrentVersion\\vom: \vhCurrentDate]{Version   
2016-\vhCurrentVersion\\vom: \vhCurrentDate}
\ofoot[{Seite \thepage/\pageref{LastPage}}]{Seite \thepage/   
\pageref{LastPage}}
\cfoot[\parbox{13cm}{\dotfill}]{\parbox{13cm}{\dotfill}}
\refoot[\usebox{\Logo}]{\usebox{\Logo}}
\lofoot[\usebox{\Logo}]{\usebox{\Logo}}
\pagestyle{scrheadings}

\newsavebox{\Logo}
\savebox{\Logo}{\rule{1.8cm}{.7cm}}

\begin{document}
\blinddocument
\onecolumn
\cleardoublepage
\markboth{Versionshistorie}{Versionshistorie} 

{\textbf{\large\sffamily Versionshistorie}}
\label{historie}

\begin{versionhistory}
\vhEntry{1.0}{04.03.2016}{XY}{Version 2016 in Kraft gesetzt}
\end{versionhistory}

\end{document}

我的问题是:

  1. 我怎样才能将 \headsepline 改为虚线?我的解决方法有一个缺点,就是我不能使用 \chead 插入文本。

  2. 在页脚中,虚线的长度是固定的。如果我通过选择另一个 DIV 值来更改页面布局,我必须手动调整线的长度。线与徽标的距离和与页码的距离也不相同。如何才能获得一条填充徽标和页码之间距离的虚线?

\headsepline 的示例:

% !TeX program = lualatex
\documentclass[
a4paper,            % Papierformat
twoside,            % zweiseitiges Dokument
headings=SMALL,     % Größe der Überschriften verkleinern
headings=optiontohead, % ermöglicht Kurzüberschriften
DIV=15,             %
twocolumn=true,     %
headinclude=true,   %
final               % Status des Dokuments (final/draft)
]{scrreprt}

\usepackage[german,ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}% für Luatex benötigt
\usepackage[automark, headsepline]{scrlayer-scrpage}
\usepackage{blindtext}
\usepackage[nochapter]{vhistory}
\usepackage{calc}
\usepackage{lastpage}

% Definition von Kopf- und Fußzeilen
\clearpairofpagestyles
\renewcommand*{\headfont}{\normalfont\fontsize{9.5pt}{11.4pt}\selectfont}
\ihead[Musterhandbuch der Musterfirma]{Musterhandbuch der Musterfirma}
%\chead[\raisebox{-8mm}{\parbox{\textwidth+3pt}{\dotfill}}]  
{\raisebox{-8mm}{\parbox{\textwidth+3pt}{\dotfill}}}
\ohead[Version 2016-\vhCurrentVersion\\vom: \vhCurrentDate]{Version  
2016-\vhCurrentVersion\\vom: \vhCurrentDate}
\ofoot[{Seite \thepage/\pageref{LastPage}}]{Seite \thepage/     
\pageref{LastPage}}
\cfoot[\parbox{13cm}{\dotfill}]{\parbox{13cm}{\dotfill}}
\refoot[\usebox{\Logo}]{\usebox{\Logo}}
\lofoot[\usebox{\Logo}]{\usebox{\Logo}}
\pagestyle{scrheadings}

\newsavebox{\Logo}
\savebox{\Logo}{\rule{1.8cm}{.7cm}}

\begin{document}
\blinddocument
\onecolumn
\cleardoublepage
\markboth{Versionshistorie}{Versionshistorie} 

{\textbf{\large\sffamily Versionshistorie}}
\label{historie}

\begin{versionhistory}
\vhEntry{1.0}{04.03.2016}{XY}{Version 2016 in Kraft gesetzt}
\end{versionhistory}

\end{document}

答案1

您可以修改图层scrheadings.head.below.line并使用页面样式或plain.scrheadings.head.below.line在页面上插入虚线。请注意是 的别名。scrheadingsplain.scrheadingsplainplain.scrheadings

对于页脚,我会使用\cofoot\cefoot。此命令的星号版本使用 参数作为页面样式scrheadingsplain.scrheadings

\documentclass[
a4paper,            % Papierformat
twoside,            % zweiseitiges Dokument
headings=small,     % Größe der Überschriften verkleinern
headings=optiontohead, % ermöglicht Kurzüberschriften
DIV=15,             %
twocolumn=true,     %
headinclude=true,   %
final,               % Status des Dokuments (final/draft)
footheight=20pt,
headheight=22.8pt
]{scrreprt}

\usepackage[german,ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}% für Luatex benötigt
\usepackage[automark]{scrlayer-scrpage}
\usepackage{blindtext}
\usepackage[nochapter]{vhistory}
\usepackage{calc}
\usepackage{lastpage}

% Definition von Kopf- und Fußzeilen
\clearpairofpagestyles
\setkomafont{pageheadfoot}{\normalfont\fontsize{9.5pt}{11.4pt}\selectfont}

\ModifyLayer[
  addvoffset=.8pt,
  contents={%
    \normalfont\usekomafont{pageheadfoot}\usekomafont{pagehead}%
    \usekomafont{headsepline}\dotfill
  }
]{scrheadings.head.below.line}
\RedeclareLayer[
  clone=scrheadings.head.below.line
]{plain.scrheadings.head.below.line}

\ihead*{Musterhandbuch der Musterfirma}
\chead[Text auf plain Seiten]{\headmark}
\ohead*{Version 2016-\vhCurrentVersion\\vom: \vhCurrentDate}

\renewcommand*\pagemark{%
  \usekomafont{pageheadfoot}Seite\ \thepage/\pageref{LastPage}%
}

\newsavebox{\Logo}
\savebox{\Logo}{\rule{1.8cm}{.7cm}}

\cofoot*{%
  \raisebox{-.5\height}{\usebox{\Logo}}%
  \qquad\dotfill\qquad%
  \raisebox{\dimexpr-.5\height+.5\depth\relax}{\pagemark}%
}

\cefoot*{%
  \raisebox{\dimexpr-.5\height+.5\depth\relax}{\pagemark}%
  \qquad\dotfill\qquad%
  \raisebox{-.5\height}{\usebox{\Logo}}%
}

\begin{document}
\blinddocument

\onecolumn
\cleardoublepage
\addsec[tocentry={}]{Versionshistorie}
\label{historie}
\begin{versionhistory}
\vhEntry{1.0}{04.03.2016}{XY}{Version 2016 in Kraft gesetzt}
\end{versionhistory}
\end{document}

在此处输入图片描述

SMALL请注意的值headings不存在。您必须使用smallnormalbig。我已放大footheightheadheight以避免出现警告。

答案2

我成功地用这个解决方案解决了第一个问题,但也很脏。

\chead{\parbox[c][16mm]{\textwidth+3pt}{\vspace*{12pt} \ \\ \centering{Text}}\\ {\parbox{\textwidth+3pt}{\dotfill}}
}

硬编码\可防止出现无行到端错误。

相关内容