PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu tableofcontents



Leviathan0
28-06-2005, 14:52
Hi. Wiedereinmal bin ich am verzweifeln und hoffe auf euren Beistand.:)

Ist es möglich bei einem erstellten Inhaltsverzeichniss mit tableofcontents einige Einträge (Sections/Subsections/paragraphs) auszulassen? Also das manche nicht! mit in das Inhaltsverzeichnis mit eingetragen werden, aber dennoch im text mit durchnummeriert und als Section etc erkannt werden ?




Vielen dank im vorraus.

Salnic
28-06-2005, 14:53
\section*{blabla} statt \section ???

Salnic

Leviathan0
28-06-2005, 15:02
\section*{blabla} statt \section ???

Salnic



Vielen dank schonmal. Jetz steht die Untersektion zumindest nicht mehr im Inhaltsverzeichnis. Allerdings ist die "Untersektion" nun auch nicht mehr im Text mit nummeriert!.
also anstatt zB.
2.1.4.5 Hier Text
steht nun im Fliesstext
Hier Text <-- Wurde also nicht mehr mit nummeriert. Das möchte ich aber um in meinem Text später Referenzen zu bilden, im Text selbst kleine Inhaltsverzeichnisse zu erstellen und somit die übersichtlichkeit zu erhalten.

Leviathan0
29-06-2005, 06:59
Niemand ne Idee wie das funktionieren könnte?
Wenn das anders realisierbar ist immer her damit. Hauptsache es funktioniert irgendwie :- )

