PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anhang mit Prefix



aleister
12-11-2011, 00:32
Hallo,

ich schreibe gerade meine Bachelorarbeit mit Latex und verwende dabei die Dokumentklasse scrreprt.
Die Anhänge sehen im Moment so aus:

A. Bedienungsanleiteung
B. Klassendiagramm
C. Glossar

Ich möchte aber, dass die Nummerierungen des Anhangs mit dem Prefix "Anhang" beginnen, was dann so aussehen soll:

Anhang A. Bedienungsanleiteung
Anhang B. Klassendiagramm
Anhang C. Glossar

Schon mal vielen Dank für eure Hilfe!

bobmalaria
12-11-2011, 02:17
\documentclass[appendixprefix=true]{scrreprt}

es lohnt sich in die anleitung zu schauen. das ist es genau erklärt. die entsprechende anleitung heist scrguide.pdf und ist auf deinem rechner bereits vorhanden

aleister
12-11-2011, 02:25
Danke für deine Antwort. Das mit dem appendixprefix hatte ich aber auch schon versucht. Dadurch wird das Prefix aber nicht im Inhaltsverzeichnis hinzugefügt, was ich aber benötige.

Sepp99
12-11-2011, 10:00
Aus http://www.golatex.de/viewtopic,p,9408.html#9408 als Ansatz:

\documentclass[appendixprefix=true]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocstyle}
\usetocstyle{classic}

\makeatletter
\DeclareRobustCommand*{\redefnumberline}{%
\renewcommand*{\tocstyle@@numberline}[1]{%
\appendixname~##1\csname autotot\endcsname
}%
}
\g@addto@macro\appendix{%
\addtocontents{toc}{\noexpand\redefnumberline}%
}
\makeatother

\begin{document}
\tableofcontents
\appendix
\chapter{Bedienungsanleiteung}
\chapter{Klassendiagramm }
\chapter{Glossar}

\end{document}

Ergebnis siehe Anhang.
Gruß, Sepp.-

Schweinebacke
12-11-2011, 12:37
Müsste man das konsistenter Weise nicht so machen:
\documentclass[appendixprefix=true]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocstyle}
\usetocstyle{classic}

\makeatletter
\newcommand*{\mainorappendixname}{Hauptteil}
\DeclareRobustCommand*{\redefnumberline}{%
\let\mainorappendixname\appendixname
}
\renewcommand*{\tocstyle@@numberline}[1]{%
\mainorappendixname~#1\csname autotot\endcsname
}%
\g@addto@macro\appendix{%
\addtocontents{toc}{\noexpand\redefnumberline}%
}
\makeatother

\begin{document}
\tableofcontents
\blinddocument
\appendix
\chapter{Bedienungsanleiteung}
\chapter{Klassendiagramm }
\chapter{Glossar}

\end{document}
:eek::p

Sepp99
12-11-2011, 22:17
Müsste man das konsistenter Weise nicht so machen:
Logisch :D

Gruß, Sepp.-

impression
16-11-2011, 16:29
Müsste man das konsistenter Weise nicht so machen:
\documentclass[appendixprefix=true]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocstyle}
\usetocstyle{classic}

\makeatletter
\newcommand*{\mainorappendixname}{Hauptteil}
\DeclareRobustCommand*{\redefnumberline}{%
\let\mainorappendixname\appendixname
}
\renewcommand*{\tocstyle@@numberline}[1]{%
\mainorappendixname~#1\csname autotot\endcsname
}%
\g@addto@macro\appendix{%
\addtocontents{toc}{\noexpand\redefnumberline}%
}
\makeatother

\begin{document}
\tableofcontents
\blinddocument
\appendix
\chapter{Bedienungsanleiteung}
\chapter{Klassendiagramm }
\chapter{Glossar}

\end{document}


