为什么我的文档在章节之前仍然有垂直空间?

为什么我的文档在章节之前仍然有垂直空间?

所以我想自定义章节样式并删除前面的空格。我已经\titlespacingtitlesec包中使用了,但标题前仍然有空格。

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,它会减少第一行的高度,但这里第一行是零高度规则。

相关内容