goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 101181
Top-Poster: Johannes_B (5068)

Wir begrüßen unseren neuesten Benutzer CodeIt.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Änderung der Nummerierung von Überschriften

 

Gast1
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.09.2008, 16:54     Titel: Änderung der Nummerierung von Überschriften
  Antworten mit Zitat      
1. Frage:

Ich möchte gern eine kleine Abhandlung in Tex schreiben, die aus mehreren Kapiteln besteht. Bislang habe ich dazu den "scrreprt" genutzt. Zur besseren Abgrenzung der Kapitel würde ich gern statt der automatischen Nummerierung Großbuchstaben verwenden. Die Überschriften dieser Kapitel sollten dann wieder automatisch nummeriert werden.

Halt in der Form:

A. Sonne
1. Größe
1.1 ...
1.2 ...
2. Zusammensetzung

B. Mond
1. Größe
1.1 ...
1.2 ...
2. Zusammensetzung

C. Erde
1. Größe
1.1 ...
1.2 ...
2. Zusammensetzung

Im userguide zum KOMA-Package, titlesec und tocloft habe ich keine Hinweise gefunden, welche Einstellungen vorzunehmen sind. Kann mir hierzu jemand eine Tip geben bzw. einen Hinweis, wo ich darüber etwas lesen könnte?

2. Frage:

Gibt es eine Möglichkeit Überschriften auch ohne Nummerierung ins Inhaltsverzeichnis einzutragen?

Vielen Dank schon einmal im Voraus.

Stefan Kottwitz
Admin
Admin


Beiträge: 1971
Anmeldedatum: 07.07.08
Wohnort: Hamburger Netzwerk-Spezialist
Version: TeX Live 2019
     Beitrag Verfasst am: 17.09.2008, 18:31     Titel: Alphabetische Nummerierung von Kapiteln
  Antworten mit Zitat      
Hallo,

  1. verwende in der Präambel:
    Code
    \renewcommand*\thechapter{\Alph{chapter}}

  2. unnummerierte Überschriften erhältst Du mit \chapter*, \section* etc. bzw. \addchap, \addchap* usw. siehe KOMA-Script-Doku. Du kannst auch einstellen, bis zu welcher Tiefe Überschriften generell nummeriert werden sollen. Oder sollen sie im Text nummeriert werden, im Inhaltsverzeichnis jedoch nicht? Das hielte ich für inkonsistent. Evtl. beschreibe genauer, was Dir vorschwebt, falls die obigen Befehle nicht passen sollen. Ggf. kann man immer noch mit \addcontentsline oder \addtocontents Einträge in das Verzeichnis vornehmen.

Viele Grüße,

Stefan
Private Nachricht senden Benutzer-Profile anzeigen

KOMA
TeX-Entwickler
TeX-Entwickler


Beiträge: 2637
Anmeldedatum: 04.07.08
Wohnort: ---
Version: Ich bin hier nicht mehr zu erreichen!
     Beitrag Verfasst am: 18.09.2008, 11:57     Titel:
  Antworten mit Zitat      
In Ergänzung zu Stefans Antwort:

Falls Nummern in den Überschriften der \section-Ebene tatsächlich die Nummer der \chapter-Ebene nicht enthalten soll, dann ist zusätzlich
Code
\renewcommand*{\thesection}{\arabic{section}}
\renewcommand*{\p@section}{\thechapter.}% Wegen @ im Makronamen den zusätzlichen Hinweis im Text beachten!

zu verwenden. Die erste Zeile nimmt die \chapter-Ebene aus den Nummern der \section-Ebene heraus, die zweite Zeile sorgt dafür, dass beim Referenzieren die Kapitelnummer wieder Teil der Gliederungsnummer wird. Es könnte sein, dass genau das dann auch noch für alle weiteren Ebenen gemacht werden muss. Ich weiß jetzt auswendig nicht, ob die \p@Gliederungebene automatisch vererbt werden.

Es ist zu beachten, dass Makros mit @ im Namen nur in Klassen- und Paketdateien (und lco-Dateien von KOMA-Script) verwendet, definiert oder umdefiniert werden können. Soll ein solcher Makronamen in der Dokumentpräambel verwendet werden, so ist vor dem entsprechende Teil der Präambel \makeatletter und danach \makeatother zu setzen! Näheres dazu ist auch der De-TeX-FAQ zu entnehmen.
_________________