Ich habe diese Variante mal eingebaut, um das Wörtchen "Anhang" im Inhaltsverzeichnis vor die Buchstaben zu bekommen. Das funktioniert soweit gut. Allerdings zerschießt mir dieses Teil die Einrückung meines sonstigen Inhaltsverzeichnisses und überall steht jetzt auch "Hauptteil" davor. Wie ist es möglich, dass das Inhaltsverzeichnis unangetastet bleibt, bis auf das Wörtchen "Anhang" für den Anhang?

Danke.

Edit
Reicht hier das Ändern des Tocstyles?

Edit2
Also das Ändern des Tocstyles tut es hier nicht. Habe auch schon diverse andere Anpassungen versucht, aber werde nicht schlau. Dass dort "Hauptteil" steht, konnte ich schon entfernen. Dadurch sieht das Inhaltsverzeichnis fast wieder richtig aus. Einziges Problem.... hinter der Zahl des Kapitels ist eine Einrückung, bevor die Kapitelüberschrift beginnt. Das bekomm ich leider nicht weg.

Schweinebacke
17-11-2011, 08:34
Du hast nicht verstanden, dass meine Antwort auf Sepp's Lösung ein Seitenhieb gegen die Inkonsistenz des Inhaltsverzeichnisses ist, die durch mehrfache Wiederholung des Wortes "Anhang" entsteht. Konsequent wäre es, wenn man dann eben im Hauptteil auch "Hauptteil" vor jeden Eintrag schreiben würde.

Schau Dir also Sepp's Lösung an.

Dass dann allen Kapitelnummern so viel Platz eingeräumt wird, wie für die Kapitel im Anhang benötigt wird, ist ebenfalls konsequent und absolut richtig und gleichzeitig ein Nachteil, wenn man solche inkonsequenten Änderungen des Inhaltsverzeichnisses vornimmt. Eine weit bessere Änderung wäre deshalb, wenn man nicht vor die Nummer jedes Anhangs-Kapiteleintrags "Anhang" schreiben würde, sondern nur einmal am Anfang des Anhangs einen Eintrag "Anhang" erstellen würde, beispielsweise:
\appendix
\addcontentsline{toc}{part}{\appendixname}Dass man sich im weiteren Verlauf weiterhin im Anhang befindet, sollte danach jedem halbwegs belesenen Menschen klar sein. Das wird eigentlich sogar ohne diesen Eintrag klar, weil es nun einmal üblich ist, dass Kapitel im Anhang mit Großbuchstaben nummeriert werden.

Wenn Du aber darauf bestehst, musst Du eben weit mehr Arbeit investieren. Dann kannst Du nämlich die automatische Längenberechnung von tocstyle nicht nutzen und musst gleichzeitig für den Anhang <code>\l@chapter</code> umdefinieren, damit dort ein abweichender Platz für die Nummer reserviert wird. Alles in allem wird das einiges an Arbeit für eine typografisch wenig gute Lösung.

impression
17-11-2011, 08:57
Guten Morgen,

vielen Dank für deine schnelle Antwort.

Es ist absolut richtig, wenn du sagst...

Dass dann allen Kapitelnummern so viel Platz eingeräumt wird, wie für die Kapitel im Anhang benötigt wird, ist ebenfalls konsequent und absolut richtig und gleichzeitig ein Nachteil...
Dies ist mir gar nicht aufgefallen, da die Anhänge bei mir im Inhaltsverzeichnis zufällig auf einer neuen Seite beginnen. Daher geb ich dir da absolut Recht.


\appendix
\addcontentsline{toc}{part}{\appendixname}
Diese Lösung gefällt mir noch besser und ich hatte sowas schon mal probiert. Problem ist aber, dass der Link des Anhangs nicht zum Anhang, sondern zum Literaturverzeichnis springt. Mach ich da noch was falsch?

Edit:
Die Seitenzahl des Anhangs im Inhaltsverzeichnis ist auch nicht ganz richtig. Sie zeigt die letzte Seite des Literaturverzeichnisses.

