这是我在我的部分中使用的格式(我有一篇文章文档):
\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}