goLaTeX-Knigge (mit Themen Minimalbeispiel und So stellst Du Deine Frage richtig)
DE-TeX-FAQ, UK-FAQ, l2kurz, l2tabu, CTAN, The TeX Catalogue
KOMA-Script
Ich bin hier nicht mehr zu erreichen!
Private Nachricht senden Benutzer-Profile anzeigen

Gast1
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2008, 19:51     Titel:
  Antworten mit Zitat      
Vielen Dank für die Hilfe. Nachdem die erste Anweisung

Code
\renewcommand*\thechapter{\Alph{chapter}}


einen Großbuchstaben für das Kapitel (und auch vorangestellt für die Nummerierung der section-Einträge) bewirkt, verschwindet der Großbuchstabe durch die nächste Anweisung wieder und die Nummerierung der section-Einträge erfolgt wie gewohnt. Das Ergebnis ist genau so, wie ich es mir vorgestellt habe. Very Happy

Code
\renewcommand*{\thesection}{\arabic{section}}


Nur die dritte Codezeile

Code
\renewcommand*{\p@section}{\thechapter.}% Wegen @ im Makronamen den zusätzlichen Hinweis im Text beachten!


incl. der Erläuterungen mit den @-Makros habe ich ehrlich gesagt noch nicht verstanden, was aber daran liegt, dass ich mich noch nicht allzulange mit Latex beschäftige. Bis zum Aha-Effekt kommt, brauchts noch etwas... Wink

Beim testen der dritten Zeile habe ich übrigens folgende Fehlermeldung erhalten:

Code
! LaTeX Error: Missing \begin{document}.


Hatte die Anweisung direkt nach den beiden anderen im Vorspann der .tex-Datei und vor dem Beginn des eigentlichen Dokuments eingebunden. Beim Voranstellen eines % lief's problemlos.

zu 2. Nein, Inkonsistenz will ich bei der Überschrift und dem Inhaltsverzeichnis natürlich vermeiden. Beim probieren war mir nur aufgefallen, dass Überschriften, die mit "*" kennzeichnet sind, wie z. B. \section* im Text ohne Nummerierung erscheinen, aber nicht im Inhaltsverzeichnis angezeigt werden. Das war mir aufgrund meiner Word-Kenntnisse nicht logisch. Word übernimmt stur den Text, der als Überschrift im Rahmen der Formatvorlage definiert ist und insofern dachte ich, dieses würde auch in Latex funktionieren.

Insofern hat mir der Befehl \addcontentsline schon etwas die Augen geöffnet, so dass ich unter Verwendung der zweiten Codezeile (s.o.) schon ein ähnliches Ergebnis erreichen konnte. - Die Frage ist nur, will man das? Wink

Im Moment gibt es für mich noch unzählige unbekannte Befehle, die es zu entdecken gibt und eine richtige Systematik zum Lernen, abgesehen von den Dokumentaionen der einzelnen Packages und zig Diplomarbeiten, die immer ähnlich schreiben, hab ich noch nicht gefunden. Da hilft halt nur lesen und am Ball bleiben.

In diesem Sinne, noch einmal vielen Dank für die Antworten und viele Grüße.

KOMA
TeX-Entwickler
TeX-Entwickler


Beiträge: 2637
Anmeldedatum: 04.07.08
Wohnort: ---
Version: Ich bin hier nicht mehr zu erreichen!
     Beitrag Verfasst am: 19.09.2008, 07:16     Titel:
  Antworten mit Zitat      
Gast1 hat Folgendes geschrieben:
Nur die dritte Codezeile

Code
\renewcommand*{\p@section}{\thechapter.}% Wegen @ im Makronamen den zusätzlichen Hinweis im Text beachten!


incl. der Erläuterungen mit den @-Makros habe ich ehrlich gesagt noch nicht verstanden

...
Gast1 hat Folgendes geschrieben:
Beim testen der dritten Zeile habe ich übrigens folgende Fehlermeldung erhalten:

Code
! LaTeX Error: Missing \begin{document}.

Die Fehlermeldung liegt daran, dass Du den Hinweis auf \makeatother und \makeatletter nicht beachtet hast. Eigentlich sollte die Erklärung nicht sonderlich schwer zu verstehen sein, insbesondere wenn man dann wirklich in der De-TeX-FAQ nach \makeatletter sucht. Wie dem auch sei: Hier noch einmal mit einem vollständigen Minimalbeispiel:
Code
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}

\renewcommand*{\thechapter}{\Alph{chapter}}% Kapitel mit Großbuchstaben
\renewcommand*{\thesection}{\arabic{section}}% Abschnitte mit arabischen
                                % Zahlen ohne Kapitelzähler
