在每个部分前添加 \vskip{1em} - 无法进行编译

在每个部分前添加 \vskip{1em} - 无法进行编译

这是我在我的部分中使用的格式(我有一篇文章文档):

\titleformat{\section}{\sffamily\Large\bfseries\filcenter}{\vskip 1em}{CHAPTER \thesection}{\break}{}
\newcommand{\sectionbreak}{\clearpage}

因此,每个标题看起来都像这样,但位于页面顶部居中且位置相距一格:

第1章

章节标题就在这里

但是,代码无法通过这种方式编译,而且每\section{title}行都会出现错误警告。但上面是实时预览中的样子(我使用 Latexian)。如果我删除{\vskip 1em},错误就会消失,但是,标题现在看起来像这样:

___第1章

章节标题

______就在这儿

空格在哪里_。“第 1 章”居中,其他内容则略微向右移动。但是,代码可以编译。

也可能有更好的方法来做到这一点...我的目标是每个部分都在一行上说章节#,然后在下一行说章节标题,全部居中,距页面顶部 1em。

此外,在重现此问题时,我得到了不同的结果。有时添加vskip会导致“1em”出现在“1”和“SECTION”之间。其他时候,在删除后vskip,我仍然会遇到编译错误和错误警告。有时当我删除时,文本会完全平铺成一行vskip。基本上没有什么是一致的,我真的很困惑。

答案1

第一的:

\titleformat{\section}[display]%
{\clearpage\sffamily\Large\bfseries\filcenter}{CHAPTER \thesection}{1em}{}[]

所以不要使用\vskip并记住参数的顺序。

这是章节标题1em之间的垂直空间。CHAPTER \thesection

第二:

\titlespacing*{\section} {0pt}{1em}{2cm}

1em您所需要的2cm是垂直空间。标题之后您可以更改它。

\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[display]%
{\clearpage\sffamily\Large\bfseries\filcenter}{CHAPTER \thesection}{1em}{}[]
\titlespacing*{\section}{0pt}{1em}{2cm}

\begin{document}
\section{SECTION TITLE GOES RIGHT HERE}
bla bla
\section{SECTION TITLE GOES RIGHT HERE}
bla bla

\end{document}

相关内容