.png)
Aufstellen
Im Moment ist hier mein Code für meine erste Seite und das allgemeine Layout meines Projekts:
\documentclass[12pt, oneside]{book}
\usepackage{sectsty,fancyhdr}
\sectionfont{\LARGE\bfseries}
\usepackage{geometry}
\usepackage{lipsum}%remove
% *******************************Margin Settings*******************************
\geometry{% margin settings, has to go first before \pagestyle{}
paper=a4paper,
inner=2.5cm, % Inner margin
outer=2.5cm, % Outer margin
bindingoffset=0.0cm, % Binding offset
top=2.5cm, % Top margin
bottom=2.5cm, % Bottom margin
headsep=3.5mm,% controles header
footskip=6.4mm,% controles footer
%showframe,% show how the type block is set on the page
}
% ***************************Header/Footer Settings****************************
\sectionfont{\LARGE\bfseries}%this will keep the formattings of sections
\pagestyle{fancy}
\fancyhf{} % sets all head and foot elements empty.
\rhead{} % right side of upper footer
\lhead{Project title} %left side
\renewcommand{\headrulewidth}{2.0pt} % Width of the top line
\renewcommand{\footrulewidth}{1.0pt} % Bottom line
\setlength{\headheight}{14.5pt}%used to remove the \fancyhf{} \headheight error
\rfoot{Page \thepage} % vice versa with the page number
\lfoot{\leftmark} % Should show the name of section
\makeatletter
\renewcommand{\sectionmark}[1]{%this avoids the \makecaptical of footers
\markboth{\ifnum \c@secnumdepth>\z@ %this allowes symbols in foorters
\thesection\hskip 1em\relax
\fi #1}{}}
\makeatother
%****************************ADD NEW CODE HERE**********************
%***************************Title************************************
\newcommand{\mytitle}{
\begin{center}
{\Huge{\textbf{Project of...}}}
\end{center}
\begin{center}
\textsc{\Large My name}\\[0.5cm]
\end{center}
\begin{center}
{\large My ID number}\\[0.5cm]
\end{center}
}
%------------------------------------------------------------------
% Begin
%------------------------------------------------------------------
\begin{document}
\mytitle
\chapter{chapter 1}
\section{section 1.1}
\subsection{subection 1.1.1}
\lipsum%remove
\chapter{chapter 2}
\section{section 2.1}
\subsection{subection 2.1.1}
\lipsum%remove
%------------------------------------------------------------------
% end
%------------------------------------------------------------------
\end{document}
Das Problem
Dies ist „Code 1“ (wird zu meinen Präambeln im Abschnitt „Neuer Code“ oben hinzugefügt):
\fancypagestyle{chapterstart}{% 1st page of the chapters, i.e. no new page for chapter
}
\makeatletter
\def\chapter{
\pagestyle{chapterstart}
\secdef\@chapter\@schapter}
\renewcommand\thesection{\@arabic\c@section}
\makeatother
Mit diesem Code kann ich ein neues Kapitel auf derselben Seite beginnen und Kopf- und Fußzeile bleiben auf derselben Seite. Allerdings werden dadurch die Abschnittsnummern für jedes Kapitel zurückgesetzt. Beispielsweise würde aus „Kapitel 2, Abschnitt 2.1“ stattdessen „Kapitel 2, Abschnitt 1.1“ werden.
Dies ist „Code 2“ (wird wie zuvor oben hinzugefügt):
\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother
Mit diesem Code kann ich ein Kapitel auf derselben Seite beginnen und die ursprüngliche Nummerierung für die Unterteilung beibehalten. Beispielsweise bleibt „Kapitel 2, Abschnitt 2.1“ „Kapitel 2, Abschnitt 2.1“. Kopf- und Fußzeile werden jedoch nicht auf derselben Seite angezeigt.
Das Ziel
Wie kombiniere ich „Code 1“ und „Code 2“, um ein neues Kapitel auf derselben Seite zu beginnen, meine Kopf- und Fußzeile auf den neuen Kapitelseiten beizubehalten und die Formatierung für die Abschnittsnummerierung beizubehalten?
Antwort1
Code 1 hätte auch ohne funktioniert \renewcommand\thesection{\@arabic\c@section}
. Dadurch wird die Kapitelnummer weggelassen (im Original ist dies \thechapter.\@arabic\c@section
).
Es gibt jedoch einen Nachteil: Es wird kein festgelegt \@afterindentfalse
, was bei normalem Text zu einem eingerückten ersten Absatz nach dem Kapiteltitel führen würde.
Die Zeile \pagestyle{chapterstart}
ist nicht notwendig. Das Original \chapter
setzt \thispagestyle{plain}
. Ohne diese wird der Seitenstil nicht geändert.
Im Code 2 \chapter
wird durch geändert \patchcmd
, was den Vorteil hat, dass eine Warnung oder ein Fehler ausgegeben werden kann, wenn sich das Kommando geändert hat und nicht mehr gepatcht werden kann (letztes Argument, Beispiel im Code).
\documentclass[12pt, oneside]{book}
\usepackage{sectsty,fancyhdr}
\sectionfont{\LARGE\bfseries}
\usepackage{geometry}
\usepackage{lipsum}%remove
% *******************************Margin Settings*******************************
\geometry{% margin settings, has to go first before \pagestyle{}
paper=a4paper,
inner=2.5cm, % Inner margin
outer=2.5cm, % Outer margin
bindingoffset=0.0cm, % Binding offset
top=2.5cm, % Top margin
bottom=2.5cm, % Bottom margin
headsep=3.5mm,% controles header
footskip=6.4mm,% controles footer
%showframe,% show how the type block is set on the page
}
% ***************************Header/Footer Settings****************************
\sectionfont{\LARGE\bfseries}%this will keep the formattings of sections
\pagestyle{fancy}
\fancyhf{} % sets all head and foot elements empty.
\rhead{} % right side of upper footer
\lhead{Project title} %left side
\renewcommand{\headrulewidth}{2.0pt} % Width of the top line
\renewcommand{\footrulewidth}{1.0pt} % Bottom line
\setlength{\headheight}{14.5pt}%used to remove the \fancyhf{} \headheight error
\rfoot{Page \thepage} % vice versa with the page number
\lfoot{\leftmark} % Should show the name of section
\makeatletter
\renewcommand{\sectionmark}[1]{%this avoids the \makecaptical of footers
\markboth{\ifnum \c@secnumdepth>\z@ %this allowes symbols in foorters
\thesection\hskip 1em\relax
\fi #1}{}}
\makeatother
%****************************ADD NEW CODE HERE**********************
%***************************Title************************************
\newcommand{\mytitle}{
\begin{center}
{\Huge{\textbf{Project of...}}}
\end{center}
\begin{center}
\textsc{\Large My name}\\[0.5cm]
\end{center}
\begin{center}
{\large My ID number}\\[0.5cm]
\end{center}
}
%------------------------------------------------------------------
% Code 2
\usepackage{etoolbox}
\makeatletter
% no new page for \chapter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
% don't change the pagestyle
\patchcmd{\chapter}{\thispagestyle{plain}}{}{}{%
% example for a warning, 'Package' in text necessary to make TexStudio show it.
\GenericWarning{(preamble)\@spaces\@spaces\@spaces\@spaces}{Package preamble Warning: patching \string\chapter\space did not work.}}
}
% allow floats on top of the page with a new chapter
\patchcmd{\chapter}{\global\@topnum\z@}{}{}{}
% if not commented out, first paragraph will be indented
%\patchcmd{\chapter}{\@afterindentfalse}{}{}{}
%\makeatother
%------------------------------------------------------------------
% Begin
%------------------------------------------------------------------
\begin{document}
\mytitle
\chapter{chapter 1}
\section{section 1.1}
\subsection{subection 1.1.1}
\lipsum%remove
\chapter{chapter 2}
\section{section 2.1}
\subsection{subection 2.1.1}
\lipsum%remove
%------------------------------------------------------------------
% end
%------------------------------------------------------------------
\end{document}