В моем коде LaTeX я использую актуальную версию пакета KOMA-script и его documentclass scrbook. В связи с этим мне интересно, как преобразовать код, который использует пакет titlesec, в код, который должен использовать более совместимый с KOMA-script пакет scrlayer-scrpage. Пожалуйста, найдите соответствующий код ниже. Я был бы очень признателен, если бы кто-нибудь мог мне помочь!
\usepackage{titlesec}
%modify part-page-style
\titleformat{\part}[display]
{\huge\filcenter\bfseries}
{\Huge{\MakeUppercase{\partname} \thepart}}
{5pt}
{\titlerule[3pt] \vspace{10pt}}
[]
%modify chapter-page-style
\titleformat{\chapter}[display]
{\LARGE\filcenter\bfseries}
{\titlerule[3pt] \vspace{3pt} \titlerule[1pt] \vspace{5pt} \huge{\MakeUppercase{\chaptertitlename} \thechapter}}
{0pt}
{\titlerule[1pt] \vspace{10pt}}
[]
\titlespacing*{\chapter}{0pt}{0pt}{40pt}
решение1
Вот предложение, которое нужноКОМА-Скрипт версия 3.17(текущая версия на CTAN) или новее:
\documentclass{scrbook}[2015/04/23]
\usepackage{microtype}
% modify part
\setkomafont{part}{\normalfont\bfseries\huge}
\setkomafont{partnumber}{\normalfont\bfseries\Huge}
\RedeclareSectionCommand[innerskip=10pt]{part}
\renewcommand\partformat{%
\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\partname~\thepart}%
\vspace{5pt}\hrule height 3pt%
}
% modify chapter
\KOMAoptions{chapterprefix}
\renewcommand\raggedchapter{\centering}
\setkomafont{chapter}{\normalfont\bfseries\LARGE}
\setkomafont{chapterprefix}{\huge}
\RedeclareSectionCommand[beforeskip=0pt,afterskip=40pt,innerskip=12pt]{chapter}
\renewcommand\chapterformat{%
\hrule height 3pt\vspace{3pt}\hrule height 1pt\vspace{5pt}%
\mbox{\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\chapapp\nobreakspace\thechapter}}%
\hrule height 1pt%
}
\usepackage{blindtext}% dummy text
\begin{document}
\tableofcontents
\part{Part title}
\blinddocument
\end{document}
Обратите внимание, что эта inner skip
опция была введена в KOMA-Script версии 3.17. Так что сверсия 3.15 или 3.16(текущая версия в MiKTeX и TeX Live 2014) вам необходимо использовать
\renewcommand\partheadmidvskip{\vspace{10pt}}
и
\renewcommand\chapterheadmidvskip{\vspace{12pt}}
Вместо этого. Это также работает с версией 3.17 или более новой.
Код:
\documentclass{scrbook}[2015/01/01]
\usepackage{microtype}
% modify part
\setkomafont{part}{\normalfont\bfseries\huge}
\setkomafont{partnumber}{\normalfont\bfseries\Huge}
\renewcommand\partheadmidvskip{\vspace{10pt}}
\renewcommand\partformat{%
\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\partname~\thepart}%
\vspace{5pt}\hrule height 3pt%
}
% modify chapter
\KOMAoptions{chapterprefix}
\renewcommand\raggedchapter{\centering}
\setkomafont{chapter}{\normalfont\bfseries\LARGE}
\setkomafont{chapterprefix}{\huge}
\RedeclareSectionCommand[beforeskip=0pt,afterskip=40pt]{chapter}
\renewcommand\chapterheadmidvskip{\vspace{12pt}}
\renewcommand\chapterformat{%
\hrule height 3pt\vspace{3pt}\hrule height 1pt\vspace{5pt}%
\mbox{\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\chapapp\nobreakspace\thechapter}}%
\hrule height 1pt%
}
\usepackage{blindtext}% dummy text
\begin{document}
\tableofcontents
\part{Part title}
\blinddocument
\end{document}
\documentclass{scrbook}
\usepackage{microtype}
% modify part
\setkomafont{part}{\normalfont\bfseries\huge}
\setkomafont{partnumber}{\normalfont\bfseries\Huge}
\renewcommand\partheadmidvskip{\vspace{10pt}}
\renewcommand\partformat{%
\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\partname~\thepart}%
\vspace{5pt}\hrule height 3pt%
}
% modify chapter
\KOMAoptions{chapterprefix}
\renewcommand\raggedchapter{\centering}
\setkomafont{chapter}{\normalfont\bfseries\LARGE}
\setkomafont{chapterprefix}{\huge}
\RedeclareSectionCommand[beforeskip=0pt,afterskip=40pt]{chapter}
\renewcommand\chapterheadmidvskip{\vspace{12pt}}
\renewcommand\chapterformat{%
\hrule height 3pt\vspace{3pt}\hrule height 1pt\vspace{5pt}%
\mbox{\strut\MakeUppercase{\lsstyle% Upper case sequences should be spaced
\chapapp\nobreakspace\thechapter}}%
\hrule height 1pt%
}
\usepackage{blindtext}% dummy text
\begin{document}
\tableofcontents
\part{Part title}
\blinddocument
\end{document}
решение2
AFAIK, KOMA-script имеет , \RedeclareSectionCommand
который обеспечивает аналогичный интерфейс titlesec
. Обратитесь к руководству, глава 21.