Separates Anhangverzeichnis, spezielles Format

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Guest01

Separates Anhangverzeichnis, spezielles Format

Beitrag von Guest01 »

Hallo,

für eine Bachelorarbeit muss mein Anhang einige Voraussetzungen erfüllen:

- nur einzeiliger Eintrag für den Anhang im Inhaltsverzeichnis:
......
5 Anhang .........
6 Quellenverzeichnis...

- zu Beginn des Anhangs ein Anhangverzeichnis:
Anhang
Anhangverzeichnis
Anhang 1 Bla .....................60
Anhang 2 Blubb...................61
.....

Dann Folgen die Anhänge. Es muss genau so aussehen, also Nicht 1. Anhang oder Anhang A sondern genau Anhang 1..n.
Weiß hier jemand, wie man das so hinbekommt? Ich habe schon ein paar Lösungen gefunden, aber da war zum Beispiel das komplette Anhangverzeichnis im Inhaltsverzeichnis nochmal untergebracht oder sonst was hat nicht gestimmt.

Vielen Dank!

Besserwisser

Beitrag von Besserwisser »

Die Lösung auf komascript.de, die hier im Forum schon mehrfach verwendet wurde, ist durchaus anpassbar. Einige Anpassungen sind auf der Seite selbst auch bereits diskutiert. Und natürlich sollte man sich die Mühe machen, den Quellcode dort gründlich durchzuarbeiten. Sollte danach dann trotzdem etwas nicht realisierbar sein, sollte man gezielt und mit VM (mit Anleitung zur Erstellung nicht nur für Anfänger) danach fragen.

Hier im Forum wurden auch schon alternative Lösungen mit minitoc diskutiert.

Solange wir nicht wissen, was Du bisher genau gemacht hast, macht wirklich keinen Sinn, das Rad noch einmal neu zu erfinden, wenn nicht klar angegeben ist, was an den diversen, bisherigen ganz genau nicht passt.

Gast01

Beitrag von Gast01 »

Bei dieser Lösung von komascript.de habe ich noch folgende Probleme:

- Im Inhaltsverzeichnis steht jetzt ein Eintrag Anhangverzeichnis, es soll aber nur Anhang dort stehen

- Jede Anhangüberschrift fängt mit A., B. usw. an, es soll aber so aussehen: Anhang 1 <Tabulator> Bezeichnung

- Abbildungs-, Tabellen- und Listingverzeichnis sind die Zeilenabstände jetzt 1,5-fach statt einfach, die füllenden Punkte fehlen und hinter der Zahl befindet sich ein Punkt:
1. Die und die Tabelle 2

es sollte so sein, wie es vorher war:
1 Die und die Tabelle..............2

- im Anhanverzeichnis ist der Zeilenabstand ok, aber auch hier fehlen die füllenden Punkte

- in allen Verzeichnissen endet die Nummerierung mit einem Punkt: 1.1.

Hier ein Minimalbeispiel, habe die package Befehle mal drin gelassen:



\documentclass[11pt,a4paper]{scrartcl}
\parindent0px
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{float}

\usepackage[usenames,dvipsnames,table]{xcolor}

\usepackage{scrhack}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage{courier}

\usepackage{graphicx}

\usepackage{tabularx}

\usepackage{footnote}

\include{anhangcode} % hier drin ist der Code von komascript.de für den Anhang

\usepackage{listings}

\usepackage{color}

\usepackage[printonlyused]{acronym}

\usepackage[onehalfspacing]{setspace}

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

\usepackage[a4paper, left=35mm, right=15mm, top=25mm, bottom=20mm]{geometry}

\usepackage{scrpage2} 
\clearscrheadfoot 
\chead[\pagemark]{\pagemark}
\pagestyle{scrheadings}

\setlength{\parskip}{6pt}

\renewcommand{\arraystretch}{1.5}

\begin{document}
\tableofcontents
\newpage

\addcontentsline{toc}{section}{Tabellenverzeichnis}
\listoftables
\newpage

\section{Ein Kapitel}
\subsection{Unterkapitel}
\begin{table}[H]
\centering
\begin{tabularx}{\textwidth}{ll}
\hline
A & B \\
\end{tabularx}
\caption[asdf]{asdf}
\end{table}
\newpage
% ---------------------------------------

\section*{Anhang}
\addcontentsline{toc}{section}{Anhang} 

\appendix
\newpage
\section{Anhang 1}
BLABLABLABLABALA
\newpage

\section{Anhang 1}
LALSKDJLAJLSJAD
\newpage
\postappendix
\newpage

% ---------------------------------------

