Überschriften-Nummerierung der Art A-1, auch in \ref & T

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Überschriften-Nummerierung der Art A-1, auch in \ref & T

Beitrag von Seban »

Hallo,

Mittels titlesec habe ich das Format der Kapitel- und Abschnittsüberschriften angepasst.

Überschriften sollen das Format "A-1 Überschrift" haben. Dies habe ich ebenfalls mit titlesec zu lösen versucht (s.u.). Wenn ich aber referenziere, wird das "A-" weggelassen und ich muss es jedes mal von Hand einfügen.

Es funktioniert auf den ersten Blick so wie ich will, aber ich habe das Gefühl, dass mein Vorgehen evtl. zu umständlich oder schlicht falsch ist. Im Inhaltsverzeichnis wird das "A-" auch nicht aufgegriffen.


Genauer, was ich vorhabe: In den Anhängen A und B soll der Abschnitts-Nummerierung "A-" bzw. "B-" vorangestellt werden und dies soll auch im TOC, in Referenzen usw. passieren. Dies soll für chapter, section, subsection usw. erfolgen.

Wie kann ich das einfacher (oder richtig) machen, als in meinem bisherigen Versuch?

\documentclass[a4paper,twoside,11pt,openright]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{blindtext}
\usepackage{titlesec}

\titleformat{\chapter} % Ebene
[hang] % Stil
{\bfseries \large} %Layout 
{\makebox[42.68pt][l]{A-\thechapter}} % Defintion Label
{0pt} %Abstand zwischen Zahl und Label
{\large} % Code vor Titel
[\normalsize] % Optionaler Code nach Eintrag  

\begin{document}

	\chapter{Kapitelüberschrift}
	\label{chp}
	
	\blindtext
	
	In Kapitel A-\ref{chp} \dots

\end{document}
Beste Grüße & vielen Dank,
Seban

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Der Anhang A sollte eigentlich ein \chapter sein. Die \sections werden dann bereits mit A.1 nummeriert. Auch die \refs machen das. Da sollte es dann ein leichtes sein, das mit titlesec zu A-1 zu ändern, falls das wirklich notwendig ist.
\documentclass[a4paper,twoside,11pt,openright]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{blindtext}
%\usepackage{titlesec}

\begin{document}

\blinddocument

\appendix
	\chapter{App 1} \label{sec:a1}
	\section{foo}\label{sec:foo}
	\ref{sec:foo}
	
	\chapter{App 2}
	\section{bar}\label{sec:bar}
	\ref{sec:bar}

\end{document}
PS: du solltest mal überlegen, ob ein Wechsel zu den KOMA-Script-Klassen nicht sinnvoll wäre.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke für deine Hilfe.
sudo hat geschrieben:Der Anhang A sollte eigentlich ein \chapter sein. Die \sections werden dann bereits mit A.1 nummeriert. Auch die \refs machen das. Da sollte es dann ein leichtes sein, das mit titlesec zu A-1 zu ändern, falls das wirklich notwendig ist.
\appendix kannte ich nicht. Leider ist mein Rechner kaputt und ich habe erst Montag wieder die Möglichkeit mir das genau anzuschauen.

Mein Anhang hat folgende Nummerierung (ob Bindestrich oder Punkt ist eigentlich egal)
  • Anhang A
    A.1 'Chapter'
    A.1.1 'Section'
    A.1.1.1 'Subsection'
    A.1.1.2 'Subsection'
    A.2 'Chapter'
    A.2.1 'Section'
    ...
    A.3 'Chapter'
    ...
    A.4 'Chapter'
    ...

    Anhang B
    B.1 'Chapter'
    ...
    B.2 'Chapter'
    ...
So wie ich \appendix verstehe, ergibt das aber
  • Anhang A
    A 'Chapter'
    A.1 'Section'
    A.1.1 'Subsection'
    A.1.2 'Subsection'
    B 'Chapter'
    B.1 'Section'
    ...

    Anhang B
    ...
Dann bräuchte ich bei Verwendung von \appendix ja nur aus chapter section machen, aus section subsection usw.

sudo hat geschrieben:PS: du solltest mal überlegen, ob ein Wechsel zu den KOMA-Script-Klassen nicht sinnvoll wäre.
Nutze ich bereits. Hab ich bei Erstellen meines Bsp. übersehen, dass dort noch report steht.

