使用 titlesec 缩进章节标题

使用 titlesec 缩进章节标题

在此处输入图片描述

我正在使用以下代码来定义书籍类和 XeLaTeX 中的 titlesec 包的章节。

\titleformat{\chapter}[block]
{\futura\huge\bfseries\raggedright}
{\thechapter\text{.}\hspace{30pt}}
{0pt}
{\Huge\MakeUppercase}
[\vspace{1ex}]

如提供的图片所示,我想缩进整个文本,即章节号下面不再有文本。我尝试添加 hspace、添加 parbox 等,但无法获得所需的结果。

答案1

您可以使用\parbox

\documentclass[a4paper]{book}
\usepackage{fontspec}
\usepackage{titlesec}

\newfontfamily{\futura}{Futura}

\titleformat{\chapter}[block]
{\futura\huge\bfseries}
{\makebox[\chapternumbersize][l]{\thechapter.}}
{0pt}
{\typesetchaptertitle}

\newcommand{\typesetchaptertitle}[1]{%
  \parbox[t]{\dimexpr\textwidth-\chapternumbersize}{\raggedright\Huge\MakeUppercase{#1}}%
}
\newcommand{\chapternumbersize}{60pt}% adjust to suit

\begin{document}

\chapter{Theoretische Betrachtungen}

Text of the chapter follows
Text of the chapter follows
Text of the chapter follows
Text of the chapter follows
Text of the chapter follows
Text of the chapter follows
Text of the chapter follows

\end{document}

在此处输入图片描述

答案2

下面的方法比 egreg 的解决方案简单多了。你只需要删除[block]

\documentclass[a4paper]{book}
\usepackage{fontspec}
\usepackage{titlesec}

\newfontfamily{\futura}{Futura}

\titleformat{\chapter} % No need [block]
{\futura\huge\bfseries\raggedright}
{\thechapter.\hspace{30pt}}
{0pt}
{\Huge\MakeUppercase}
[\vspace{1ex}]    

\begin{document}

\chapter{Theoretische Betrachtungen}

\end{document}

相关内容