subsection Nummerierung

Schriftbild, Absätze und Auflistungen einstellen


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

Beitrag von KOMA »

Wenn Du \numberline umdefinierst und dabei \autodot aus der Definition rauswirfst, darfst Du Dich nicht wundern, dass es nicht mehr ausgeführt wird ...

der--reisende

Beitrag von der--reisende »

Ja das stimmt...
Aber wenn ich /autodot in die /numberline einfüge bekommen alle Einträge nach der ersten Kalmmer auch Klammer...
\usepackage{times}\documentclass[12pt]{scrreprt} 

\usepackage[latin1]{inputenc}

\usepackage[a4paper , tmargin = {2.5cm} , bmargin = {3.5cm} ]{geometry}
\usepackage{graphicx}
\usepackage{eurosym}
\usepackage{setspace}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc} 
\usepackage[latin1]{inputenc}


\renewcommand*{\thechapter}{\Alph{chapter}}
\renewcommand*{\thesection}{\Roman{section}}
\renewcommand*{\thesubsection}{\arabic{subsection}}   
\renewcommand*{\thesubsubsection}{\alph{subsubsection}}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}  

\makeatletter

\newif\if@altsecnumbrace% vielleicht eine Klammer?
% Den automatischen Punkt umdefinieren in Punkt oder Klammer
\renewcommand*{\autodot}
{
  \if@altsecnumformat% aus der Originaldefinition
    \if@altsecnumbrace% neu
     )
     % neu
    \else% neu
      .% aus der Originaldefinition
    \fi% neu
  \fi% aus der Originaldefinition
  \@altsecnumbracefalse% neu
}

% Inhaltsverzeichniseintrag
\newcommand*\OriginalL@SubSubSection{}
\let\OriginalL@SubSubSection\l@subsubsection
\renewcommand*{\l@subsubsection}{\@altsecnumbracetrue\OriginalL@SubSubSection}

% Für den Fall, dass unten \ref{subsubsec} direkt zu "A I 1 a" führen soll,
% die nachfolgenden drei Zeilen aktivieren:
%\renewcommand*{\p@section}{\thechapter~}
%\renewcommand*{\p@subsection}{\p@section\thesection~}
%\renewcommand*{\p@subsubsection}{\p@subsection\thesubsection~}

% Gliederungsnummernformatierung in der Überschrift
\newcommand*\OriginalOtherSectionLevelsFormat{}
\let\OriginalOtherSectionLevelsFormat\othersectionlevelsformat
\renewcommand*{\othersectionlevelsformat}[1]{%
  \begingroup
    \edef\istlevel{#1}\def\solllevel{subsubsection}%
    \ifx\istlevel\solllevel\aftergroup\@altsecnumbracetrue\fi
  \endgroup
  \OriginalOtherSectionLevelsFormat{#1}%
}

% Gliederungsnummer
\renewcommand{\numberline}[1]{  \makebox[0.25cm][l]{#1}\autodot\hspace{3mm}}

% chapter
\renewcommand{\l@chapter}[2]{
  \addvspace{2ex}%                      vert. Abstand
  \pagebreak[3]%                        Seitenumbruch hier erlauben
  \noindent%                            nicht einrücken
 \makebox[0pt][l]{%                    Box für Linie
    \rule[-3pt]{\textwidth}{0.5pt}}
  {\large\textbf{#1}}\hfill#2%          Text +  Nummer
  \par%                                 Zeilenumbruch
  \nopagebreak%                         Seitenumbruch nicht erlauben
  \addvspace{1ex}%                      vert. Abstand
}

\makeatother
\begin{document}
\tableofcontents
\chapter{Chapter}
\dots
\section{Section}
\dots
\subsection{Subsection}
\dots
\subsubsection{Subsubsection}
\dots
\subsection{Subsection}
\dots
\chapter{Chapter}
\dots
\end{document}
????

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

Beitrag von KOMA »

der--reisende hat geschrieben:Ja das stimmt...
Aber wenn ich /autodot in die /numberline einfüge bekommen alle Einträge nach der ersten Kalmmer auch Klammer...
\usepackage{times}\documentclass[12pt]{scrreprt}
Was ist eigentlich so schwer daran ein Minimalbeispiel einzustellen, das keine Fehler produziert (hier gibt es schon einen in der ersten Zeile), und einen Satz zu formulieren, den auch Deppen wie ich auf Anhieb verstehen können?
der--reisende hat geschrieben:
% Den automatischen Punkt umdefinieren in Punkt oder Klammer 
\renewcommand*{\autodot} 
{ 
  \if@altsecnumformat% aus der Originaldefinition 
    \if@altsecnumbrace% neu 
     ) 
     % neu 
    \else% neu 
      .% aus der Originaldefinition 
    \fi% neu 
  \fi% aus der Originaldefinition 
  \@altsecnumbracefalse% neu 
}
Füge mal in der vorletzten Zeile ein \global vor \@altsecnumbracefalse ein.

Übrigens: Deine \l@chapter Redefinition zerbricht die Fähigkeit von KOMA-Script im Inhaltsverzeichnis Umbrüche an bestimmten Stellen zu priorisieren.

der--reisende

Beitrag von der--reisende »

Vielen Dank für die schnelle und kompetente Antwort trotz blödem Minimalbeispiel und schlecht formulierter Frage. -sorry-

Funktioniert jetzt alles hervorragend
vielen vielen Dank

Gast

Beitrag von Gast »

Tut mir leid, wenn ich den Thread wieder ausgrabe, aber:

In meinem Dokument möchte ich folgende Nummerierung erreichen:

3 Obst (<-- chapter)
3.1 Äpfel (<-- section)
1.1 Schlauer Spruch (<-- subsection)
1.2 Blabla (<-- subsection)
.
.
.

Ich weiß, dass das mit
\renewcommand*{\thesubsection}{???}
geregelt wird; allerdings weiß ich nicht, was da als zweites Argument richtig ist.

Kann wer helfen?[/code]

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2573
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Hallo,

das geht mit:
\renewcommand*{\thesubsection}{\arabic{section}.\arabic{subsection}}
Du brauchst keinen alten thread auszugraben, beginne einfach einen neuen. Das macht alles etwas klarer. Sonst ist ein thread-Status (beantwortet, offen etc.) ja nichtssagend.

Viele Grüße,

Stefan

Gast

Beitrag von Gast »

Ich werd beim nächsten mal daran denken ;)

Witzig: Ich hatte die Lösung selber schon gefunden, noch bevor ich deinen Beitrag gelesen habe. In meiner Lösung steht allerdings \text{.} anstatt nur der Punkt.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2573
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

\text ist ein amsmath (amstext) macro, um Text in automatisch passender Größe in Formeln einzufügen. Hier ist es unnötig, da kein Mathematik-Modus verwendet wird, ein normaler Punkt genügt.

Stefan

Gast

Beitrag von Gast »

Ah, gut zu wissen.
Im Moment schreibe ich mein Analysis-Skript auf, von daher kann es sein, dass ich in Zukunft noch öfters hier vorbeischauen werde ;)

Antworten