PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gliederungsebenen anpassen vs. \ref



mimi3000
09-10-2017, 18:47
Hallo zusammen,

ein neuerliches Problem beim Anpassen meines Dokuments an die Verlagsvorgaben.
Laut der Vorlage soll die Nummerierung wie folgt definiert werden: Part=Großbuchstabe, Chapter=röm. Zahl, Section=arab. Zahl, Subsection=Kleinbuchstabe, Subsubsection=Kleinbuchstaben.

Mit folgenden Anpassungen hab ich das auch einigermaßen hinbekommen (endgültige Anpassungen fehlen noch, funktioniert aber soweit):



\documentclass[a4paper,fontsize=10pt,numbers=noenddot]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{times}
\usepackage{setspace}
\usepackage{chngcntr}
\usepackage[papersize={210mm,297mm},text={113mm,180mm},inner=7 7mm,outer=20mm,top=34mm,bottom=83mm]{geometry}
\usepackage{blindtext}


\KOMAoptions{toc=chapterentrydotfill}

\addtokomafont{partnumber}{\large}
\addtokomafont{part}{\large}
%\addtokomafont{partentry}{\normalsize \mdseries}
\addtokomafont{partentry}{\normalsize \bfseries}
\addtokomafont{partentrypagenumber}{\nullfont}
\addtokomafont{chapterprefix}{\fontsize{11}{11} \bfseries}
\addtokomafont{chapter}{\fontsize{11}{11} \bfseries}
\addtokomafont{chapterentry}{\bfseries}
\addtokomafont{chapterentrypagenumber}{\mdseries}
%\addtokomafont{chapterprefix}{\large}
%\addtokomafont{chapter}{\large}
\addtokomafont{section}{\fontsize{10}{10} \bfseries}
\addtokomafont{subsection}{\fontsize{10}{10} \itshape}
\addtokomafont{subsubsection}{\fontsize{10}{10}\no rmalfont}

\renewcommand*{\raggedsection}{\centering}
\renewcommand*{\partformat}{\thepart\autodot}

\usepackage{titletoc}
\renewcommand{\thepart}{\Alph{part}.}
\renewcommand{\thechapter}{\Roman{chapter}.}
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\alph{subsection})}
\renewcommand{\thesubsubsection}{\alph{subsection} \alph{subsubsection})}

%Einrückung nach Part-/Chapter..-Nummern im Inhaltsverz.
\RedeclareSectionCommand[tocnumwidth=1.5em]{part}
\RedeclareSectionCommand[tocnumwidth=2.5em]{chapter}
\RedeclareSectionCommand[tocindent=2.5em,tocnumwidth=2.5em]{section}
\RedeclareSectionCommand[tocindent=5em,tocnumwidth=2.5em]{subsection}
\RedeclareSectionCommand[tocindent=7.5em,tocnumwidth=2.5em]{subsubsection}

\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\begin{document}

\tableofcontents

\part{TEIL EINS}
\chapter{erstes Kapitel}
\section{erste section}
\subsection{erste subsection}
\subsubsection{erste subsubsection}
\blindtext
\subsubsection{zweite subsubsection}
\blindtext
test\footnote{Siehe Kap. \ref{test}.}
\part{TEIL ZWEI}
\chapter{zweites Kapitel}
\section{zweite section}
\subsection{zweite subsection}\label{test}
\subsubsection{wieder erste subsubsection}
\blindtext


\end{document}



Jetzt ergibt sich aber folgendes Problem, das im Minimalbeispiel an der Fußnote ersichtlich wird: Hier steht "Siehe Kap. a.)", es sollte aber der gesamte "Pfad" bzw. die genaue Gliederungsebene ausgegeben werden im Sinne von "Siehe Kap. A. I. 1. a)".

Grundsätzlich leuchtet mir die Ursache ein. Mit
\renewcommand{\thechapter}{\Roman{chapter}.} bspw. habe ich die chapter-Ausgabe umdefiniert. Würde ich das hier so anpassen, dass es bei der Referenzierung klappt, wird das Ganze natürlich auch ins Inhaltsverzeichnis übernommen; dort soll aber die bisherige Lösung weiterhin bestehen, also bspw. beim Chapter nicht "A. I. Chapter 1" stehen, sondern weiterhin "I. Chapter 1".


Hat hierfür jemand eine Idee?

mimi3000
09-10-2017, 19:02
Und es besteht noch ein zweites Problem hierbei. Part, Chapter und Section sind im MinBsp so definiert, dass sie mit einem Punkt abschließen:

\renewcommand{\thesection}{\arabic{section}.}

