BEARBEITEN

BEARBEITEN

Ich möchte eine neue Überschriftenart erstellen. Die Überschrift soll so aussehen.Bildbeschreibung hier eingeben

Der Name des Headers sollte "Myheader" sein. Ich habe das Problem derzeit wie folgt gelöst:

\makeatletter
\newcommand{\Myheader}{\subsubsection}
\makeatother
\titlespacing*{\subsubsection}{0cm}{0cm}{2pt}%pbk
\titleformat{\subsubsection}[display]{\Huge\filleft\scshape}{ \normalfont\bf\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}]

Ich möchte den Header weiterhin verwenden können \subsubsection, daher ist die Lösung nicht akzeptabel. Ein minimales Beispiel des Codes ist:

\documentclass[10pt,a4paper,oneside]{article}
\usepackage[danish,english]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\makeatletter
\newcommand{\Myheader}{\subsubsection}
\makeatother
\titlespacing*{\subsubsection}{0cm}{0cm}{2pt}%pbk
\titleformat{\subsubsection}[display]{\Huge\filleft\scshape}{ \normalfont\bf\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}]
\begin{document}
\Myheader{The first appendix}
\end{document}

Irgendeine Idee, wie man das lösen kann?

Antwort1

Sie können den Befehl, der zum Beginn von Anhängen ausgegeben wird, patchen, sodass \sectionab diesem Punkt die richtigen Ergebnisse erzielt werden, d. h. nur für die Anhänge. Dadurch wird sichergestellt, dass Ihre Anhänge auf der richtigen Ebene innerhalb der Abschnittshierarchie platziert werden (z. B. für das Inhaltsverzeichnis oder für Lesezeichen) und Ihr Code wird maximal flexibel (z. B. wenn Sie Ihre Meinung ändern, entfernen Sie einfach den Patch).

Zum Beispiel:

\documentclass[10pt,a4paper,oneside]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{titlesec,etoolbox}
\usepackage{kantlipsum}
\apptocmd\appendix{%
  \titlespacing*{\section}{0cm}{0cm}{2pt}%pbk
  \titleformat{\section}[display]{\Huge\filleft\scshape}{ \normalfont\bfseries\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}]
}{\typeout{Appendices title formatting successfully patched. Expect the expected.}}{\typeout{Appendices title formatting could not be patched. Unexpected results paradoxically to be expected.}}
\begin{document}
\section{A section}
\kant[1]
\section{Another section}
\kant[2]
\appendix
\section{The first appendix}
\kant[3]
\end{document}

geflickter Anhang

BEARBEITEN

In den Kommentaren haben Sie gefragt, wie Sie dies ändern können, um leere Kopfzeilen auf Seiten zu erhalten, auf denen \sectionafter \appendixausgegeben wird. Ihr Kommentar lässt mich annehmen, dass Sie verwenden fancyhdr. Ohne den Code zu kennen, den Sie derzeit für Kopfzeilen an anderer Stelle verwenden, ist es schwierig, die beste Vorgehensweise anzugeben, aber wenn Sie etwas einigermaßen Standardmäßiges haben, sollte dies funktionieren.

\documentclass[10pt,a4paper,oneside]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{titlesec,etoolbox,fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhf[lh]{\leftmark}
\fancyhf[rh]{\thepage}
\fancypagestyle{ancy}{%
  \fancyhf[h]{}%
  \renewcommand\headrulewidth{0pt}%
}
\usepackage{kantlipsum}
\apptocmd\appendix{%
  \titlespacing*{\section}{0cm}{0cm}{2pt}%pbk
  \titleformat{\section}[display]{\Huge\filleft\scshape}{ \normalfont\bfseries\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}\thispagestyle{ancy}]
}{\typeout{Appendices title formatting successfully patched. Expect the expected.}}{\typeout{Appendices title formatting could not be patched. Unexpected results paradoxically to be expected.}}
\begin{document}
\section{A section}
\kant[1-4]
\section{Another section}
\kant[5]
\appendix
\section{The first appendix}
\kant[6-8]
\end{document}

keine Überschriften für neue Abschnitte in Anhängen

Beachten Sie, dass dies eine wörtliche Interpretation Ihrer Beschreibung ist und möglicherweise nicht Ihren Wünschen entspricht. Insbesondere:

  • \sectionFolgendes \appendixleert die Kopfzeile auf der aktuellen Seite, auch wenn die Seite auch ein „ \sectionVorheriges“ enthält \appendix;
  • Die folgenden Seiten \appendixenthalten eine Standardkopfzeile, wenn sie nicht enthalten \section.

\appendixWenn Sie überhaupt keine Header danach möchten , können Sie Folgendes verwenden:

\apptocmd\appendix{%
  \pagestyle{ancy}%
  \titlespacing*{\section}{0cm}{0cm}{2pt}%pbk
  \titleformat{\section}[display]{\Huge\filleft\scshape}{ \normalfont\bfseries\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}\thispagestyle{ancy}]
}{\typeout{Appendices title formatting successfully patched. Expect the expected.}}{\typeout{Appendices title formatting could not be patched. Unexpected results paradoxically to be expected.}}

überhaupt keine Überschriften in Anhängen

Die anderen Möglichkeiten hier sind komplexer, daher werde ich nur bei Bedarf darüber nachdenken. In diesem Fall werde ich mit Ihrem aktuellen Code für die Header arbeiten, da es an diesem Punkt wahrscheinlich am einfachsten ist, davon abzuweichen fancyhdr. titlepsergänzt titlesecund würde hier gut funktionieren.

BEARBEITEN BEARBEITEN

Als Antwort auf Ihre Frage, ob Sie \tableofcontentsauf ähnliche Weise patchen können, können Sie dies sicherlich tun. Ich muss jedoch zugeben, dass ich nicht ganz verstehe, wie genau alles aussehen soll, und ich konnte den Zweck des von Ihnen geposteten Codes nicht genau herausfinden. (Aber explizite Seitenumbrüche und Seitennummerierungen sollten nicht in der Definition eines Seitenstils enthalten sein.)

Ich tat dies:

\pretocmd\tableofcontents{%
  \titlespacing*{\section}{0cm}{0cm}{2pt}%pbk
  \titleformat{\section}[display]{\Huge\filleft\scshape}{ \normalfont\bfseries\fontfamily{put}\fontseries{b}\fontsize{95pt}{0pt}\selectfont\thesection}{20pt}{}[\titlerule\vspace{2ex}\filright\vspace{2ex}\thispagestyle{ancy}]
}{\typeout{Contents title formatting successfully patched. Expect the expected.}}{\typeout{Contents title formatting could not be patched. Unexpected results paradoxically to be expected.}}
\apptocmd\tableofcontents{%
  \titlespacing*{\section}{0pt}{*5}{*2.5}%
  \titleformat{\section}[hang]{\normalfont\Large\bfseries}{\thesection}{1.5em}{}[\thispagestyle{fancy}]
}{\typeout{Contents title formatting successfully patched again. Expect the expected.}}{\typeout{Contents title formatting could not be patched again. Unexpected results paradoxically to be expected.}}

was mir dies gibt

ausgefallener Inhalt

bookAber ich vermute jetzt, dass Sie wirklich nur die falsche Klasse verwenden. Wenn Sie oder verwenden würden, reportwäre viel mehr davon sowieso für Sie da. Mit bookerhalten Sie beispielsweise eine \frontmatter, \mainmatter and\backmatter which are starting to look suspiciously like code you are trying to create here. If so, don't reinvent the wheel - use the right tool for the job and choosebook or abook`-ähnliche Klasse.

verwandte Informationen