\section*{Quellenverzeichnisse}
\addcontentsline{toc}{section}{Quellenverzeichnisse} 

\end{document}

Ich hoffe das hilft.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Der Sinn eines Minimalbeispiels besteht unter anderem darin den Helfern Arbeit abzunehmen. Momentan müssen wir selber prüfen, ob ein Paket beteiligt ist. Ich habe dafür gerade leider keine Zeit. Include und input haben in Minimalbeispielen im Allgemeinen auch nichts zu suchen.
Lies bitte außerdem deinen Beitrag noch mal und korrigiere die Tippfehler. Damit zeigst du auch, dass dir die Frage und die dazugehörige Lösung wichtig ist.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Gast01

Beitrag von Gast01 »

Um den include aufzulösen hier die anhangcode.txt (entspricht dem Code aus Besserwissers Link):
% Achtung: Updates verfügbar 
% http://www.komascript.de/comment/3447#comment-3447
% Dies ist Datei `appendixtocexample.tex'
% Copyright (c) Markus Kohm, 2010-2013
% Diese Datei steht unter LPPL 1.3c.
% Wird diese Datei abgeändert, so handelt es sich um ein abgeleitetes Werk
% im Sinne der LPPL. Dies bedeutet u. a. dass in diesem Fall darauf
% hinzuweisen ist, dass der hier im Copyright-Vermerk angegebene Autor,
% Markus Kohm, für den Inhalt nicht verantwortlich und für keinerlei
% Support oder Auskünfte heranzuziehen ist!
%
% Changelog:
% 2013-06-15 (mjk): Funktioniert mit allen Standard- oder KOMA-Script-Klassen.
%
\documentclass{scrbook}% bliebige Standard- oder KOMA-Script-Klasse
\usepackage[ngerman]{babel}
\usepackage{blindtext}
 
\usepackage{filecontents}
\begin{filecontents}{appendixtoc.sty}
%
% appendixtoc.sty
% Copyright (c) Markus Kohm, 2013
% See `appendixtocexample.tex' for license informations. Distribution without
% `appendixtocexample.tex' is forbidden!
\ProvidesPackage{appendixtoc}[2013/06/15 unsupported LaTeX2e package]
\RequirePackage{scrbase}
\RequirePackage{tocstyle}
\usetocstyle{KOMAlike}
% Die folgende Umgebung wird verwendet, um innerhalb der toc-Datei einzelne
% Bereiche ein- und ausschalten zu können. In die toc-Datei wird die Umgebung
% dabei jeweils als \begin{tocconditional}{BEREICH}...\end{tocconditional}
% eingefügt.
\newenvironment*{tocconditional}[1]{%
  \expandafter\ifx\csname if@toccond@#1\expandafter\endcsname
                  \csname iftrue\endcsname
  \else
    \value{tocdepth}=-10000\relax
  \fi
  \typeout{tocdepth in `#1': \the\c@tocdepth}%
}{%
}
 
% Gleich nach dem Öffnen der toc-Datei beginnen wir den Haupt-Bereich "main":
\AtBeginDocument{%
  \addtocontents{toc}{\string\begin{tocconditional}{main}}
}
% Und der letzte Bereich endet am Ende der toc-Datei.
\BeforeClosingMainAux{%
  \addtocontents{toc}{\string\end{tocconditional}}%
}
 
% Hier können nun neue Bereiche definiert (wie man das
% macht zeigen wir gleich im Anschluss) ...
\newcommand*{\newtocconditional}[2][false]{%
  \expandafter\newif\csname if@toccond@#2\endcsname
  \csname @toccond@#2#1\endcsname
}
% ... und ein- oder ausgeschaltet werden.
% (Beispiele für die Verwendung von \settocconditional sind
% weiter unten bei der Definition von \appendixtableofcontents
% zu finden.)
\newcommand*{\settocconditional}[2]{%
  \csname @toccond@#1#2\endcsname
}
 
% Neben dem (bereits aktivierten) Hauptbereich ...
\newtocconditional[true]{main}
% ... definieren wir noch einen (noch nicht aktivierten)
% Bereich für den Anhang.
\newtocconditional{appendix}
 
