我想更改章节标题的位置,特别是其上方的空白量。我正在使用类book
并使用geometry
包定义边距。 chapter 命令将章节标题打印在非章节起始页的文本边界下方,在我看来这看起来很丑陋。如何更改这种情况?
PS:我还应该提到,我正在使用该titlesec
包来自定义我的标题。考虑一下这个 MWE:
\documentclass[twoside,12pt,openany]{book}
\usepackage[margin=30mm]{geometry}
\usepackage{lipsum}
\usepackage[svgnames]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\Huge\bfseries}{\textcolor{NavyBlue}{\thechapter}\hspace{0.8ex}\textcolor{lightgray}{\fontsize{35}{0}\selectfont |}\hspace{0.8ex}}{0ex}{\Huge\bfseries}
\usepackage{showframe}
\begin{document}
\chapter{The Theory of Solid State Physics}
\lipsum
\end{document}
答案1
我认为您正在寻找标题间距。我从中复制了原始内容titlesec.sty
,并将以前的 50 pt(而不是50\p@
)值设置为零点。仍然有一点跳跃,但我认为这样就可以了。当然,如果您愿意,您可以改为设置负值。
我还将边栏的宽度改为 22 毫米。我不确定您是否使用了任何类型的边注,但看到那个小小的展示框矩形超出纸张范围让我很生气 ;-)
\documentclass[twoside,12pt,openany]{book}
\usepackage[margin=30mm
,marginparwidth=22mm% Seems reasonable
]{geometry}
\usepackage{lipsum}
\usepackage[svgnames]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
%Here it the important part
\makeatletter
%copied from titlesec.sty
\titlespacing*\chapter
{\z@}%
{\z@}%<-- formerly 50pt
{\ttl@chapafter}%
\makeatother
\titleformat{\chapter}[hang]{\Huge\bfseries}{\textcolor{NavyBlue}{\thechapter}\hspace{0.8ex}\textcolor{lightgray}{\fontsize{35}{0}\selectfont
|}\hspace{0.8ex}}{0ex}{\Huge\bfseries}
\usepackage{showframe}
\begin{document}
\chapter{The Theory of Solid State Physics}
\lipsum
\end{document}
答案2
代码:
\documentclass[twoside,12pt,openany]{book}
\usepackage[total={6.5in,10.75in},top=-1in, left=0.9in, includefoot]{geometry}
\usepackage{lipsum}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\Huge\bfseries}{\textcolor{NavyBlue}{\thechapter}\hspace{0.8ex}\textcolor{lightgray}{\fontsize{35}{0}\selectfont |}\hspace{0.8ex}}
{0ex}{\Huge\bfseries}
\begin{document}
\chapter{The Theory of Solid State Physics}
\lipsum
\end{document}
可以定义顶部边距选项以减少章节标题和顶部之间的空间。顶部可以随意设置,范围从 -0.1 英寸到 1 英寸。
输出