Grüße

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Dann ist hier mal noch ein Vorschlag mit scrreprt:
\documentclass[twoside,toc=flat]{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[ansinew]{inputenc} 

\newcommand\Anhang{\refstepcounter{chapter}\addchap{Anhang~\Alph{chapter}}}

\usepackage{blindtext}


\begin{document}

\tableofcontents
\chapter{Ein Kapitel}
\section{Ein Abschnitt}
\blindtext

\appendix
\Anhang
\section{Überschrift}\label{chp} 
\blindtext 
In Kapitel \ref{chp} \dots

\Anhang
\section{Überschrift}\label{chp2} 
\blindtext 
In Kapitel \ref{chp2} \dots 

\end{document}
Gruß
Elke

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke Elke, werde Montag beides testen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Hallo zusammen,

Ich habe Elkes Ansatz verwendet, die Nummerierung der Kapitel ist nun genau so wie gewünscht. Danke =)

Allerdings stören mich zwei Dinge noch:

1. Im Inhaltsverzeichnis hatte ich vorher mittels
\addtocontents{toc}{\textbf{Anhang A - <Name des Anhangs>}}
den Namen des Anhangs eingefügt.
Dies sah dann so aus:
  • Inhaltsverzeichnis
    Anhang A - <Name des Anhangs>
    A.1 Teil 1 des Anhangs..........................3
    A.2 Teil 2 des Anhangs..........................3
Mit der Lösung von Elke erhalte ich
  • Inhaltsverzeichnis
    Anhang A.............................................3
    A.1 Teil 1 des Anhangs..........................3
    A.2 Teil 2 des Anhangs..........................3
Dh die Seitenzahl steht nun dort (ist nicht sooo schlimm, ohne wäre aber besser) und ich weiß nicht, wie ich den Namen des Anhangs hinzufügen kann. Istd as möglich?


2. Im Text wird (dort wo \Anhang eingefügt wird) auch 'Anhang X' ausgegeben. Kann man dies unterbinden? Ich habe für jeden Anhang ein Deckblatt, die Überschrift 'Anhang X' ist somit irgendwie überflüssig.

Danke für eure Hilfe


Edit: Hier noch das aktualisierte Minimalbsp.:
\documentclass[a4paper,11pt,openany]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{blindtext}

\newcommand\Anhang{\refstepcounter{chapter}\addchap{Anhang~\Alph{chapter}}} 

\begin{document}

\tableofcontents
\chapter{Kapitel 1}
\section{Ein Abschnitt}
\blindtext


\appendix
\Anhang
\section{Teil 1 des Anhangs}\label{chp}
\blindtext
\section{Teil 2 des Anhangs}\label{chp3}
In Kapitel \ref{chp} \dots
\subsection{Ein Unterkapitel}

\Anhang
\section{2ter Anhang}\label{chp2}
\blindtext
In Kapitel \ref{chp2} \dots 

