Sie sind hier

Abschließende Punkte bei Nummerierung der Gliederungsebene

Hallo!

Bin mir nicht ganz sicher, ob das noch ein Anfänger-Problem ist, aber ist sicherer hier ;-)

Ausgangsproblem: Ich möchte unterhalb der Subsection (im scrbook) eine Gliederungsebene mit (a), (b),... haben, da eine weitere Nummerierung an der Stelle nicht sinnvoll wäre. Mir sind zwei Lösungsvorschläge eingefallen:

  1. Itemize-Umgebung: Klar wäre das möglich und wohl auch die sauberste Lösung, aber doch sehr aufwendig, da man sämtliche Abstände und Textformatierungen so definieren müsste, wie sie in der Subsubsection ohnehin existieren.
  2. Subsubsection: Da durch das Umdefinieren Buchstaben ins Spiel kommen (einen Anhang gibt es außerdem), setzt KOMA einen Punkt an die neu definierte Ebene: (a). etc. Wenn ich nichts übersehen habe, müsste ich also das automatische Setzen des Punkts ausschalten und die oberen Ebenen (Chapter bis Subsection) mit Punkt neu definieren:
    \documentclass[numbers=noendperiod]{scrbook}
     
    \addtocounter{secnumdepth}{1}
    \renewcommand{\thesubsubsection}{(\alph{subsubsection})}
    \renewcommand{\thesubsection}{\thesection\arabic{subsection}.}
    \renewcommand{\thesection}{\thechapter\arabic{section}.}
    \renewcommand{\thechapter}{\arabic{chapter}.}
     
    \begin{document}
    \chapter{Chapter 1}
    \section{Section 1}
    \subsection{Subsection 1}
    \subsubsection{Subsubsection 1}
    \subsubsection{Subsubsection 2}
    \end{document}

    Leider führt das nur dazu, dass auch alle Gleichungs-Nummerierungen im Text einen zusätzlichen Punkt bekommen.

Nun meine Fragen dazu:

  1. Habe ich wirklich nichts übersehen oder gibt es doch noch eine Möglichkeit, den Punkt nur für die 3. Ebene oder ggf. auch einzelne \subsubsection-Aufrufe auszustellen?
  2. Wie würdet Ihr Euch zwischen den beiden o. g. Alternativen entscheiden? Ist die 2. OK oder empfindet Ihr die als "Quick and Dirty"? Und wenn ja, wie bekomme ich den Punkt an anderer Stelle wieder weg?
Bild von Markus Kohm

Gerade keine Zeit, aber schau Dir mal \othersectionlevelsformat in der KOMA-Script-Anleitung und in anderen Forenbeiträgen an.

Bild von Markus Kohm

Hier nun das Beispiel zu dem Vorschlag:

\documentclass{scrbook}
 
\addtocounter{secnumdepth}{1}
\renewcommand*{\thesubsubsection}{\alph{subsubsection}}
\makeatletter
\renewcommand*{\p@subsubsection}{\thesubsection\autodot}
\makeatother
\renewcommand*{\othersectionlevelsformat}[3]{%
  \ifstr{#1}{subsubsection}{(#3)}{#3\autodot}\enskip}
 
\begin{document}
\tableofcontents
\chapter{Chapter 1}
See \ref{ssec:test}. It's correct not to use \textbf{(\kern1pt\dots)} at
references!
\section{Section 1}
\subsection{Subsection 1}
\subsubsection{Subsubsection 1}\label{ssec:test}
\subsubsection{Subsubsection 2}
\end{document}

Was \p@Zählername macht, ist AFAIR im KOMA-Script-Buch erwähnt. Ansonsten findest Du es leicht heraus, wenn Du die Umdefinierung auskommentierst zwei LaTeX-Läufe machst, und das Ergebnis bei der Referenz vergleichst.

\ifstr sollte im Befehlsindex der KOMA-Script-Anleitung zu finden sein.

Bild von Markus Kohm

Du hast ein vollständiges Minimalbeispiel mitgeliefert. Du hast dafür code-Tags verwendet. Du hast IMHO klar und verständlich formuliert, was Du willst und wo Du die Probleme siehst. Du hast in der KOMA-Script-Anleitung nachgelesen und kennst Dich deshalb mit Dingen wie der Option numbers aus. Du hast offenbar auch recherchiert oder genug Erfahrung, um \thesubsubsection etc. umzudefinieren. Ich sehe deshalb keines der typischen Kriterien für eine Klassifizierung als Anfängerfrage.

Moin!

Habe irgendwie zu spät hier geguckt und war schon weiter - habe es dementsprechend noch anders gelöst: Über Regelsätze. Die kann man mit dem amsthm-Paket so konfiguieren, dass sie eine Nummer bzw. einen Buchstaben anzeigen und dahinter den Text, der beim Standard-Theorem in Klammern steht - also den optionalen Parameter.

\usepackage{amsthm}
 
\newtheoremstyle{erw}							% name
  {3.25ex plus1ex minus.2ex}						% Space above, empty = `usual value'
  {}									% Space below
  {}									% Body font
  {}									% Indent amount (empty = no indent, \parindent = para indent)
  {\bfseries\sffamily}							% Thm head font
  {}									% Punctuation after thm head
  {\newline}								% Space after thm head: \newline = linebreak
  {\thmnumber{(#2)}\thmnote{ #3}\vspace{1.5ex plus.2ex}}		% Thm head spec
 
\theoremstyle{erw}
\newtheorem{erwei}{Erweiterung}
 
\renewcommand*{\theerwei}{\alph{erwei}}

Ist mir lieber so, da ich dann nicht an die Eingeweide von KOMA-Script muss :-)

Was Anfänger oder auch nicht betrifft: LaTeX-Anfänger und Forum-Anfänger bin ich tatsächlich nicht, aber mit KOMA-Script arbeite ich halt zum ersten Mal.

Danke jedenfalls für die schnelle Antwort. Werde mir das bei Gelegenheit auch noch einmal zu Gemüte führen!

Comments for "Abschließende Punkte bei Nummerierung der Gliederungsebene" abonnieren