Schweinebacke
17-11-2011, 09:25
Mach ich da noch was falsch?
Woher soll ich das wissen? Ich weiß ja gar nicht, was Du machst (http://www.mrunix.de/forums/showthread.php?t=66921).


Die Seitenzahl des Anhangs im Inhaltsverzeichnis ist auch nicht ganz richtig. Sie zeigt die letzte Seite des Literaturverzeichnisses.
In dem Fall machst Du garantiert etwas falsch. Eventuell hast Du zu wenige LaTeX-Läufe durchgeführt. Eventuell hast Du mit <code>\addcontentsline</code> völlig falsch herumgehackt wo Du besser Klassenoptionen (beispielsweise <code>bibliography=totoc</code>) verwendet hättest. Eventuell hast Du <code>\cleardoubleoddpage</code> oder <code>\phantomsection</code> vergessen. Ein vollständiges Minimalbeispiel (http://www.mrunix.de/forums/showthread.php?t=66921) (und bitte nicht Deinen kompletten Code oder die komplette Präambel und dann vermutlich auch noch ohne Beispielliteraturdaten und mit \include) für das neue Problem hast Du auf jeden Fall vergessen.

leo2k
17-11-2011, 09:30
Ich hatte vor zwei Tagen genau das selbe vor und habe es folgendermaßen gelöst. Diesen Teil direkt vor \appendix

\addtocontents{toc}{%
\protect\renewcommand*\protect\cftchappresnum{\app endixname~}%
\protect\settowidth{\protect\cftchapnumwidth}{\pro tect\cftchappresnum}%
\protect\renewcommand{\protect\cftchapaftersnumb}{ \quad}}
und in der präambel
\usepackage[titles]{tocloft}

Grüße,
Leo

impression
17-11-2011, 10:24
Ich hatte vor zwei Tagen genau das selbe vor und habe es folgendermaßen gelöst. Diesen Teil direkt vor \appendix

\addtocontents{toc}{%
\protect\renewcommand*\protect\cftchappresnum{\app endixname~}%
\protect\settowidth{\protect\cftchapnumwidth}{\pro tect\cftchappresnum}%
\protect\renewcommand{\protect\cftchapaftersnumb}{ \quad}}
und in der präambel
\usepackage[titles]{tocloft}

Diese Lösung hatte ich auch schon versucht. Jedoch überschneiden sich "Anhang X." und die Überschrift des Anhangs nach wie vor um ca. 1-2 Zeichen.

@Schweinebacke
\phantomsection war der Übeltäter.


Ich hoffe, dass ich jetzt nichts übersehen habe. Problem scheint gelöst.
Danke euch.

leo2k
17-11-2011, 14:39
hmm....das ist bei mir (noch) nicht der fall. aber ein anderes problem ist mir da gerade aufgefallen: im inhaltsverzeichnis sieht das alles prima aus. nur hyperref baut mir in den bookmarks der pdf immernoch nicht das Anhang vor das A.
Wie sieht das bei deiner lösung aus?

Schweinebacke
17-11-2011, 14:58
In der hyperref-Anleitung findet man die Anweisung <code>\pdfbookmark</code>. Komfortabler/Flexibler/Reicher an Möglichkeiten ist aber die Verwendung des Pakets bookmark (http://ctan.org/pkg/bookmark).

leo2k
17-11-2011, 15:19
ja, damit kann ich bookmarks erzeugen. hyperref macht die ja automatisch. aber ich will jetzt die wie hier im thread besprochenen einträge "Anhang A Überschrift" auch in den bookmarks haben - dort taucht immernoch nur "A Überschrift" auf.

Schweinebacke
18-11-2011, 08:09
Das liese sich vermutlich nur dadurch lösen, dass <code>\theHchapter</code> oder sonst irgendwie die Erstellung der automatischen Bookmarks im Anhang umdefiniert wird. Ich werde an dieser Stelle aber aussteigen. Man verzeihe mir, dass ich keine weitere Arbeit in eine Lösung stecken möchte, die in meinen Augen mehr Nachteile und Probleme als Nutzen bringt (bei den Bookmarks/Outlines würde der nutzlose Präfix beispielsweise den nützlichen Text der Überschrift aus der Anzeige drängen).