mwanaheri
29-06-2005, 07:39
Du wirst dir einen Befehl bauen müssen, der die jeweilige Überschrift imitiert und den Zähler raufsetzt, etwa in der Art
\providecommand{\specialsection}[1]{\section*{\arabic{section} #1}\addtocounter{section}{1}}

Allerdings: Wenn einige Einträge im Inhaltsverzeichnis nicht auftauchen, verzeichnet das "Inhaltsverzeichnis" doch nicht mehr wirklich den Inhalt,oder? Für den Leser ist so was verwirrend.

Leviathan0
29-06-2005, 08:13
oha... das sieht ja brachial aus.

Bin doch nur nen Anfänger :eek:
Aber danke dennoch.

hmm, verwirrend? naja, uns wurde es so vorgesetzt, dran ändern kann ich nichts. Das zu erstellende Dokument hat sehr viele Kapitel und geht des öfteren runter bis zu subparagraph. Denke mal hier hat man um das Inhaltsverzeichniss nicht zu voll zu "stopfen" manche Unterthemen, die sinngemäß zu einem Komplex gehören, ausgegliedert und später im Text als wieder kleines Inhaltsverzeichniss aufgeführt. Kleines Beispiel wie das dann im Fliesstext aussehen soll hab ich unten angehängt.

Habe den Originaltext eben mal umgeändert...
Weiter zur Erklärung;
Im Bild ist "Marmelade" nun eine Section die auch im Inhaltsverzeichniss aufgeführt wird. Die subsections wie Erdbeer etc. stehen Nicht! im Inhaltsverzeichniss sondern sind wie am Bild zu sehen im Fliesstext in einem eigenen Verzeichniss aufgeführt, werden aber mit durchnummeriert als ständen sie im normalen Inhaltsverzeichniss wo sie aber nicht mit aufgeführt werden, oder einfach wie auch immer unsichtbar gemacht werden...

mwanaheri
29-06-2005, 10:08
Das sieht nur wild aus (ist übrigens ungetestet! hab ich vergessen zu sagen)
\providecommand{\commando}[parameterzahl]{Kommandodefinition}
stellt ein neues Kommando bereit, so das noch nicht definiert war.

Die Definition sagt nichts weiter, als:
\section*{...} -- mach 'ne Überschrift ohne Nummer
\arabic{section} -- drucke die aktuelle Abschnittsnummer in arabischen Ziffern
#1 -- gib den übergebenen Parameter (die Überschrift) aus
\addtocounter{section}{1} -- setze den Zähler für die Überschrift eins rauf

Anwendung: \specialsection{Überschrift}

daswaldhorn
29-06-2005, 10:11
Hallo,
Im Bild ist "Marmelade" nun eine Section die auch im Inhaltsverzeichniss aufgeführt wird. Die subsections wie Erdbeer etc. stehen Nicht! im Inhaltsverzeichniss ...Für diesen Fall gibt es eine Einstellungsmöglichkeit, bis zu welcher Tiefe das Inhaltsverzeichnis erstellt wird. Habe den Befehl grade nicht im Kopf, aber du findest ihn über die SUFU. Für die kleinen Zwischenverzeichnisse gibts glaub ich auch ein Paket...

Grüße, Carsten

Leviathan0
29-06-2005, 10:20
Hallo,Für diesen Fall gibt es eine Einstellungsmöglichkeit, bis zu welcher Tiefe das Inhaltsverzeichnis erstellt wird. Habe den Befehl grade nicht im Kopf, aber du findest ihn über die SUFU. Für die kleinen Zwischenverzeichnisse gibts glaub ich auch ein Paket...

Grüße, Carsten


Daran hatte ich auch schon gedacht, allerdings würde ich das ja dann einheitlich festlegen. Leider ist dies aber nicht beabsichtigt, da nicht nur "Sections" ab einer bestimmten Tiefe nicht mehr mit angezeigt werden sollen, sondern dies eher dynamisch geschieht.
Im endeffekt einfach so ; \subsubsection*{text}
Effekt;
1. Wird nicht ins Inhaltsverzeichniss übernommen-> Richtig.
2. Automatische Nummerierung geht verloren-> Falsch, genau das soll nicht passieren..

Mit deiner Lösung würde ich ja dann ab einer gewissen Tiefe einfach sagen, so stopp nu nich mehr. Aber es kommt auch vor das zB. paragraph zb mal nicht mit erscheinen soll, ein anderes mal das selbige dann bei subsubsection...

edit; vielen dank für die erklärung des befehls, komme aber damit auch nicht weiter.
hab nen bisschen getestet, aber das funktioniert auch nicht. thx trotzdem

mwanaheri
29-06-2005, 10:23
Hallo,Für diesen Fall gibt es eine Einstellungsmöglichkeit, bis zu welcher Tiefe das Inhaltsverzeichnis erstellt wird. Habe den Befehl grade nicht im Kopf, aber du findest ihn über die SUFU. Für die kleinen Zwischenverzeichnisse gibts glaub ich auch ein Paket...

Grüße, Carsten
Richtig, wenn bestimmte Gliederungstypen wie z.B. subsection nicht rein sollen, section aber schon, reicht es, den tocdepth-Parameter neu zu setzen:

\setcounter{tocdepth}{2} z.B.

Welche Zahl das ist, hängt von der Dokumentklasse ab.
i.A. ist part = 0,
chapter = 1,
section = 2,
...

Das Setzen des Parameters müsste sich eigenlich auch im Dokument machen lassen, so dass z.B. im Kapitel 1 bis subsubsection aufgenommen wird, in Kapitel 2 aber nur bis section.

Leviathan0
29-06-2005, 10:32
Richtig, wenn bestimmte Gliederungstypen wie z.B. subsection nicht rein sollen, section aber schon, reicht es, den tocdepth-Parameter neu zu setzen:

\setcounter{tocdepth}{2} z.B.

Welche Zahl das ist, hängt von der Dokumentklasse ab.
i.A. ist part = 0,
chapter = 1,
section = 2,
...

Das Setzen des Parameters müsste sich eigenlich auch im Dokument machen lassen, so dass z.B. im Kapitel 1 bis subsubsection aufgenommen wird, in Kapitel 2 aber nur bis section.


Wie oben erwähnt hatte ich diese Möglichkeit auch kurz in Betracht gezogen, nur wie schon oben erwähnt kann ich aufgrund der Vorlage nicht alle Ebenen ab einer bestimmten Tiefe streichen. Leider, sonst wäre das Problem erst garnicht aufgekommen :/.
Kann man denn nicht die Befehle wie \chapter* \section* überschreiben, bzw. umschreiben? Einfach evt. bei der Option "mache bei diesem Befehl keine Nummerierung" ein "mache eine Nummerierung"...

mwanaheri
29-06-2005, 10:34
edit; vielen dank für die erklärung des befehls, komme aber damit auch nicht weiter.
hab nen bisschen getestet, aber das funktioniert auch nicht. thx trotzdem

Habe es auch gerade probiert und festgestellt, dass was fehlt:
1.) der Zähler muss erst raufgesetzt werden
2.) die anderen Zähler müssen ebenfalls bedacht werden, genau so wie die Punkte:
z.B.

\addtocounter{section}{1}\roman{part}.\roman{chapt er}.\roman{section}. #1

Was funktioniert denn nicht so, wie du es willst?

