我正在尝试用 LaTeX 写一本书scrbook
class 的书。我对使用 TeX 排版不是很有经验,但我想给我的章节标题赋予一种特殊的样式。我在这里找到了一种非常好的样式:http://www.bradleymedia.org/latex-chapter-headings。
我可以在文档中重现样式,但无法添加我想要的标题颜色和间距。我现在的问题是,如何为“章节”、章节编号、右侧的线条和章节标题添加特定颜色?
我想要使用的代码是:(我希望这个最小的例子能够起作用:D)
\documentclass[a4paper]{scrbook}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\title{Your Paper}
\author{You}
\usepackage{titlesec}
\usepackage{graphics}
\titleformat{\chapter}[display]
{\normalfont\Large\raggedleft}
{\MakeUppercase{\chaptertitlename}%
\rlap{ \resizebox{!}{1.2cm}{\thechapter} \color{blue}\rule{15cm}{1.2cm} } }
{10pt}{\Huge}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\begin{document}
\chapter{Test-chapter}
\end{document}
如您所见,我找到了一个选项来更改左侧线条的颜色。但我不知道如何更改此标题中其他元素的颜色。
titlesec
(另一个小问题:当我与 KOMA 一起使用时会出现警告信息scrbook
)。
感谢所有帮助我解决这个问题的人!
答案1
这是不带的建议titlesec
。请注意,代码需要 KOMA-Script 版本 3.15 或更新版本。
\documentclass[a4paper,chapterprefix]{scrbook}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xcolor}
\colorlet{chaptercolor}{blue!80!black}
\setkomafont{chapter}{\normalfont\color{chaptercolor}\Huge}
\setkomafont{chapterprefix}{\Large}
\renewcommand*{\raggedchapter}{\raggedleft}
\renewcommand*{\chapterformat}{%
\MakeUppercase{\chapappifchapterprefix{}}%
\rlap{\enskip\resizebox{!}{1.2cm}{\thechapter} \rule{15cm}{1.2cm} }%
}
\RedeclareSectionCommand[beforeskip=30pt,afterskip=20pt]{chapter}
\renewcommand*\chapterheadmidvskip{\par\nobreak\vspace{10pt}}
%\usepackage{showframe}% to show the page layout
\usepackage{blindtext}% dummy text
\begin{document}
\blinddocument
\end{document}
使用旧版本的 KOMA-Script,您可以尝试以下代码来获得类似的结果。
\documentclass[a4paper,chapterprefix]{scrbook}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xcolor}
\colorlet{chaptercolor}{blue!80!black}
\setkomafont{chapter}{\normalfont\color{chaptercolor}\Huge\raggedleft}
\setkomafont{chapterprefix}{\Large}
\renewcommand*{\chapterformat}{%
\makebox[\linewidth][r]{\MakeUppercase{\chapappifchapterprefix{}}}%
\rlap{\enskip\resizebox{!}{1.2cm}{\thechapter} \rule{15cm}{1.2cm} }%
}
\renewcommand*\chapterheadstartvskip{\vspace{20pt}}
\renewcommand*\chapterheadendvskip{\vspace{20pt}}
%\usepackage{showframe}% to show the page layout
\usepackage{blindtext}% dummy text
\begin{document}
\blinddocument
\end{document}
答案2
我找到了一个实现所有元素着色的解决方案:我只是在字体设置中添加了具有预定义颜色的 \color{myblue}。
\titleformat{\chapter}[display]
{\normalfont\Large\raggedleft\color{myblue}}
{\MakeUppercase{\chaptertitlename}%
\rlap{ \resizebox{!}{1.2cm}{\thechapter} \color{myblue}\rule{15cm}{1.2cm} } }
{10pt}{\Huge}
我想要应用的下一个格式化功能是减小标题与页面顶部之间的距离。有人知道如何实现吗?
再次感谢您的帮助!