\makeatletter% Soll ein Makronamen mit @ in der Dokumentpräambel verwendet
             % werden, so ist vor dem entsprechende Teil der Präambel
             % \makeatletter zu setzen.
\renewcommand*{\p@section}{\thechapter.}% Referenzen von Abschnitten wird die
                                % Kapitelnummer vorangestellt, um die
                                % Abschnitte der unterschiedlichen Kapitel
                                % unterscheiden zu können.
\renewcommand*{\p@subsection}{\p@section}% Referenzen von Unterabschnitten
                                % wird der Parent der Abschnitte vererbt.
\renewcommand*{\p@subsubsection}{\p@section}% Referenzen von
                                % Unterunterabschnitten wird der Parent der
                                % Unterabschnitte vererbt.
\renewcommand*{\p@paragraph}{\p@section}% Referenzen von
                                % Unterunterunterabschnitten wird der Parent
                                % der Unterunterabschnitte vererbt.
\renewcommand*{\p@subparagraph}{\p@section}% Referenzen von
                                % Unterunterunterunterabschnitten wird der
                                % Parent der Unterunterunterabschnitte
                                % vererbt.
\makeatother% Soll ein Makronamen mit @ in der Dokumentpräambel verwendet
            % werden, so ist nach dem entsprechende Teil der Präambel
            % \makeatother zu setzen.

\begin{document}
\tableofcontents
\chapter{Sonne}\label{cha:sun}
\dots
\section{Größe}\label{sec:sun.size}
\dots
\subsection{\dots}\label{ssec:sun.size.1}
\dots
\subsection{\dots}\label{ssec:sun.size.2}
\dots
\section{Zusammensetzung}
\dots

\chapter{Mond}\label{cha:moon}
\dots
\section{Größe}\label{sec:moon.size}
\dots
\subsection{\dots}\label{ssec:moon.size.1}
\dots
\subsection{\dots}\label{ssec:moon.size.2}
\dots
\section{Zusammensetzung}
\dots

\chapter{Erde}\label{cha:earth}
Siehe auch Kapitel~\ref{cha:sun} und \ref{cha:moon}.
\section{Größe}\label{sec:earth.size}
Siehe auch Abschnitt~\ref{sec:sun.size} und \ref{sec:moon.size}.
\subsection{\dots}\label{ssec:earth.size.1}
Siehe auch Abschnitt~\ref{ssec:sun.size.1} und \ref{ssec:moon.size.1}.
\subsection{\dots}\label{ssec:earth.size.2}
Siehe auch Abschnitt~\ref{ssec:sun.size.2} und \ref{ssec:moon.size.2}.
\section{Zusammensetzung}
\dots
\end{document}

Wenn Du jetzt noch nicht verstanden hast, was die \p@Gliederungsebene bewirken, dann kommentier sie einfach mal von unten nach oben eine nach der anderen aus, mach danach jeweils zwei LaTeX-Läufe und schau Dir Seite 4 des Ergebnisses an. Spätestens, wenn Du die Umdefinierung von \p@subsection auskommentierst, solltest Du einen Unterschied sehen und auch erkennen, warum diese Umdefinierung sinnvoll ist.

Und dann liest Du bitte noch min. 8.5.1. in der De-TeX-FAQ. Link auf die De-TeX-FAQ gibt es in der Signatur meiner Beiträge. Anfängern sei außerdem empfohlen sich auch über die anderen Dokumente in meiner Signatur einen Überblick zu verschaffen.
_________________

goLaTeX-Knigge (mit Themen Minimalbeispiel und So stellst Du Deine Frage richtig)
DE-TeX-FAQ, UK-FAQ, l2kurz, l2tabu, CTAN, The TeX Catalogue
KOMA-Script
Ich bin hier nicht mehr zu erreichen!

Zuletzt bearbeitet von KOMA am 19.09.2008, 08:37, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

steve
Forum-Anfänger
Forum-Anfänger

Beiträge: 45
Anmeldedatum: 09.07.08
Wohnort: Magdeburg
Version: MiKTeX 2.7
     Beitrag Verfasst am: 19.09.2008, 07:20     Titel:
  Antworten mit Zitat      
Gast1 hat Folgendes geschrieben:

Nur die dritte Codezeile

Code
\renewcommand*{\p@section}{\thechapter.}% Wegen @ im Makronamen den zusätzlichen Hinweis im Text beachten!

[...]
Beim testen der dritten Zeile habe ich übrigens folgende Fehlermeldung erhalten:

