![关于 scrlayer-scrpage 的编译错误](https://linux22.com/image/353913/%E5%85%B3%E4%BA%8E%20scrlayer-scrpage%20%E7%9A%84%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF.png)
针对我的问题之一的解决方案对于提供解决方案的人来说效果很好,但在编译过程中导致错误“缺少 \begin{document}。\ofoot*{\pagemark”。这可能是我的安装、软件包或操作系统的问题吗?在此在线 Latex 编译器同样的错误阻止他产生输出,所以我可能没有问题,但是代码需要更改?
\documentclass[12pt,a4paper,listof=flat,oneside]{scrartcl}
\KOMAoptions{captions=tableheading}
\usepackage{nicefrac}
\usepackage{scrlayer-scrpage}
\ihead{\headmark}
\chead*{}
\ofoot*{\pagemark}
\cfoot*{}
\pagestyle{scrheadings}
\automark[section]{section}
\setkomafont{pagehead}{\normalfont}
\KOMAoptions{
captions=tableheading,
headsepline=true,
markcase=upper}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{xfrac}
\usepackage{xspace}
\newcommand{\eg}{\mbox{e.\,g.}\xspace}
\newcommand{\Eg}{\mbox{E.\,g.}\xspace}
\usepackage[english]{babel}
\usepackage[left=3.00cm, right=3.00cm, top=2.00cm, bottom=2.5cm, includeheadfoot]{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage{lmodern}
%\usepackage{helvet}
%\renewcommand{\familydefault}{\sfdefault}
%\fontfamily{phv}\selectfont
\usepackage{color}
\usepackage[
pdftoolbar = false,
pdfmenubar = false,
pdftitle = mwe,
pdfauthor = {author},
colorlinks,
allcolors = {blue},
bookmarks = true,
bookmarksopen = true,
bookmarksnumbered = true
]{hyperref}
\usepackage{subcaption}
\begin{document}
\thispagestyle{plain.scrheadings}
\section{Chapter one} \label{sec:ChapterOne}
This text shows the current options that I have used for the printed version of my document. What and why would you change something?
\begin{itemize}
\item Referencing in blue. \Eg: Chapter one on page \ref{sec:ChapterOne}
\item In-text math mode I use tfrac or nicefrac like this $\tfrac{1}{2}$ or this $\nicefrac{1}{2}$ and dfrac in the stand-alone equations. Or is sfrac of the xfrac package the way to go? $\sfrac{1}{2}$. What is the difference?
\item Different fonts for print-out and digital copy? \Eg helvet for pdf for no serifs?
\end{itemize}
\newpage
Thats what the pagestyle I have choosed looks like, but there is a warning about fancyhdr, how to produce the same output with KOMA?
\begin{figure}[!htbp]
\null\hfill
\begin{minipage}[b]{0.4\linewidth}
\centering \includegraphics[width=\textwidth]{example-image-a}
\subcaption{Example A}\label{fig:a}
\end{minipage}
\hfill
\begin{minipage}[b]{0.4\linewidth}
\centering \includegraphics[width=\textwidth]{example-image-b}
\subcaption{Example B}\label{fig:b}
\end{minipage}
\hfill\null
\caption{Two figures with subcaption and minipage}
\end{figure}
\end{document}
答案1
提到的在线编译器使用了非常古老的 KOMA-Script 版本:
文档类别:scrartcl 2013/12/19 v3.12 KOMA-Script 文档类别(文章)
当前版本为 3.22,3.23 版本即将在 CTAN 上发布。带星号的版本\ihead
等是在 3.14 版本中引入的。
如果无法更新,则使用:
\usepackage[automark,markcase=upper,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\headmark}
\ofoot[\pagemark]{\pagemark}
完整示例:
\documentclass{scrartcl}
\usepackage[automark,headsepline,markcase=upper]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\headmark}
\ofoot[\pagemark]{\pagemark}
\usepackage{blindtext}
\begin{document}
\thispagestyle{plain}
{\huge\KOMAScriptVersion\par}
\blinddocument
\end{document}
问题中提到的在线编译器的输出:
答案2
发布的代码给出了
! Paragraph ended before \@fileswith@ptions was complete.
因为 hyperref 选项中有空行。
如果你删除它
\usepackage[
pdftoolbar = false,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<<<<<<<<<<,
pdfmenubar = false,
pdftitle = mwe,
pdfauthor = {author},
colorlinks,
allcolors = {blue},
bookmarks = true,
bookmarksopen = true,
bookmarksnumbered = true
]{hyperref}
然后它给出了错误
! Undefined control sequence.
<argument> \undefinedpagestyle
l.48 \thispagestyle{leer}
我猜想这是否是定义的页面样式的拼写错误,或者是否缺少该页面样式的定义。但是,如果您删除它,那么:
%\thispagestyle{leer}
那么文档运行时就不会出现错误。