DeclareNewSection - mit Modifikationen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: DeclareNewSection - mit Modifikationen

Re: DeclareNewSection - mit Modifikationen

von KOMA » Mo 10. Okt 2022, 16:21

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.

DeclareNewSection - mit Modifikationen

von marco_polo » Mo 10. Okt 2022, 15:34

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}

Nach oben