% Mit dem Anhang geben wir einerseits das Anhangsverzeichnis aus,
% andererseits beenden wir den aktuellen Bereich in der toc-Datei und beginnen
% den neuen Bereich "appendix". Damit im Haupt-Inhaltsverzeichnis ein Eintrag
% für das Anhangsverzeichnis erscheint, verwenden wir \addchap und zwar noch
% bevor der letzte Bereich geschlossen wird. Wenn wir es ganz sicher machen
% wollten, müssten wir die auskommentierten Zeilen noch aktivieren. So
% verlassen wir uns einfach darauf, dass vor dem appendix-Bereich der
% main-Bereich lag.
\g@addto@macro\appendix{%
%  \addtocontents{toc}{\string\end{tocconditional}^^J
%    \string\begin{tocconditional}{main}}%
  \begingroup
    \@ifundefined{tocbasic@listhead}{% Falls \tocbasic@listhead (wird von
                               % KOMA-Script-Klassen verwendet) nicht
                               % definiert ist
      \@ifundefined{chapter}{% und falls \chapter nicht definiert ist,
        \section*{\listofappendixname}% \section* verwenden
      }{% aber falls \chapter definiert ist,
        \chapter*{\listofappendixname}% \chapter* verwenden
      }%
      % und noch die Kolumnentitel passend setzen.
      \@mkboth{\csname MakeMarkcase\endcsname{\listofappendixname}}%
              {\csname MakeMarkcase\endcsname{\listofappendixname}}%
    }{% Falls \toc@heading definiert ist,
      \def\@currext{appendix}% initialisieren
      \tocbasic@listhead{\listofappendixname}% und verwenden
    }%
  \endgroup
  \addtocontents{toc}{\string\end{tocconditional}^^J
    \string\begin{tocconditional}{appendix}}%
  \appendixtableofcontents
}
 
% Jetzt definieren wir das Anhangsverzeichnis selbst als Alias für die
% toc-Datei. Dabei wird aber der Hauptbereich "main" deaktiviert und der
% Anhangsbereich "appendix" aktiviert.
\newcommand*{\appendixtableofcontents}{%
  \showtoc[{ %
    \aliastoc{\tocstyleTOC}{toc}%
    \settocconditional{main}{false}%
    \settocconditional{appendix}{true}%
  }]{toc}%
}
 
% Auch wenn man einen Anhang normalerweise nicht beenden kann, so ist es
% ggf. erwünscht, dass Literaturverzeichnis, Index etc. zwar nach den Kapiteln
% des Anhangs kommen, aber dem Hauptverzeichnis zugeordnet werden sollen. Also
% benötigen wir eine Anweisung, um in der toc-Datei den aktuellen Bereich zu
% beenden und wieder einen Hauptbereich einzuschalten:
\newcommand*{\postappendix}{%
  \addtocontents{toc}{\string\end{tocconditional}^^J%
      \string\begin{tocconditional}{main}}%
}
 
% Den Namen definieren:
\newcommand*{\listofappendixname}{Table of appendices}
\AtBeginDocument{%
  \providecaptionname{english}{\listofappendixname}{Table of appendices}%
  \providecaptionname{USenglish}{\listofappendixname}{Table of appendices}%
  \providecaptionname{UKenglish}{\listofappendixname}{Table of appendices}%
  \providecaptionname{british}{\listofappendixname}{Table of appendices}%
  \providecaptionname{german}\listofappendixname{Anhangsverzeichnis}%
  \providecaptionname{ngerman}\listofappendixname{Anhangsverzeichnis}%
  \providecaptionname{austrian}\listofappendixname{Anhangsverzeichnis}%
  \providecaptionname{austrian}\listofappendixname{Anhangsverzeichnis}%
}%
\end{filecontents}
 
\usepackage{appendixtoc}
% Wir wollen das Anhangsverzeichnis im Inhaltsverzeichnis, also sorgen wir
% dafür, dass das Paket tocbasic geladen ist (auch, wenn keine
% KOMA-Script-Klasse verwendet wird). Das muss unbedingt _vor_ dem Laden von
% appendixtoc passieren!
\usepackage{tocbasic}
\usepackage{appendixtoc}
\setuptoc{appendix}{totoc}% dank tocbasic geht das jetzt so einfach
Ich dachte, dass die usepackages zu erkennen helfen, ob Konflikte mit Paketen bestehen.

Besserwisser

Beitrag von Besserwisser »

