
Я использую scrartcl
класс документа в LaTeX (и мне нужно это использовать по нескольким причинам). Теперь я хочу получить что-то вроде этого для каждого раздела:
В настоящее время я делаю следующее:
\usepackage[usenames,dvipsnames]{xcolor}
\colorlet{titlerulecolor}{orange}
\usepackage{titlesec}
\titleformat{\section}{\Huge\scshape\raggedleft}{}{0em}
{ }[{\color{titlerulecolor}\titlerule}]
\titlespacing{\section}{0pt}{3pt}{3pt}
Это дает следующее:
Тем не менее, я не понял:
как заставить LaTeX автоматически добавлять текст главы X выше
как добавить вторую строку
как предотвратить такое форматирование и в оглавлении.
решение1
Прежде всего: не используйте titlesec
с классом KOMA-Script.
Если вам нужны главы, перейдите на scrreprt
, например:
\documentclass[
headings=chapterprefix
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[usenames,dvipsnames]{xcolor}
\colorlet{titlerulecolor}{orange}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{chapter}{\Huge\scshape}
\addtokomafont{chapterprefix}{\LARGE\upshape}
\RedeclareSectionCommand[%
afterindent=false,
beforeskip=3pt,
innerskip=0pt,
afterskip=3pt
]{chapter}
\newcommand\titlerule[1][.4pt]{\textcolor{titlerulecolor}{\rule[.5\baselineskip]{\textwidth}{#1}}}
\renewcommand\chapterlineswithprefixformat[3]{%
\ifstr{#1}{chapter}{%
\IfArgIsEmpty{#2}{#2#3}{%
\raggedleft%
#2%
\titlerule\\*%
\kern-1.5ex\nobreak%
#3\par\nobreak%
\kern1ex\nobreak%
\titlerule\par%
}%
}{#2#3}%
}
\usepackage{blindtext}% only for dummy text
\begin{document}
\tableofcontents
\chapter{Test}
\Blindtext
\blinddocument
\end{document}
Результат:
Пример с scrartcl
разделами и:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[usenames,dvipsnames]{xcolor}
\colorlet{titlerulecolor}{orange}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{section}{\Huge\scshape}
\newkomafont{sectionprefix}{\LARGE\upshape}
\RedeclareSectionCommand[%
afterindent=false,
beforeskip=\dimexpr\baselineskip+3pt\relax,
afterskip=3pt
]{section}
\renewcommand\sectionformat{Section~\thesection\autodot}
\newcommand\titlerule[1][.4pt]{\textcolor{titlerulecolor}{\rule[.5\baselineskip]{\textwidth}{#1}}}
\makeatletter
\renewcommand\sectionlinesformat[4]{%
\ifstr{#1}{section}{%
\ifstr{#3}{}{\@hangfrom{\hskip#2#3}#4}{%
\raggedleft%
{\usekomafont{sectionprefix}#3\par\nobreak}%
\titlerule\\*%
\kern-1.5ex\nobreak%
#4\par\nobreak%
\titlerule\par\nobreak%
}%
}{\@hangfrom{\hskip#2#3}#4}%
}
\makeatother
\usepackage{blindtext}% only for dummy text
\begin{document}
\tableofcontents
\section{Test}
\Blindtext
\blinddocument
\end{document}
Результат: