不知何故,我尝试更改 \chapter 的位置似乎不起作用。我希望我的 chaptertitle 正好从页面顶部开始。我需要更改普通的页面样式吗?
\documentclass[paper=15cm:23cm, headinclude=true, numbers=enddot, draft]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[automark]{scrpage2}
\renewcommand*{\headfont}{%
\normalfont\sffamily\scshape}
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\sectionmarkformat}{}
\usepackage{titlesec}
\setkomafont{chapter}{\huge\normalfont\sffamily\bfseries}
%Position of Chaptertitle
\titlespacing{\chapter}{0pt}{-50pt}{20pt}
\begin{document}
\chapter{This first chapter}
Hi there.
\end{document}
答案1
如果您同时定义了\titleformat
和\titlespacing
,那么您就可以完全控制:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{titlesec}
\setkomafont{chapter}{\huge\normalfont\sffamily\bfseries}
%Position of Chaptertitle
\titleformat{\chapter}
{\usekomafont{chapter}}
{\thechapter.\hspace{1em}}
{0pt}
{}
\titlespacing{\chapter}{0pt}{-50pt}{20pt}
\begin{document}
\chapter{This first chapter}
Hi there.
\end{document}
我目前不确定为什么你不能直接使用\titlespacing
,但这可能与重新定义部分样式的方式有关KOMA
。请注意,你不需要使用高级界面– 只需发出任何titlesec
实际触及格式的命令即可。因此,您还可以使用轻松设置,指定类选项之一rm
,,,,,,,,,,如手册中所述:sf
tt
md
bf
up
it
sl
sc
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[sf,bf]{titlesec}
% This is optional when the easy-setup is used:
%\setkomafont{chapter}{\huge\normalfont\sffamily\bfseries}
%\titleformat*{\chapter}{\usekomafont{disposition}\usekomafont{chapter}}
% Position of Chapter title
\titlespacing{\chapter}{0pt}{-50pt}{20pt}
\begin{document}
\chapter{This first chapter}
Hi there.
\end{document}
答案2
下面的代码运行良好。
我介绍了为了这样的努力而制定的titlesec
s 命令。\titleformat
笔记:
我添加了一个字体包(
kpfonts
仅是一个例子,但很棒),因为如果没有它,您对 pagehead 的定义就无法工作。我会使用 pagestyle
scrheadings
,所以我添加了相应的命令。与 KOMA-Script 一起,建议使用包自己的字体切换命令来
scrpage2
影响字体属性(参见 KOMA-Script 手册,部分scrpage2
)。另一方面,KOMA-Script 自己的“章节”字体开关在这里不起作用
\titleformat
;看来,这是另一个KOMA-Script 与 titlesec 不兼容\usekomafont
。但是可以通过在定义中使用 来解决这个问题\titleformat
(感谢 mforbes 提出这个想法)。请注意,documentclass 选项headings=big
(也应将 chaptertitle 设置为\huge
)确实 不是也可以工作!我已将标题分隔的绝对值更改为相对值:
\baselineskip
而em
不是pt
。\documentclass[% paper=15cm:23cm,% headinclude=true,% numbers=enddot,% draft,% ]{scrbook}% \usepackage[T1]{fontenc} %\usepackage[utf8]{inputenc} \usepackage{kpfonts} \usepackage[ngerman,latin]{babel}% option "latin" only because of use of "lipsum" \usepackage[automark]{scrpage2} \pagestyle{scrheadings} \renewcommand*{\chaptermarkformat}{}% no numbering in the pagehead \renewcommand*{\sectionmarkformat}{} %%% works, but is not recommended together with KOMA-Script: %\renewcommand*{\headfont}{ %\normalfont\sffamily\scshape} %%% This is the recommended way: \setkomafont{pagehead}{\normalfont\sffamily\scshape} \usepackage{titlesec} \setkomafont{chapter}{\normalfont\sffamily\bfseries\huge} \titleformat{\chapter} {\usekomafont{chapter}} {\thechapter.} {1em} {\filleft} %Position of Chaptertitle \titlespacing{\chapter}{0pt}{-3\baselineskip}{2\baselineskip}% \usepackage{lipsum} \begin{document} \chapter{Lipsum Lapsum Lepsum Lopsum Lupsum Lypsum} \lipsum[1-5] \chapter{Lorem Ipsum} \lipsum[6-10] \end{document}