了解 scrartcl 中的标头

了解 scrartcl 中的标头

我想更好地理解为什么fancyhdr不建议使用scrartcl。到目前为止,我一起使用它们没有遇到任何问题,但输出总是抱怨我不应该使用fancyhdrscrartcl相反,我应该使用scrlayer-scrpage。有人可以解释一下我不应该使用 的原因fancyhdr吗?

\documentclass[a4paper,pagesize ,landscape, fontsize=6pt]{scrartcl}

\usepackage[left=0.75cm,right=0.75cm, top=1cm, bottom=0.75cm]{geometry}
\usepackage{multicol}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{fancyhdr}

%\usepackage{scrlayer-scrpage}

\setlength{\columnsep}{25pt}
\setlength{\columnseprule}{0.4pt}

\pagestyle{fancy}
\fancyhf{}
\rhead{Name}
\chead{Page \thepage}
\lhead{Title description}

\begin{document}

    \begin{multicols*}{3}
        Some entries here 

        \columnbreak

        and some entries there

        \columnbreak

        and the list goes on 
    \end{multicols*}
\end{document}

答案1

您只能使用以下包之一scrlayer-scrpagescrpage2( 的前身scrlayer-scrpage)、fancyhdr、...

建议与 KOMA-Script 类一起使用的包是scrlayer-scrpage因​​为它是 KOMA-Script 包的一部分,并且您可以按照与类相同的方式设置和更改选项,请参阅KOMA-Script 文档。我真的建议使用scrlayer-scrpage

您的标头包含scrlayer-scrpage

\documentclass[
  %a4paper,% default
  %pagesize,% default since version 3.17
  landscape,
  fontsize=6pt,
]{scrartcl}
\usepackage[left=0.75cm,right=0.75cm, top=1cm, bottom=0.75cm]{geometry}
\usepackage{multicol}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{Name}
\chead{\pagemark}
\ihead{Title description}

\renewcommand*\pagemark{{\usekomafont{pagenumber}Page\nobreakspace\thepage}}
\addtokomafont{pageheadfoot}{\upshape}

\setlength{\columnsep}{25pt}
\setlength{\columnseprule}{0.4pt}

\usepackage{blindtext}% dummy text
\begin{document}

\begin{multicols*}{3}
\Blinddocument
\end{multicols*}
\end{document}

fancyhdr如果确实想使用这个包,也可以使用:

\documentclass[
  %a4paper,% default
  %pagesize,% default since version 3.17
  landscape,
  fontsize=6pt
]{scrartcl}
\usepackage[left=0.75cm,right=0.75cm, top=1cm, bottom=0.75cm]{geometry}
\usepackage{multicol}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\usekomafont{pageheadfoot}Name}
\fancyhead[C]{\usekomafont{pageheadfoot}\pagemark}
\fancyhead[L]{\usekomafont{pageheadfoot}Title description}

\renewcommand*\pagemark{{\usekomafont{pagenumber}Page\nobreakspace\thepage}}
\addtokomafont{pageheadfoot}{\upshape}

\setlength{\columnsep}{25pt}
\setlength{\columnseprule}{0.4pt}

\usepackage{blindtext}
\begin{document}

\begin{multicols*}{3}
\Blinddocument
\end{multicols*}
\end{document}

fancyhdr请注意,少数与页眉和页脚有关的选项将不起作用。例如 KOMA 选项footsepline

所以如果你真的想使用fancyhdr而且有仅有的fancyhdr不建议与 KOMA-Script 类一起使用的警告,您可以忽略它。


但不要忽略有关旧字体命令的任何额外警告,例如\rm\sl请注意,fancyhdr在其默认的页眉和页脚定义中使用此命令。

当前预发行的下一个 KOMA-Script 版本3.20) KOMA 脚本没有定义这个旧命令。所以

\documentclass{scrartcl}[2015/11/06]
\usepackage{fancyhdr}
\pagestyle{fancy}
\begin{document}
Text
\end{document}

\fancyhf{}会导致错误。如果您使用并定义自己的页眉和页脚(使用\fancyhead\fancyfoot不使用旧字体命令)或使用兼容性选项,则可以避免错误。

相关内容