所以我想自定义章节样式并删除前面的空格。我已经\titlespacing
从titlesec
包中使用了,但标题前仍然有空格。
mycls.cls:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mycls}[2015/11/18 My class]
\LoadClass{book}
\RequirePackage[showframe]{geometry}
\RequirePackage{titlesec}
\titleformat{\chapter}[display]
{\center}
{\thechapter}
{0.1875in}
{}
\titlespacing*{\chapter}
{0in}
{0in}
{0.4375in}
示例.tex:
\documentclass{mycls}
\usepackage{lipsum}
\title{Tex StackExchange Example}
\author{Pedro}
\begin{document}
\maketitle
\chapter{Chapter}
\lipsum[1]
\lipsum[2]
\end{document}
生成的文档在框架顶部和章节号之间有空格:
关于我做错了什么/我应该做什么有什么提示吗?
答案1
\center
是环境底层的命令center
,它添加了垂直空间。我认为你的意图是\centering
\documentclass{book}
\RequirePackage[showframe]{geometry}
\RequirePackage{titlesec}
\titleformat{\chapter}[display]
{\centering}
{\thechapter}
{0.1875in}
{}
\titlespacing*{\chapter}
{0in}
{0in}
{0.4375in}
\usepackage{lipsum}
\title{Tex StackExchange Example}
\author{Pedro}
\begin{document}
\maketitle
\chapter{Chapter}
\lipsum[1]
\lipsum[2]
\end{document}
从问题中的立场提出标题。
剩余空间为\topskip
和\baselineskip
用于章节号行的。
....\glue(\topskip) 10.0
....\rule(0.0+0.0)x*
....\penalty 10000
....\glue 0.0
....\glue 0.0
....\glue(\parskip) 0.0 plus 1.0
....\glue(\baselineskip) 3.60004
....\hbox(8.39996+3.60004)x430.00462, glue set 212.5023fil
.....\glue(\leftskip) 0.0 plus 1.0fil
.....\rule(8.39996+3.60004)x0.0
.....\OT1/cmr/m/n/10 1
本质上,它是阻止在页面顶部丢弃空间的规则,通常您不会获得完整的 topskip,它会减少第一行的高度,但这里第一行是零高度规则。