Formatierung des Anhangs an Vorgaben anpassen

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


kasiii
Forum-Century
Forum-Century
Beiträge: 132
Registriert: Di 20. Aug 2013, 15:37

Formatierung des Anhangs an Vorgaben anpassen

Beitrag von kasiii »

Hallo zusammen. Ich habe folgende Vorgaben:

* Im Inhaltsverzeichnis erscheint der Eintrag Anhang ohne Nummerierung und ohne Seitennummer

* Die Anhänge sollen durchnummeriert werden: Anhang A; Anhang B ...

* Die einzelnen Anhänge erscheinen nicht im Inhaltsverzeichnis

Soweit so gut. Ich habe alles mehr oder (wahrscheinlich) weniger gut realisiert. Allerdings kann ich nicht auf die Anhänge verweisen. Ich hoffe mein Minimalbeispiel erklärt meine Absichten.
\documentclass[paper=a4, fontsize=11.5pt, headings=small, footlines=0, headlines=1, twoside, numbers=noendperiod, bibliography=totoc, appendixprefix=true, chapterprefix=false]{scrreprt}

\usepackage[american, ngerman]{babel}
\usepackage[utf8,]{inputenc}
\usepackage[T1,]{fontenc}
\usepackage{lmodern}

\usepackage{blindtext}

% Kopf- und Fußzeile
\usepackage[automark,]{scrlayer-scrpage}

% Anhangn
\usepackage{nameref}

\newcounter{AnhangNr}
\setcounter{AnhangNr}{1}
\newcommand{\AnhangSec}{\newpage\section*{Anhang \Alph{AnhangNr}}\stepcounter{AnhangNr}}


\begin{document}
	
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}


\rohead[\pagemark]{\pagemark}
\lehead[\pagemark]{\pagemark}
	
	\tableofcontents
		
	\chapter{Einleitung}
	\nameref{Anhang1}


	\section{Unterabschnitt 1}
	\nameref{Anhang2} oder \nameref{Anhang3}
	
	\chapter*{Danksagung}

	
	\appendix\newpage\pagenumbering{gobble}
	\AnhangSec
	\addcontentsline{toc}{chapter}{Anhang}
	\label{Anhang1}
	\blindtext[2]
	
	\AnhangSec
	\label{Anhang2}
	\blindtext[2]
	
	\AnhangSec
	\label{Anhang3}
	\blindtext	
\end{document}
Kann mir jemand weiterhelfen? Gerne auch mit einem ganz anderen Ansatz, falls es eine Funktion gibt, die macht was ich möchte.

Noch so einer

Beitrag von Noch so einer »

Viel zu kompliziert! Anhänge sind einfach nur Kapitel, in Deinem Fall nummerierte Kapitel. Es fehlt also in erster Linie der eine Eintrag im Inhaltsverzeichnis und die Verhinderung weiterer Einträge ins Inhaltsverzeichnis. Für letzteres gibt es den Zähler tocdepth, der auch in der KOMA-Script-Anleitung und im KOMA-Script-Buch erklärt ist:
\documentclass[paper=a4, fontsize=11.5pt, headings=small, footlines=0, headlines=1, twoside, numbers=noendperiod, bibliography=totoc, chapterprefix=false]{scrreprt}

\usepackage[american, ngerman]{babel}
\usepackage[utf8,]{inputenc}
\usepackage[T1,]{fontenc}
\usepackage{lmodern}

\usepackage{blindtext}

% Kopf- und Fußzeile
\usepackage[automark]{scrlayer-scrpage}

% Anhangn
\usepackage{nameref}

\usepackage{xpatch}
\xapptocmd{\appendix}{% Erweiterungen für den Anhang
  % Im Inhaltsverzeichnis:
  \addtocontents{toc}{%
    % - einen Eintrag setzen,
	\protect\contentsline{chapter}{\protect\appendixname}{}%
    % - dafür sorgen, dass es keine weiteren Einträge gibt
    \value{tocdepth}=-10000
  }%
  % Die Formatierung der Kapitelnummer ändern:
  % - entweder mit "Anhang" + Nummer
  %\renewcommand*{\chapterformat}{\chapapp~\thechapter.\enskip}
  % - oder mit Prefixzeile (dann kann man in der Tat alternativ auch Option appendixprefix beim Laden der Klasse verwenden)
  \KOMAoption{chapterprefix}{true}%
}{}{}

