
Ich möchte eine neue Überschriftenart erstellen. Die Überschrift soll so aussehen.
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 \section
ab 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}
BEARBEITEN
In den Kommentaren haben Sie gefragt, wie Sie dies ändern können, um leere Kopfzeilen auf Seiten zu erhalten, auf denen \section
after \appendix
ausgegeben 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}
Beachten Sie, dass dies eine wörtliche Interpretation Ihrer Beschreibung ist und möglicherweise nicht Ihren Wünschen entspricht. Insbesondere:
\section
Folgendes\appendix
leert die Kopfzeile auf der aktuellen Seite, auch wenn die Seite auch ein „\section
Vorheriges“ enthält\appendix
;- Die folgenden Seiten
\appendix
enthalten eine Standardkopfzeile, wenn sie nicht enthalten\section
.
\appendix
Wenn 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.}}
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
. titleps
ergänzt titlesec
und würde hier gut funktionieren.
BEARBEITEN BEARBEITEN
Als Antwort auf Ihre Frage, ob Sie \tableofcontents
auf ä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
book
Aber ich vermute jetzt, dass Sie wirklich nur die falsche Klasse verwenden. Wenn Sie oder verwenden würden, report
wäre viel mehr davon sowieso für Sie da. Mit book
erhalten 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 choose
book or a
book`-ähnliche Klasse.