Code
! LaTeX Error: Missing \begin{document}.


Hatte die Anweisung direkt nach den beiden anderen im Vorspann der .tex-Datei und vor dem Beginn des eigentlichen Dokuments eingebunden. Beim Voranstellen eines % lief's problemlos.


Die Lösung für dein Problem hat KOMA schon gegeben:
KOMA hat Folgendes geschrieben:

Es ist zu beachten, dass Makros mit @ im Namen nur in Klassen- und Paketdateien (und lco-Dateien von KOMA-Script) verwendet, definiert oder umdefiniert werden können. Soll ein solcher Makronamen in der Dokumentpräambel verwendet werden, so ist vor dem entsprechende Teil der Präambel \makeatletter und danach \makeatother zu setzen! Näheres dazu ist auch der De-TeX-FAQ zu entnehmen.


Das bedeutet nichts weiter, als dass du folgendes schreiben musst:
Code
\makeatletter
\renewcommand*{\p@section}{\thechapter.}
\makeatother


Das es mit einem vorangestellten "%" funktioniert macht insofern Sinn, dass du die Zeile einfach auskommentiert hast und sie bei der Kompilierung nicht berücksichtigt wird.

Gruß
Alex
_________________

>> Output written on...
Private Nachricht senden Benutzer-Profile anzeigen

Gast1
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.09.2008, 18:48     Titel:
  Antworten mit Zitat      
Vielen Dank für die Erläuterungen. Das Minibeispiel und das anschließende Auskommentieren haben die Erleuchtung gebracht. Very Happy

Hab in der Zwischenzeit auch die vielen Literaturangaben gesichtet, insbesondere auch die DE-Tex-FAQ. Eine wahre Fundgrube...

In diesem Zusammenhang hätte ich noch eine weitere Frage zum Inhaltsverzeichnis.

Ich habe mit dem folgenden Code die subsection so umdefiniert, dass vor der Nummerierung das Wort "Aufgabe" erscheint. (Hintergrund: Ich will eine kleine Aufgaben/Lösungssammlung anlegen und probiere derzeit, wie ich eine vernüftige Dokumentenstruktur aufsetze, so dass wahlweise einmal nur die Aufgaben und dann auch die Aufgaben incl. Lösungen ausgedruckt werden können. Falls jemand eine Idee dazu hat - nur raus damit. Smile Doch das ist eine andere Baustelle - zurück zum Inhaltsverzeichnis.)

Durch die Umdefinierung der subsection war das Feld für die Nummerierung zu klein, so dass eventuell nachfolgender Überschriftentext in die "Aufgabe"-Nummerierung ragte. Das Problem konnte mit \@dottedtocline gelöst werden.

Frage: Ist es möglich, sich vor einer Umdefinierung von Makros deren derzeitigen Werte/Werte anzeigen zu lassen? Bei der Umdefinierung stand ich vor dem Problem, die neue \subsection mit der Hand und einem guten Augenmass ausrichten zu müssen.

Code
\renewcommand*{\thesubsection}{Aufgabe \arabic{subsection}} % Stellt das Wort "Aufgabe" vor die Nummerierung

\makeatletter
\renewcommand{\l@subsection}{\@dottedtocline{2}{3.8em}{5.1em}} % Vergrößert den Abstand zwischen Nummerierung und Inhalt
\makeatother

Stefan Kottwitz
Admin
Admin


Beiträge: 1971
Anmeldedatum: 07.07.08
Wohnort: Hamburger Netzwerk-Spezialist
Version: TeX Live 2019
     Beitrag Verfasst am: 26.09.2008, 18:56     Titel: Anzeige einer Makrodefinition
  Antworten mit Zitat      
Hallo,

Gast1 hat Folgendes geschrieben:

Frage: Ist es möglich, sich vor einer Umdefinierung von Makros deren derzeitigen Werte/Werte anzeigen zu lassen?


dafür kannst Du \show verwenden, die Ausgabe erfolgt in das logfile. Mit \showthe kannst Du z.B. die Werte von Längen ausgeben lassen.

Zudem kann man auch in den Quelltext der zugehörigen Klasse oder in die entsprechende Paket-Datei schauen, wenn man sich sicher ist, worin das Makro definiert wird.

Viele Grüße,

Stefan
Private Nachricht senden Benutzer-Profile anzeigen

Gast1
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2008, 20:11     Titel:
  Antworten mit Zitat      
Hallo Stefan,

vielen Dank für die Antwort und viele Grüße. Very Happy

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2020 goLaTeX.de