\begin{document}
   
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}

\rohead[\pagemark]{\pagemark}
\lehead[\pagemark]{\pagemark}
   
   \tableofcontents
      
   \chapter{Einleitung}
   \nameref{Anhang1}


   \section{Unterabschnitt 1}
   \nameref{Anhang2} oder \nameref{Anhang3}
   
   \addchap{Danksagung}% Habe ich mal geändert, ev. zurückändern.

   
   \appendix
   \chapter{Wie man einen Anhang verfasst}
   \label{Anhang1}
   \blindtext[2]
   
   \chapter{Anhänge sind auch nur Kapitel}
   \label{Anhang2}
   \blindtext[2]
   
   \chapter{Noch ein Anhang}
   \label{Anhang3}
   \blindtext   
\end{document}
Deine gesamten Seitenstiländerungen kannst Du übrigens zusammenstreichen auf
\clearpairofpagestyles
\ohead[\pagemark]{\pagemark}
und mit halbwegs aktuellen KOMA-Script (also nicht mit dem im Online-Editor) sogar auf:
\clearpairofpagestyles
\ohead*{\pagemark}
Und falls Du auch noch nach einem Anhangsverzeichnis suchst, sei auf DTK 3/2015, Seite 47ff verwiesen.

kasiii
Forum-Century
Forum-Century
Beiträge: 132
Registriert: Di 20. Aug 2013, 15:37

Beitrag von kasiii »

Danke! Im Minimalbeispiel funktioniert der Code. Wenn ich diesen in meine Arbeit implementiere. Ich vermute, dass das hyperref-Paket schuld ist.
\documentclass[paper=a4, fontsize=11.5pt, headings=small, footlines=0, headlines=1, twoside, numbers=noendperiod, bibliography=totoc, chapterprefix=false]{scrreprt}

\usepackage[american, ngerman]{babel}
\usepackage[utf8,]{inputenc}
\usepackage[T1,]{fontenc}
\usepackage{lmodern}

\usepackage{blindtext}

% Kopf- und Fußzeile
\usepackage[automark]{scrlayer-scrpage}

% Anhangn
\usepackage{nameref}

\usepackage{xpatch}
\xapptocmd{\appendix}{% Erweiterungen für den Anhang
  % Im Inhaltsverzeichnis:
  \addtocontents{toc}{%
    % - einen Eintrag setzen,
   \protect\contentsline{chapter}{\protect\appendixname}{}%
    % - dafür sorgen, dass es keine weiteren Einträge gibt
    \value{tocdepth}=-10000
  }%
  % Die Formatierung der Kapitelnummer ändern:
  % - entweder mit "Anhang" + Nummer
  %\renewcommand*{\chapterformat}{\chapapp~\thechapter.\enskip}
  % - oder mit Prefixzeile (dann kann man in der Tat alternativ auch Option appendixprefix beim Laden der Klasse verwenden)
  \KOMAoption{chapterprefix}{true}%
}{}{}


%\usepackage{hyperref}
%\hypersetup{
%	colorlinks=false,					%Links werden farblich nicht vom text abgehoben
%	linkcolor=blue!60!black,					%Farbe der internen Verweise
%	citecolor=blue!60!black,					%Farbe der Zitate
%	urlcolor=blue!60!black,				%Farbe der Links 
%	pdfborder={0 0 0},					%entfernt die rahmen um die Links im Text
%	bookmarksnumbered=true,				%Lesezeichen werden mit Kapitelnummern versehen
%	linktocpage=true,
%	pdfauthor={Ich},
%	pdftitle={Titel},
%	pdfsubject={},
%	pdfproducer={LaTeX with hyperref},
%	pdfproducer={LaTeX},
%	pdfhighlight=/P	
%}

\begin{document}
   
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}

