DeclareNewSection - mit Modifikationen Thema ist als GELÖST markiert

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


marco_polo
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: So 11. Jul 2021, 18:48

DeclareNewSection - mit Modifikationen

Beitrag von marco_polo »

Moin,

ich würde gerne ein neues Section-Format definieren, was nahezu identisch mit dem "normalen" \section mit ein paar Modifikationen.

1. keine Nummerierung
2. im Inhaltsverzeichnis in Kapitälchen
3. im Inhaltsverzeichnis keine vertikalen Pünktchen

MWE:
\documentclass[a4paper,numbers=noenddot]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\DeclareNewSectionCommand[
style=section,
level=0,
counterwithin=section,
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1.5ex plus .2ex,
font=\Large,
tocindent=0em,
tocnumwidth=0em,
%tocbeforeskip=1em,
]{sectionB}

\DeclareTOCStyleEntry[entryformat=\normalfont\scshape]{tocline}{sectionB} 


\begin{document}
	
	\tableofcontents
	\newpage
	
\sectionB{Vorwort}
\blindtext
	
\section{Kapitel}
\blindtext

\section{Kapitel}
\blindtext

\sectionB{Vorwort}
\blindtext
	
\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: DeclareNewSection - mit Modifikationen

Beitrag von KOMA »

Auch, wenn mir schleierhaft ist, was der Sinn davon sein soll, ist das eine leichte Übung:
\documentclass[a4paper,numbers=noenddot]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\DeclareNewSectionCommand[
style=section,
level=10,% Keine Nummerierung durch hohen Level
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1.5ex plus .2ex,
font=\usekomafont{section},% Gleiche Schrift wie Section
toclevel:=section,% Im Inhaltsverzeichnis aber selber Level wie section
tocindent=0em,
tocnumwidth=0em,
tocentryformat=\textsc,
toclinefill=\hfill,
tocbeforeskip:=section
]{sectionB}


\begin{document}
	
	\tableofcontents
	\newpage
	
\sectionB{Vorwort}
\blindtext
	
\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\sectionB{Vorwort}
\blindtext
	
\end{document}
Aber der nächsten Release bzw. der aktuellen Pre-Release geht es (derzeit inoffiziell) noch einfacher:
\documentclass[a4paper,numbers=noenddot]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\DeclareNewSectionCommand[
style=section,
level=10,% Keine Nummerierung durch hohen Level
beforeskip:=section,
afterskip:=section,
font=\usekomafont{section},% Gleiche Schrift wie Section
toclevel:=section,% Im Inhaltsverzeichnis aber selber Level wie section
tocindent=0em,
tocnumwidth=0em,
tocentryformat=\textsc,
toclinefill=\hfill,
tocbeforeskip:=section
]{sectionB}


\begin{document}
	
	\tableofcontents
	\newpage
	
\sectionB{Vorwort}
\blindtext
	
\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\sectionB{Vorwort}
\blindtext
	
\end{document}
Statt dem Trick mit level darf man natürlich auch gerne den sauberen Weg gehen:
\documentclass[a4paper,numbers=noenddot,headings=optiontotocandhead]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\DeclareNewSectionCommand[
style=section,
level=\sectionnumdepth,
beforeskip:=section,
afterskip:=section,
font=\usekomafont{section},% Gleiche Schrift wie Section
tocindent=0em,
tocnumwidth=0em,
tocentryformat=\textsc,
toclinefill=\hfill,
tocbeforeskip:=section
]{sectionB}


\begin{document}
	
	\tableofcontents
	\newpage
	
\sectionB[nonumber=true]{Vorwort}
\blindtext
	
\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\sectionB[nonumber=true]{Vorwort}
\blindtext
	
\end{document}
Wenn einfach alle nicht nummerierten Einträge in Kapitälchen sein sollen, gibt es übrigens noch einen anderen Trick:
\documentclass[a4paper,numbers=noenddot,headings=optiontotocandhead]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\makeatletter
\BeforeStartingTOC[toc]{%
  \l@addto@macro\nonumberline{\normalfont\scshape}%
}
\makeatother

\begin{document}
	
\tableofcontents
	
\addsec{Vorwort}
\blindtext
	
\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\addsec{Vorwort}% Hinten ein Vorwort? Wirklich? Ganz sicher?
\blindtext
	
\end{document}
Das ist aber ein wirklich hässlicher, kleiner Trick und ohne Gewähr. Wenn man also nicht verstanden hat, wie der funktioniert, sollte man besser die Finger davon lassen, sonst wundert man sich eventuell, weil irgend etwas nicht so funktioniert, wie man es erwarten würde. Es ginge nämlich auch sauberer und nur für die section-Ebene:

\documentclass[a4paper,numbers=noenddot,headings=optiontotocandhead]{scrartcl}

\setkomafont{disposition}{\normalcolor\bfseries} %Überschriften auch in Serifenschrift
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\DeclareTOCStyleEntry[level:=section,indent:=section,numwidth:=section,entryformat=\normalfont\textsc,pagenumberformat=\normalfont,linefill:=section,beforeskip:=section]{section}{sectionnonumber}

\renewcommand*{\addsectiontocentry}[2]{%
  \IfArgIsEmpty{#1}{%
    \addtocentrydefault{sectionnonumber}{#1}{#2}%
  }{%
    \addtocentrydefault{section}{#1}{#2}%
  }%
}

\begin{document}
	
\tableofcontents
	
\addsec{Vorwort}
\blindtext
	
\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\addsec{Vorwort}% Hinten ein Vorwort? Wirklich? Ganz sicher?
\blindtext
	
\end{document}
Auch hier empfehle ich, alle verwendeten Anweisungen und Optionen noch einmal in der Anleitung oder im Buch nachzulesen.

Antworten