我需要在一个文档中使用两种不同类型的第一章页面。一种类型(类型 I)用于以章节形式出现的“普通”章节。另一种类型(类型 II)用于附录(“Anhang”)、表格列表和其他一些内容。首先,我有一组类型 II 章节,然后是一组类型 I,然后是一组类型 II。为了让问题不那么难,我想知道在哪里可以找到命令的默认设置\chapter
。我已经通过重新定义解决了这个问题\chapter
,但表格列表的标题也发生了变化,这是不应该的。
\documentclass[a4paper,12pt]{report}
\usepackage{inputenc}\usepackage[T1]{fontenc}\usepackage[german]{babel}
\usepackage{graphicx}\usepackage{graphics}
\usepackage[onehalfspacing]{setspace}\usepackage{fancyhdr}\usepackage{layout}\usepackage[top=25mm,bottom=25mm,left=3cm,right=3cm,headheight=15pt]{geometry}\usepackage{atbegshi}
\usepackage{titlesec}\titleformat{\chapter}{\normalfont\bfseries\Large}{\thechapter.\quad}{0pt}{}\titlespacing{\chapter}{0pt}{-4cm}{40pt}
\usepackage{float}
\usepackage{subfig}
\usepackage{rotating}\usepackage[graphicx]{realboxes}\usepackage{lipsum}
\usepackage{eurosym}
\usepackage{amsmath}\usepackage{amssymb}\usepackage{calc}\usepackage{array}
\usepackage{caption}\usepackage{section}\usepackage{csquotes}
\usepackage[style=numeric,sorting=none,backend=bibtex8]{biblatex}\addbibresource{Literatur.bib}
\usepackage{caption}\usepackage{section}\usepackage{csquotes}\usepackage{listings}
\usepackage{hyperref}\usepackage[all]{hypcap}
%\makeatletter
%\def\@makeschapterhead#1{\vspace*{-50\p@}{\parindent
%\z@
%\raggedright \normalfont \interlinepenalty\@M \Huge \bfseries \thechapter.\quad #1\par\nobreak \vskip 20\p@}}
%\makeatother
\titleformat{\chapter}{\normalfont\bfseries\Large}{\thechapter.\quad}{0pt}{}
\titlespacing{\chapter}{0pt}{-50pt}{40pt}
\setlength{\parindent}{0pt}
\begin{document}
\include{Titelseite}
\renewcommand{\baselinestretch}{1.5}
\tableofcontents %Typ II
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\fancyhead[L]{\leftmark \rightmark}
\renewcommand{\footrulewidth}{1pt}
\fancyfoot[C]{\thepage}
\include{Zusatz} %Typ II
\pagestyle{fancy}
\restoregeometry
\include{Einleitung} %Typ I
\include{Theorie} %Typ I
\include{Motivation} %Typ I
\include{Diskussion} %Typ I
\include{Zusammenfassung} %Typ I
\include{Durchfuhrung} %Typ I
\pagenumbering{Roman}
\newgeometry{top=2cm,bottom=2cm,left=3cm,right=3cm}
\setcounter{page}{6}
\singlespacing
\include{Anhang} %Typ II
\pagestyle{fancy}
\include{Eidesstatt} %Typ II
\end{document}
我还想为 Type II 的图表添加另一个编号。
(当我手动创建 TYP I 时,我也需要这些设置。(因为表格列表是 Type II,我认为我不能重新定义表格列表的标题,可以吗?)
答案1
\chapter
这是来自的定义report.cls
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\huge\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
一个关键的命令是
\def\secdef#1#2{\@ifstar{#2}{\@dblarg{#1}}}
另请参阅文件课程.pdf也解释了章节设置。(最好也读source2e
一下)