\end{document}

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Bisher hat Elkes \Anhang-Befehl ja gar kein Argument <Name des Anhangs> genommen. Probier mal den folgenden Befehl:
\newcommand\Anhang[1]{\refstepcounter{chapter}\addchap{Anhang~\Alph{chapter}~--~#1}}
oder
\newcommand\Anhang[1]{\refstepcounter{chapter}\addchap[Anhang~\Alph{chapter}~--~#1]{\Alph{chapter}~--~#1}}
und
\Anhang{<Name des Anhangs>}
Wenn dir das nicht gefällt, weil du irgendwo (nicht in deinem Beispiel) eine Titelseite für den Anhang einfügst, solltest du uns zeigen, wie du das machst.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke sudo! kA warum ich nicht an Parameter gedacht habe :(

Dein zweites Command ermöglicht ja, die Überschrift nicht im Text sondern nur im TOC anzuzeigen. Eine vertikale Verschiebung findet aber dennoch im Text statt. Hab mir gedacht, dies mit einem \vspace auszugleichen, aber wie oder wo kann man herausfinden, wie groß der vertikale Abstand erzeugt durch eine Überschrift ist?


Hier das Bsp. erweitert um ein stark reduziertes Deckblatt. Dieses binde ich eigentlich mit \input ein, aber für ein Minimalbsp. reicht es denke ich "inline" (oder so, kA wie man das nennen kann =) )
\documentclass[a4paper,11pt,openany]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{blindtext}

\newcommand\Anhang[1]{\refstepcounter{chapter}\addchap[Anhang~\Alph{chapter}~--~#1]{\vspace{-2cm}}}

\begin{document}

\tableofcontents
\chapter{Kapitel 1}
\section{Ein Abschnitt}
\blindtext


\appendix
% Deckblatt
	\begin{titlepage}
		\begin{flushright}	
			\vspace{5.7cm}
			\fontsize{18pt}{18pt}\selectfont \textbf{Anhang A}\\
				Name\\
				des\\
				Anhangs A		
		\end{flushright}
	\end{titlepage}

\Anhang{<Name des 1. Anhangs>}
\section{Teil 1 des Anhangs}\label{chp}
\blindtext
\newpage
\section{Teil 2 des Anhangs}\label{chp3}
In Kapitel \ref{chp} \dots
\subsection{Ein Unterkapitel}

\Anhang{<Name des 2. Anhangs>}
\section{2ter Anhang}\label{chp2}
\blindtext
In Kapitel \ref{chp2} \dots 

\end{document}

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

1.) Um einen Abstand am Anfang einer Seite zu bekommen musst du die Sternvariante von \v- bzw. \hspace benutzen.
2.) Ich würde den \Anhang-Befehl auch dort benutzen, wo der Anhang beginnt, also auf der \titelpage. Dabei musst du beachten, dass \chapter oder \addchap eine \clearpage bzw. \cleardoublepage einfügen. Wenn du also nicht ganz am Anfang der \titlepage bist, erzeugt das noch eine leere Seite.
3.) Ich würde so viel wie möglich von deiner \titlepage in den \Anhang-Befehl stecken. Das erleichtert die Lesbarkeit und vermeidet Schreibfehler. So musst du ja den Namen z.B. immer doppelt schreiben.
4.) \chapter und \addchap enthalten ein \thispagestyle{plain} Das musst du durch ein \thispagestyle{empty} direkt nach \Anhang oder noch in dem Befehl wieder ausgleichen.
5.) Ich hab noch nicht mit titlesec gearbeitet. Vielleicht kann man das alles dort auch einstellen.
6.) In dem \Anhang-Befehl wir die letzte Zeile nicht mehr rechts ausgerichtet. Ich hab deswegen noch ein \\ am Ende ergänzt. Wenn jemanden der Grund und/oder eine bessere Lösung hierfür einfällt, immer her damit!
7.) Die Schrift solltest du mit den dafür vorgesehenen Tools \setkomafont oder von titlesec ändern. Hast du im ersten Post ja aber schon mal gezeigt, dass du das kannst.
Ich hab mal folgendes vorbereitet:
\newcommand\Anhang[1]{\refstepcounter{chapter}\addchap[Anhang~\Alph{chapter}~--~#1]{\vspace*{5.7cm}\raggedleft Anhang~\Alph{chapter}\\#1\\\thispagestyle{empty}}}
Du benutzt dann:
\begin{titlepage} 
  \Anhang{Name des Anhangs A}
\end{titlepage}
PS: Der Status Rückfrage ist für Antwortende die eine Rückfrage an den Themenstarter haben. Wenn du noch eine Frage hast, solltest du den Status stattdessen wieder auf offen stellen.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Besserwisser

Beitrag von Besserwisser »

Formatierungsanweisungen wie \vspace und \raggedleft haben in Gliederungsbefehlen nichts verloren. Daher rührt auch ein Teil der Probleme. Bei KOMA-Script gibt es saubere Schnittstellen, beispielsweise \raggedsection, \chapterheadstartvskip, \chapterformat, \addchaptertocentry etc. um die Formatierungen passend vornehmen zu können. Damit kann man entsprechende Änderungen dann beispielsweise auch an \appendix knüpfen. Ich würde empfehlen, die entsprechenden Seiten in der KOMA-Script-Anleitung mal durchzulesen. Ich habe leider im Augenblick keine Zeit, Euch zu zeigen, wie man damit arbeiten kann.

Antworten