mwanaheri
29-06-2005, 10:38
Wie oben erwähnt hatte ich diese Möglichkeit auch kurz in Betracht gezogen, nur wie schon oben erwähnt kann ich aufgrund der Vorlage nicht alle Ebenen ab einer bestimmten Tiefe streichen. Leider, sonst wäre das Problem erst garnicht aufgekommen :/.
Kann man denn nicht die Befehle wie \chapter* \section* überschreiben, bzw. umschreiben? Einfach evt. bei der Option "mache bei diesem Befehl keine Nummerierung" ein "mache eine Nummerierung"...

Man sollte die Standard-Befehle nicht umschreiben. Wenn schon, dann macht man einen eigenen. Wenn du den vom Original ableiten willst, schau dir mal die Dokumentklasse im Original an. Dann weißt du auch, was wild aussieht.

Leviathan0
29-06-2005, 10:50
Man sollte die Standard-Befehle nicht umschreiben. Wenn schon, dann macht man einen eigenen. Wenn du den vom Original ableiten willst, schau dir mal die Dokumentklasse im Original an. Dann weißt du auch, was wild aussieht.

kk..
Habe deinen obigen Befehl eingefügt,
Fehlermeldung; You can't use 'macro parameter charakter#' in horizontal mode.


Was funktioniert denn nicht so, wie du es willst?
Noch nicht klar geworden was ich möchte?. Na denn werde ich es gerne nochmals erklären :). Zu diesem Zweck habe ich auch nochmal ein Bild hochgeladen in dem ich den Originaltext verändert habe.
Also;
Marmelade ist nun hier eine Section die auch im Inhaltsverzeichnis angezeigt wird. Erdbeer und folgendes wird ebenso wie Marmelade mit durchnummeriert, aber soll Nicht! im Inhaltsverzeichnis mit angezeigt werden!
Im Fliesstext selbst wird dann später noch ein "Inhaltsverzeichnis" erstellt, wie am Bild zu sehen. Aber es geht eben darum dass bestimmte subsections, subparagraphs nicht im Inhaltsverzeichnis mit aufgeführt werden sollen, aber dennoch mitnummeriert werden!

daswaldhorn
29-06-2005, 11:05
Fehlermeldung; You can't use 'macro parameter charakter#' in horizontal mode.also die Zeile von mwanaheri klappt bei mir nach ner kleinen Anpassung ganz gut.
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}
\providecommand{\specialsection}[1]{\addtocounter{section}{1}\section*{\arabic{sectio n}\quad #1}}

\tableofcontents

\section{Überschrift 1}
\section{Überschrift 2}
\subsection{Unterüberschrift 1}
\specialsection{Überschrift 3}
\end{document}Ok, es müssen noch die anderen Zähler angepasst werden, aber das hatte er ja auch schon geschrieben, wie's geht.

Grüße, Carsten

P.S: Die Forumssoftware macht im Code öfters mal paar Leerzeichen rein, hier jetzt in der Befehlsdefinition. Mache die vorher wieder raus.
@Moderatoren: Ist dieses Problem irgendwie behebbar?

Leviathan0
29-06-2005, 11:21
Danke Carsten.
Habe es mal ausprobiert. Die Idee die hinter dem Befehl steht hab ich nun verstanden :).
Zu dem aktuellen Zähler wird noch 1 hinzuaddiert und schon hätte ich die korrekte Nummer für das derzeitige Kapitel.
Könnte den obigen Befehl jemand analog zur verwendung von "\section" erweitern?(so wie er jetzt ist verändert er bei mir das Kapitel, scrbook falls relevant) Eventuell könnte ich dann sehen wie ich weiter fortfahren kann.
Eine Frage noch.
Zu dem Zähler wird hier eins hinzuaddiert. Folgt nun noch ein Kapitel müsst ich vorher den Counter +=1 erhöhen weil sonst die "specialsection" und das folgende Kapitel die gleiche Nummerierung haben.

Danke euch allen :- )
mfg, levi

mwanaheri
29-06-2005, 11:43
Ich habe dir mal eine demo-Datei angehängt, die durchläuft.
Was du allerdings zu wollen scheinst, ist, dass z.B. bis section alles im Haupt-Inhaltsverzeichnis steht, alles ab subsection allerdings nur im "kleinen" Verzeichnis im Fließtext.
Dazu gibt es das Paket minitoc, das einen eigenen Wert für die Gliederungsebenen enthält, die aufgenommen werden sollen.