Das erfüllt seinen Zweck, führt aber zu dem Problem, dass meine Verweise in den Fußnoten nun mit zwei Punkten enden, da in der Regel wie folgt verwiesen wurde:

\footnote{Siehe Kap. \ref{verweis}.} Der (jetzt zusätzliche) Punkt hier musste in der Abgabefassung gesetzt werden, in der Druckfassung ist er durch die Umformatierung wie oben nun überflüssig. Es handelt sich allerdings um rund 600 Seiten Text, und ich würde ungern händisch alle Verweise bearbeiten.
Gibt es eine entsprechende Möglichkeit, ref anzupassen, oder müsste die obige Lösung überdacht werden?

u_fischer
09-10-2017, 20:18
Mit zref geht alles https://tex.stackexchange.com/questions/314279/abbreviated-references-just-the-necessary-references-no-more, und du solltest keine Punkte am Ende von \thesection einfügen, ändere besser die Überschriften.

mimi3000
10-10-2017, 11:35
Hallo und vielen Dank, das sieht bei aller Komplexität doch sehr sinnvoll aus - eventuell muss ich mich damit noch näher auseinandersetzen.

Doch zunächst sieht die verlinkte Lösung mit zref für mich aus, als wäre diese vor allem darauf ausgelegt, ein Problem zu lösen, das sich mir (zumindest noch) nicht stellt. Denn in meinem Fall darf grundsätzlich der volle Gliederungspfad ausgegeben werden, d.h. auch wenn man innerhalb einer section (1) von subsection a auf subsection b verlinkt, darf dort ruhig "siehe Kap. 1. b)" stehen, es muss nicht verkürzt werden zu "siehe b)", da der Verweis innerhalb einer Section bleibt.

Was mich irritiert: Belasse ich die Standardgliederung (1.1.1.1 anstatt A.I.1.a), funktionieren auch die Verweise genau wie sie sollen. 6246
Dafür muss ich im obigen Minimalbeispiel lediglich folgenden Block auskommentieren:



\usepackage{titletoc}
\renewcommand{\thepart}{\Alph{part}.}
\renewcommand{\thechapter}{\Roman{chapter}.}
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\alph{subsection})}
\renewcommand{\thesubsubsection}{\alph{subsection} \alph{subsubsection})}


Sobald ich mit diesen Zeilen aber die Anpassung der Gliederungebenen vornehme, wirkt sich das auch entsprechend negativ auf die Verweise aus, wie ganz oben beschrieben. Deshalb meine vielleicht etwas naive Frage, ob sich das nicht einfacher bewerkstelligen lässt - sprich das ursprüngliche ref-Verhalten beizubehalten und lediglich die "Symbole" der Gliederungsebenen umzudefinieren?

Im Inhaltsverzeichnis und in den Überschriften soll freilich nicht mehr der gesamte Gliederungspfad erscheinen, sondern nur die aktuelle Ebene; folgende Möglichkeit scheidet damit aus:


\renewcommand{\thepart}{\Alph{part}.}
\renewcommand{\thechapter}{\Alph{part}. \Roman{chapter}.}
\renewcommand{\thesection}{\Alph{part}. \Roman{chapter}. \arabic{section}.}
\renewcommand{\thesubsection}{\Alph{part}. \Roman{chapter}. \arabic{section}. \alph{subsection})}
\renewcommand{\thesubsubsection}{\Alph{part}. \Roman{chapter}. \arabic{section}. \alph{subsection}) \alph{subsection}\alph{subsubsection})}




und du solltest keine Punkte am Ende von \thesection einfügen, ändere besser die Überschriften.

Was meinst du damit? Der Punkt in der Section-Zeile wurde wie auch bei Part und Chapter lediglich gesetzt, damit hier nicht "1 Section eins" steht, sondern "1. Section eins", wie auch im von dir verlinkten Beispiel...

u_fischer
10-10-2017, 22:45
Deshalb meine vielleicht etwas naive Frage, ob sich das nicht einfacher bewerkstelligen lässt - sprich das ursprüngliche ref-Verhalten beizubehalten und lediglich die "Symbole" der Gliederungsebenen umzudefinieren?

Nein. Wenn du \thesubsection verkürzt, dann verkürzt du auch die Referenz und dann bekommst die höheren Ebenen nur noch mit z.B. zref.


Was meinst du damit? Der Punkt in der Section-Zeile wurde wie auch bei Part und Chapter lediglich gesetzt, damit hier nicht "1 Section eins" steht, sondern "1. Section eins"

Den Punkt kannst du auch über die Umformatierung der Überschriften (\sectionxxxformat oder so ähnlich einfügen).