因此,我正在使用报告类,并且需要修改章节标题。这是我目前得到的结果:
\documentclass[a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table,xcdraw]{xcolor}
\definecolor{Titel}{RGB}{0,0,144}
\makeatletter
\def\@makechapterhead#1{%
\vspace*{-10\p@}%
{\parindent \z@ \raggedright \normalfont
\interlinepenalty\@M
\Huge\bfseries \textcolor{Titel}{\thechapter.\quad #1}
\vskip 20\p@
}}
\makeatother
\begin{document}
\chapter{A very longus chongus chapter Titel}
\end{document}
这就是我需要的(与章节标题相同):
我真的不知道该怎么做!?使用 titlesec 包和 \titleformat 时,会出现“以水平模式输入”的错误,我无法修改其他重要参数,例如让它在页面上显示得稍微高一点。这就是为什么我想重新定义该参数的原因。
答案1
您\titlespacing
在 中有命令titlesec
。我使用了缩写符号*n
,表示垂直间距为“n ex”,可以自动实现较小的可拉伸性和可收缩性。默认格式是 hangstyle
。
这是一个可能的代码,其中的值可以根据您的需要进行调整:
\documentclass[a4paper,11pt]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage[table,xcdraw]{xcolor}
\usepackage{lipsum}
\definecolor{Titel}{RGB}{0,0,144}
\titleformat{\chapter}{\Huge\bfseries\filright\color{Titel}}{\thechapter.}{0.5em}{}
\titlespacing{\chapter}{0pt}{*-4}{*4}
\begin{document}
\chapter{A very longus chongus chapter Titel}
\lipsum[11]
\end{document}
答案2
你可以通过以下方式轻松实现这一点titlesec
:
\documentclass[a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table,xcdraw]{xcolor}
\definecolor{Titel}{RGB}{0,0,144}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}[hang]
{\filright\Huge
\bfseries\color{Titel}}
{\thechapter.}
{5mm}
{}
[]
\titlespacing{\chapter}{0pt}{-3cm}{1cm}
\begin{document}
\chapter{A very longus chongus chapter that fits in more than one line}
\lipsum[1]
\end{document}
如果由于某种原因您不想使用titlesec
,这是对您的代码的改编:
\makeatletter
\def\@makechapterhead#1{%
\vspace*{-10\p@}%
{\parindent \z@ \raggedright \normalfont
\interlinepenalty\@M
\color{Titel}
\hangindent=1.5cm
\Huge\bfseries\makebox[1.5cm][l]{\thechapter.\quad}#1
\vskip 20\p@
}}
\makeatother