Leviathan0
29-06-2005, 11:59
alles ab subsection allerdings nur im "kleinen" Verzeichnis im Fließtext.

Alles nicht. Sondern mal so mal so, je nach Bedarf.

Vielen Dank für deine Bemühungen :).Sehr nett..
Auch ein sehr verständliches Beispiel. Mit diesem Beispiel könnte ich jetzt für alle Ebenen eine neue "specialsection" entwerfen bei der dies funktioniert.
Anscheinend wird der Counter auch um+=1 erhöht so das die folgenden Nummern nicht identisch sind mit denen der "specialsection". Darauf kann man aufbauen, Danke dir und allen anderen die mir geholfen haben :). Wenns noch weitere Probleme gibt werde ich mich melden :).


Ich habe von einem Kollegen ein perfektes Beispiel bekommen. Genau so wie dort soll es auch bei uns später aussehen.

http://update.linogate.de/4.2/manual-defendo-V4.2-1-1-de.exe

Man richte sein Augenmerk auf Kapitel 11.8 HTTP-Server.
Schaut man nun im Fliesstext bei 11.8 sieht man dort auch ein kleines Inhaltsverzeichnis für die anhängenden Ebenen, hier subsections.
Diese sind nicht im Hauptinhaltsverzeichnis aufgeführt, werden aber mit durchnummeriert.

Leviathan0
29-06-2005, 12:37
Oha... Wie kann ich denn jetzt auf diese Selbst erstellten "Specialssection" referenzieren?

Wenn ich jetzt mittels label und zB ref referenziere greift er auf die Aktuelle Section zurück und nicht auf die erstellte "Specialssection"

daswaldhorn
29-06-2005, 13:29
Hallo,

also dieses Problem wird wohl etwas aufwändiger sein. Vielleicht muss man da ein ähnliches \speciallabel und \specialref basteln... :confused:
Hast du denn mal die Idee von mwanaheri probiert, die Tiefe für das Inhaltsverzeichnis in jedem Kapitel neu zu definieren? (Posting Nummer 10)

Grüße, Carsten

Leviathan0
29-06-2005, 13:47
also dieses Problem wird wohl etwas aufwändiger sein
:( , hauptsache nachher nach hause fahren und mittag essen essen is einfach :)

Ja das habe ich probiert und es funktioniert wunderbar :).
Aus diesem Beispiel habe ich mir dann auch andere eigene Ebenen gebastelt.
zB:


\providecommand{\sobsobsection}[1]{
\addtocounter{subsubsection}{1} % Zähler raufsetzen
\subsection*{\arabic{chapter}.\arabic{section}.\ar abic{subsection}.\arabic{subsubsection} % Abschnittsnummer ausgeben
#1}}

so kann man das ja für jede weitere Ebene ableiten.


Wenn mir jetzt noch jemand zeigen kann wie man auf diese selbst erstellten sections referenzieren kann lad ich ihn/sie auf nen bier ein.Vorrausgesetzt wohnt in der nähe. Ansonsten gibts nen bierchen mit nem gruß per post ;)

referenz ala
\sobsobsection \label{sec:das}

......... \ref
funktioniert ja eben nimmer... :/

mwanaheri
29-06-2005, 14:39
referenz ala
\sobsobsection \label{sec:das}

......... \ref
funktioniert ja eben nimmer... :/
stimmt, der hat noch die alte Nummer. ersetze einfach in der Definition
\addtocounter{subsection}{1}
durch
\refstepcounter{subsection}

dann gehts wieder.

Leviathan0
30-06-2005, 06:55
stimmt, der hat noch die alte Nummer. ersetze einfach in der Definition
\addtocounter{subsection}{1}
durch
\refstepcounter{subsection}

dann gehts wieder.

du meinst hier ;
\providecommand{\sobsobsection}[1]{
\addtocounter{subsubsection}{1} % Zähler raufsetzen
\subsection*{\arabic{chapter}.\arabic{section}.\ar abic{subsection}.\arabic{subsubsection} % Abschnittsnummer ausgeben
#1}}

das addtocounter ersetzen ? und dann kann ich einfach mit \xxxsection \label{xyz}....\ref.. ganz normal referenzieren?

kanns heute leider noch nicht ausprobieren. werde morgen erst wieder im büro sein. Werde aber schnellsten Berichten :).Vielen dank.

mfg, levi.
ps; wenns klappt hast dir wie versprochen nen bierchen un ne danksagung verdient ;)