So speichern und stellen Sie das Überschriftenformat eines Kapitels wieder her

So speichern und stellen Sie das Überschriftenformat eines Kapitels wieder her

Ich schreibe meine Abschlussarbeit anhand einer von der Universität bereitgestellten Vorlage. Dazu muss die Klasse „report“ verwendet werden. Um die Überschriften im Vorspann zu formatieren, wird das titlesecPaket verwendet und das Format ( \titleformat, \titlespacing) neu definiert. Dadurch wird jedoch auch das Format der Kapitelüberschriften im Hauptteil geändert, was mir nicht gefällt. Ich habe versucht, \newenvironmenteine Umgebung zu definieren preliminary, um den Vorspann zu umbrechen und das Format der Überschriften nur lokal neu zu definieren. Das hat jedoch nicht funktioniert.

Meine Fragen lauten: Ist es möglich, das Format der Überschriften lokal zu ändern? Und wenn nicht, wie kann ich das Standardformat speichern und nach dem Vorspann wiederherstellen?

Ich schätze, ich kann das Format nach dem Frontmatter immer neu definieren, aber ich möchte die Standardeinstellung beibehalten.

Antwort1

Sie können titlesecdie Befehle von überall verwenden und ihre Wirkung ist auf die Gruppe oder Umgebung beschränkt, die sie enthält. Das folgende Dokument arbeitet mit dem Ändern von Abschnitten und Kapiteln. Zur Veranschaulichung habe ich nur Abschnitte demonstriert. Entfernen Sie die Kommentarzeichen aus den Zeilen im Text mit \chapterBefehlen, um zu sehen, wie diese auch funktionieren.

\documentclass{report}
\usepackage{titlesec}
\titleformat{\section}{\normalfont\Large\itshape}{\thesection}{1em}{}{}

\newenvironment{alttitles}{\titleformat{\chapter}[display]%
{\normalfont\huge\itshape}{\chaptertitlename\ \thechapter}{20pt}{\Huge}%
\titleformat{\section}{\normalfont\Large\scshape}{\thesection}{1em}{}{}}{}

\begin{document}

%\chapter{First chapter}
\section{A section}

\begin{alttitles}
%\chapter{Next chapter}
\section{Another section}

\end{alttitles}

\section{A last section}

\end{document}

Beispielausgabe

Wenn Sie versuchen, dies mit Ihren eigenen Stilen zu implementieren, empfehle ich Ihnen, die Titlesec-Befehle zunächst global in einem separaten Dokument zum Laufen zu bringen, um das Debuggen zu erleichtern. Danach können Sie sie, wenn Sie möchten, in eine Umgebung einbauen oder sie einfach in die entsprechende Gruppe aufnehmen, z. B.

{
\titleformat{\section}{\normalfont\Large\scshape}{\thesection}{1em}{}{}
\section{A small caps section}

Text.

}

Antwort2

Es ist nicht möglich, sie lokal zu ändern. Sie können jedoch an jeder Stelle im Dokument, und zwar innerhalb des Befehls \mainmatter, wie unten gezeigt, zu den „Originaltiteln“ zurückkehren. Die korrekte Definition der Originaltitel ist im titlesecHandbuch beschrieben. Hier ist die Präambel zu Ihrem Dokument:

\makeatletter
\g@addto@macro{\mainmatter}{
  \titleformat{\chapter}[display]
    {\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
  \titleformat{\section}
    {\normalfont\Large\bfseries}{\thesection}{1em}{}
  \titleformat{\subsection}
    {\normalfont\large\bfseries}{\thesubsection}{1em}{}
  \titleformat{\subsubsection}
    {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
  \titleformat{\paragraph}[runin]
    {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
  \titleformat{\subparagraph}[runin]
    {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
  \titlespacing*{\chapter}{0pt}{50pt}{40pt}
  \titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
  \titlespacing*{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
  \titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
  \titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
  \titlespacing*{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{1em}
}
\makeatother

verwandte Informationen