Gast01 hat geschrieben:- Im Inhaltsverzeichnis steht jetzt ein Eintrag Anhangverzeichnis, es soll aber nur Anhang dort stehen
Dann willst Du vermutlich über dem Anhangsverzeichnis ebenfalls "Anhang" statt "Anhangsverzeichnis" stehen haben, denn sonst wäre es inkonsistent. Also musst Du schlicht im Beispielcode "Anhangsvereichnis" durch "Anhang" ersetzen. Irgendwie naheliegend, oder? Alternativ kannst Du auch das Einschalten des Eintrags für das Anhangsverzeichnis per \setuptoc (Erklärung der Anweisung: siehe KOMA-Script-Anleitung) unterlassen. Die Überschrift selbst gibt es aber dann noch immer. Will man die auch nicht, muss man den entsprechenden Code ebenfalls entfernen. Entsprechende Code-Alternativen werden auf komascript.de in der Diskussion genannt.
Gast01 hat geschrieben:- Jede Anhangüberschrift fängt mit A., B. usw. an, es soll aber so aussehen: Anhang 1 <Tabulator> Bezeichnung
Die Form der Überschriften der Anhänge wird durch die Klasse bestimmt und hat mit dem Anhangsverzeichnis primär nichts zu tun. Eigentlich ist es sinnvoll, Anhänge auf andere Art zu nummerieren (bei den meisten Klassen eben mit Großbuchstaben statt mit arabischen Zahlen). Wenn Du das nicht willst, dann musst Du verm. u. a. \thesection, \sectionformat, \sectionmarkformat und \addsectiontocentry anpassen. Für \addsectionentry könnte das beispielsweise so lauten:
\renewcommand*{\addsectiontocentry}[2]{%
  \ifstr{#1}{}{%
    \addtocentrydefault{section}{#1}{#2}%
  }{%
    \addtocentrydefault{section}{\protect\appendixname~#1}{#2}%
  }%
}
Natürlich gehört diese Definition dann in die Erweiterung der \appendix-Anweisung, da ja nur im Anhang \appendixname davor geschrieben werden soll. Näheres zu den Anweisungen ist der KOMA-Script-Anleitung zu entnehmen.

BTW: Tabulatoren im eigentlichen Sinn von Tabulatoren einer einfachen Textverarbeitung kennt LaTeX nicht. Du solltest einmal eine ausführliche LaTeX-Einführung lesen.
Gast01 hat geschrieben:- Abbildungs-, Tabellen- und Listingverzeichnis sind die Zeilenabstände jetzt 1,5-fach statt einfach, die füllenden Punkte fehlen und hinter der Zahl befindet sich ein Punkt:
1. Die und die Tabelle 2
Wenn ich das funktionierende Originalbeispiel von komascript.de mit
\listoffigures
\begin{figure}
  \centering
  
  \caption{Test}
  \label{fig:test}
\end{figure}
ergänze kann ich das nur teilweise nachvollziehen. Zum Punkt nach der Nummer siehe die KOMA-Script-Anleitung (Option numbers). Der Stil des Verzeichnisses ist ab dem Laden von tocstyle konfigurierbar. Es gibt dort unzählige Möglichkeiten, darunter auch welche mit und ohne Punkt. Siehe dazu die Anleitung zum Paket.

Dein angebliches Minimalbeispiel kann ich nicht testen, da es nicht funktioniert. Außerdem ist es nicht minimal. Du hast Dich also nicht an die entsprechende Anleitung gehalten. Da fragt man sich schon, wozu man sich die Mühe macht, Dir geprüfte Links auf entsprechende Anleitungen zu geben.
Gast01 hat geschrieben:- im Anhanverzeichnis […] fehlen die füllenden Punkte
Auch das kann ich nicht nachvollziehen. Bei dem Beispiel von komascript.de sind sie bei den entsprechenden Gliederungsebenen vorhanden – auch, wenn man dort scrartcl statt scrbook verwendet.
Gast01 hat geschrieben:- in allen Verzeichnissen endet die Nummerierung mit einem Punkt: 1.1.
Das kommt daher, dass die Nummern auch im Dokument mit einem Punkt enden. Warum das so ist und wie man es ggf. ändert, steht in der KOMA-Script-Anleitung (siehe Option numbers).
Gast01 hat geschrieben:Hier ein Minimalbeispiel, habe die package Befehle mal drin gelassen:
Das Beispiel ist nicht minimal und es wirft Fehler, weil es sich nicht an den Code hält, der auf komascript.de gezeigt wird:
Gast01 hat geschrieben:
\parindent0px
%[…]
\setlength{\parskip}{6pt}
Lies die Ausführungen zu Option parskip in der KOMA-Script-Anleitung, wenn Du keinen Absatzeinzug, sondern einen Absatzabstand haben willst!
Gast01 hat geschrieben:
\usepackage{float}
Das Paket benötigen die wenigsten und viele setzen es falsch ein. Außerdem bietet KOMA-Script bereits die wesentlichen Möglichkeiten des Pakets selbst an. Für den Rest gibt es bessere Pakete wie floatrow.
Gast01 hat geschrieben:
\include{anhangcode} % hier drin ist der Code von komascript.de für den Anhang
Seit wann lädt man Pakete mit \include? Das wird auf komascript.de garantiert nicht so vorgemacht! \include hat in der Dokumentpräambel überhaupt nichts verloren.
Gast01 hat geschrieben:
\usepackage{color}
Du lädst doch oben bereits xcolor. Was soll also das hier?
Gast01 hat geschrieben:
\usepackage[onehalfspacing]{setspace}
Dir ist bekannt, wie Du das onehalfspacing für Teile des Dokuments ggf. wieder abschalten kannst? Wenn nicht, lies die Anleitung zum Paket.
Gast01 hat geschrieben:
\begin{table}[H]
\centering
\begin{tabularx}{\textwidth}{ll}
\hline
A & B \\
\end{tabularx}
\caption[asdf]{asdf}
\end{table}
Für nicht gleitende Abbildungen sei auf \captionof verwiesen. Dann kann man sich die Pseudo-Gleitumgebung sparen und braucht auch kein float-Paket.
Gast01 hat geschrieben:
\newpage
Wenn Du übrigens vor jedem Abschnitt eine solche Anweisung einfügst, solltest Du über einen Wechsel zu scrreprt nachdenken. Dort gibt es mit \chapter richtige Kapitel.
Gast01 hat geschrieben:
\section*{Anhang}
\addcontentsline{toc}{section}{Anhang}
Das ist wenig sinnvoll. Zum einen gibt es \addsec, wobei vermutlich \addpart sogar besser wäre (siehe KOMA-Script-Anleitung), zum anderen wird eine Überschrift ja nun ggf. bereits via \appendix eingefügt.

Ich vermute, dass der Code nicht wirklich von Dir stammt, sondern irgendwo abgeschrieben wurde. Daher: »Minimale Vorlage vs. maximale Probleme«

Warum mein Urteil so vernichtend ist: Du machst es Dir zu leicht und uns zu schwer.

Gast01

Beitrag von Gast01 »

Wie Anhänge nummeriert werden oder wie der Anhang auszusehen hat (eine Überschrift für den Anhang und eine separate für das Anhangverzeichnis) entscheide nicht ich. Ich muss mich exakt an die Vorgaben halten. Ich bin nicht sehr versiert in der Benutzung von Latex, lerne dennoch möglichst viel, sofern wichtigere Dinge wie Arbeit es zulassen. Tut aber nichts mehr zur Sache, weil ich mir aufgrund des hier an den Tag gelegten arroganten Tons woanders Hilfe suchen werden.

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 808
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Da hat sich der Besserwisser allergrößte Mühe gegeben, ein noch nicht einmal laufendes, geschweige denn minimales Beispiel zu sezieren und sehr viele nützliche Tipps zu geben und bekommt so eine unverständliche und geradezu freche Antwort. Besserwisser, lass Dich nicht vergraulen! Und Gast01: Glaub' mir, auch anderswo bilden Minimalbeispiele die Grundlage für Antworten bei LaTeX-Problemen.

Helmut

Besserwisser

Beitrag von Besserwisser »

Beinschuss hat geschrieben:Besserwisser, lass Dich nicht vergraulen!
Keine Sorge, von Leuten, denen gar nicht bewusst ist, wie peinlich ihre Arroganzvorwürfe sind, lasse ich mich nicht so schnell vertreiben. Ich kann sogar verstehen, wenn jemand beleidigt ist, nachdem er nun seit Tagen vergeblich an den falschen Stellen gesucht hat und dachte, er wäre mit der Verwendung einer blöden Vorlage oder zusammengeklaubten Codes aus Quellen, die er vielleicht als besser eingeschätzt hat, als sie tatsächlich sind, besonders schlau, nun zu hören bekommt, dass sein Code eben doch diverse Mängel zeigt und er noch an anderen Stellen nachlesen soll, ein wenig angefressen ist. Wenn so jemand nach einem tiefen Luft holen einsieht, dass die Hinweise nicht so ganz unberechtigt sind und wenig mit Arroganz zu tun haben und natürlich nie verletzend gemeint waren, sondern im Gegenteil helfen sollte, bin ich eigentlich auch immer bereit, verletzende Äußerungen zu vergessen. Wir alle machen Fehler.

Dass der OP in seiner blinden Wut nicht einmal bemerkt hat, dass ich ihm tatsächlich Hinweise zur Umdefinierung des Nummerierungsstils gegeben habe, ist bedauerlich. Ich wünsche ihm trotzdem, dass er anderswo die Hilfe findet, die er sich erhofft und er dann auch von seinen gröbsten Code-Schnitzern Abstand nimmt.

In jedem Fall waren die Hinweise nicht verschwendet, denn die Wahrscheinlichkeit, dass irgendwann doch noch jemand daraus lernt, ist durchaus hoch.

Antworten