
Я использую titlesec
пакет для стилизации команд секционирования. Но у меня проблема с шириной главы или правым полем:
Ширина текста должна доходить только до синей линии, «Организация» и «Отображение» должны прерываться. Я знаю \\
, что это вариант, но в нижнем колонтитуле также упоминается название главы:
Итак, если я использую \\
, текст в нижнем колонтитуле будет: «Konzepte für die semantische»…
Стиль:
% > formats: \chapter
\titleformat{\chapter}[display]%
{\usekomafont{chapter}}%
{\vspace{-8em}\raggedleft{%
{\color{ctcolorchapterline}%
\rule[-5pt]{2pt}{5cm}}\quad%
{\color{ctcolorchapternum}
\fontsize{60}{60}\selectfont\thechapter}%
}%
}%
{-2.1em}%
{\raggedright}%
[\phantomsection]
решение1
Вы можете использовать explicit
опцию titlesec, чтобы поместить заголовок внутрь a \parbox
нужной длины; обратите внимание, что теперь вам нужно использовать #1
(обычно в последнем обязательном аргументе для \titleformat
), чтобы получить заголовок для секционной единицы. Я использовал \textwidth-3em
как ширину для коробки, но вы можете изменить это значение в соответствии с вашими потребностями. В примере ниже я привел некоторые определения для используемых цветов, поскольку они не были указаны в вопросе:
\documentclass{scrbook}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{lmodern}% just for the example
\usepackage{lipsum}% just for the example
\usepackage{hyperref}
\colorlet{ctcolorchapterline}{cyan}
\colorlet{ctcolorchapternum}{cyan}
\titleformat{\chapter}[display]%
{\usekomafont{chapter}}%
{\vspace{-8em}\raggedleft{%
{\color{ctcolorchapterline}%
\rule[-5pt]{2pt}{5cm}}\quad%
{\color{ctcolorchapternum}
\fontsize{60}{60}\selectfont\thechapter}%
}%
}%
{-2.1em}%
{\parbox[b]{\dimexpr\textwidth-3em\relax}{\raggedright#1}}%
[\phantomsection]
\begin{document}
\chapter{A test chapter with a long title that will span two lines}
\lipsum[4]
\end{document}
Какэгрегуказал вего комментарий, можно избежать использования explicit
опции, используя вспомогательный макрос:
\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{titlesec}
\usepackage{lmodern}% just for the example
\usepackage{lipsum}% just for the example
\usepackage{hyperref}
\colorlet{ctcolorchapterline}{cyan}
\colorlet{ctcolorchapternum}{cyan}
\newcommand\mychapformat[1]{%
\parbox[b]{\dimexpr\textwidth-3em\relax}{\raggedright#1}}
\titleformat{\chapter}[display]%
{\usekomafont{chapter}}%
{\vspace{-8em}\raggedleft{%
{\color{ctcolorchapterline}%
\rule[-5pt]{2pt}{5cm}}\quad%
{\color{ctcolorchapternum}
\fontsize{60}{60}\selectfont\thechapter}%
}%
}%
{-2.1em}%
{\mychapformat}%
[\phantomsection]
\begin{document}
\chapter{A test chapter with a long title that will span two lines}
\lipsum[4]
\end{document}
Я добавил \sectfont
к вашим определениям, чтобы вы могли сохранить жирный шрифт sansseerf, используемый по умолчанию в разделах KOMA:
\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{titlesec}
\usepackage{lmodern}% just for the example
\usepackage{lipsum}% just for the example
\usepackage{hyperref}
\colorlet{ctcolorchapterline}{cyan}
\colorlet{ctcolorchapternum}{cyan}
\newcommand\mychapformat[1]{%
\parbox[b]{\dimexpr\textwidth-3em\relax}{\raggedright#1}}
\titleformat{\chapter}[display]%
{\usekomafont{chapter}\sectfont}%
{\vspace{-8em}\raggedleft{%
{\color{ctcolorchapterline}%
\rule[-5pt]{2pt}{5cm}}\quad%
{\color{ctcolorchapternum}
\fontsize{60}{60}\selectfont\thechapter}%
}%
}%
{-2.1em}%
{\mychapformat}%
[\phantomsection]
\begin{document}
\chapter{A test chapter with a long title that will span two lines}
\lipsum[4]
\end{document}
Обратите внимание, что titlesec
KOMA-Script может быть не полностью совместим (вы получите предупреждение от классов KOMA при загрузке titlesec
); см.Несовместимости между KOMA-Script и titlesec