\rohead[\pagemark]{\pagemark}
\lehead[\pagemark]{\pagemark}
   
   \tableofcontents
     
   \chapter{Einleitung}
   Anhang~\ref{Anhang1}


   \section{Unterabschnitt 1}
   Anhang~\ref{Anhang2} oder Anhang~\ref{Anhang3}
   
   \addchap{Danksagung}% Habe ich mal geändert, ev. zurückändern.

   
   \appendix
   \chapter{Wie man einen Anhang verfasst}
   \label{Anhang1}
   \blindtext[2]
   
   \chapter{Anhänge sind auch nur Kapitel}
   \label{Anhang2}
   \blindtext[2]
   
   \chapter{Noch ein Anhang}
   \label{Anhang3}
   \blindtext  
\end{document}
Der Code lässt sich nur Komplilieren, wenn hyperref auskommentiert wurde... Wie könnte man das reparieren?
Gibt es eine einfache Möglichkeit den Prefix und den Titel in eine Zeile zu schreiben:

Anhang A Wichtige Daten

Noch so einer

Beitrag von Noch so einer »

hyperref definiert \contentsline um und verpasst ihm ein weiteres Argument. Mit hyperref muss man daher folgende Definition verwenden:
% Anhang, wenn hyperref verwendet wird (und nur dann!)
\usepackage{xpatch}
\makeatletter
\xapptocmd{\appendix}{% Erweiterungen für den Anhang
% Im Inhaltsverzeichnis:
\cleardoublepage
\phantomsection
\addtocontents{toc}{%
% - einen Eintrag setzen,
\protect\contentsline{chapter}{\protect\appendixname}{}{\@currentHref}%
% - dafür sorgen, dass es keine weiteren Einträge gibt
\value{tocdepth}=-10000
}%
\setcounter{tocdepth}{-10000}% Auch keine Einträge in den Bookmarks mehr!
% Die Formatierung der Kapitelnummer ändern:
% - entweder mit "Anhang" + Nummer
%\renewcommand*{\chapterformat}{\chapapp~\thechapter.\enskip}
% - oder mit Prefixzeile (dann kann man in der Tat alternativ auch Option appendixprefix beim Laden der Klasse verwenden)
\KOMAoption{chapterprefix}{true}%
}{}{}
\makeatother
BTW: Warum hast Du meine ordentlich formatierte Definition komplett in linksbündig geändert? Das ist nicht sinnvoll. Ordentlich mit Einrückung formatierter LaTeX-Code ist das A und O eines übersichtlichen Dokuments! Spaghetti-Code versteht dagegen keiner, weil den niemand überblicken kann.

kasiii
Forum-Century
Forum-Century
Beiträge: 132
Registriert: Di 20. Aug 2013, 15:37

Beitrag von kasiii »

Noch so einer hat geschrieben:BTW: Warum hast Du meine ordentlich formatierte Definition komplett in linksbündig geändert? Das ist nicht sinnvoll. Ordentlich mit Einrückung formatierter LaTeX-Code ist das A und O eines übersichtlichen Dokuments! Spaghetti-Code versteht dagegen keiner, weil den niemand überblicken kann.
Das sehe ich genauso, das muss wohl irgendwann beim Kopieren passiert sein. Tut mir leid.


Danke für den Code. Er funktioniert im Minimalbeispiel sehr gut. In meinem Dokument nicht. Die Anhänge werden im TOC ausgegeben. Ein Auszug aus meiner .toc Datei.
\contentsline {chapter}{\numberline {A}\IeC {"U}bersicht der verf\IeC {"u}gbaren Vorlagen}{}{appendix.A}
\contentsline {chapter}{\numberline {B}Beispiele von ...}{}{appendix.B}
\contentsline {chapter}{\numberline {C}Beispiele von ...}{}{appendix.C}
\contentsline {chapter}{\appendixname }{}{section*.71}\c@tocdepth =-10000 
Mir gelingt es nicht den Fehler im Minimalbeispiel zu reproduzieren. Gibt es übliche Verdächtige, bei denen ich Beginnen könnte?

-----

EDIT: Ich war wohl etwas voreilig! Das Problem wurde folgendermaßen ausgelöst:
\appendix
     \include{Anhang.tex}
Der Schalter \appendix muss innerhalb der Tex-Datei stehen, dann funktioniert es.

Noch so einer

Beitrag von Noch so einer »

Du lädst die Anhänge per \include? Verwende stattdessen \input min. für den ersten der Anhänge.

Antworten