\documentclass{scrreprt} \usepackage[ngerman]{babel} \setuptoc{toc}{numbered} \newcommand{\secnumbering}[1]{% \setcounter{chapter}{0}% \setcounter{section}{0}% \renewcommand{\thechapter}{\csname #1\endcsname{chapter}}% nach Duden gehört % der Punkt hier hin bei gemischten Zählungen \renewcommand{\thesection}{\thechapter\csname #1\endcsname{section}}% } \pagenumbering{roman} \secnumbering{Roman} \begin{document} \tableofcontents \chapter{Test} \pagenumbering{arabic} \secnumbering{arabic} \chapter{Kapitel 1} \label{chp:kapitel1} \chapter{Kapitel 2} \label{chp:kapitel2} \section{Abschnitt 1} \label{sec:abschnitt1} \subsection{Abschnitt 2} \label{sec:abschnitt2} Wie man in Kapitel \ref{sec:abschnitt2} sieht ... \end{document}
Chapter und Section durchnummerieren
Hm … also wenn ich diesen Code
beliebig oft durchlaufen lasse erhalte ich einfach keinen Punkt. Geht es bei dir mit genau diesem Beispiel?
Moin moin,
Tut es nicht bereits?
MfG
Rainer
ich habe noch nicht verstanden, wozu Du Dir überhaupt die Mühe machst, \thesection umzudefinieren, zumal hier zwischen \sectionnumbering{Roman} und \sectionnumbering{arabic} gar kein Abschnitt gesetzt wird.fuchsmeister hat geschrieben:\sectionnumbering{Roman} \begin{document} \tableofcontents \newpage \pagenumbering{arabic} \sectionnumbering{arabic}
Tut es nicht bereits
\documentclass[11pt, headincluded, listof=totoc, listof=numbered, bibliography=totoc, listof=totocnumbered]{scrreprt} \usepackage[ngerman]{babel} \usepackage{graphicx} \setuptoc{toc}{numbered} \renewcommand*\thechapter{\Roman{chapter}} \pagenumbering{roman} \begin{document} \tableofcontents \listoffigures \clearpage \pagenumbering{arabic}% \renewcommand*\thechapter{\arabic{chapter}}\setcounter{chapter}{0}% \chapter{Kapitel 1} \label{chp:kapitel1} \begin{figure} \centering \resizebox{0.5\linewidth}{0.2\textheight}{Testbild} \caption{in Bild} \end{figure} \chapter{Kapitel 2} \label{chp:kapitel2} \section{Abschnitt 1} \label{sec:abschnitt1} \subsection{Abschnitt 2} \label{sec:abschnitt2} Wie man in Unterabschnitt \ref{sec:abschnitt2} sieht ... \end{document}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
- Stefan Kottwitz
- Admin
- Beiträge: 2759
- Registriert: Di 8. Jul 2008, 00:39
- Kontaktdaten:
Ja, bei mir ist das genauso. Jedoch hast Du auch diese Zeile weggelassen, die Jens im Code hat:iTob hat geschrieben:Hm … also wenn ich diesen Code
...
beliebig oft durchlaufen lasse erhalte ich einfach keinen Punkt. Geht es bei dir mit genau diesem Beispiel?
\renewcommand\thechapter{\Roman{chapter}}%
Stefan
Ja gut. Aber die Idee von meinem Code war ja, dass die Art der Ziffern sich analog zu \pagenumbering in einem Schritt anpassen lässt. Ich vermute mal dass man mit meinem Weg die Stelle, an der KOMA-Script prüft, ob es einen Punkt setzten muss oder nicht, übergeht und deswegen der Automatismus nicht funktioniert.
- Stefan Kottwitz
- Admin
- Beiträge: 2759
- Registriert: Di 8. Jul 2008, 00:39
- Kontaktdaten:
Kann man sicher anpassen. Ich hatte auch eher auf Jens' Beispiel Bezug genommen, wo etwas Weglassen etwas half.
Ansonsten kann man ja mal in den Klassen-Code schauen, \autodot\enskip wird nicht direkt in \thechapter verwendet, sondern in \chapterformat und \chaptermarkformat zusätzlich zu \thechapter, während z.B. \thesection explizit den Punkt hinter \thechapter setzt. Das bedeutet, der Punkt gehört per Design nicht in \thechapter hinein.
Stefan
Ansonsten kann man ja mal in den Klassen-Code schauen, \autodot\enskip wird nicht direkt in \thechapter verwendet, sondern in \chapterformat und \chaptermarkformat zusätzlich zu \thechapter, während z.B. \thesection explizit den Punkt hinter \thechapter setzt. Das bedeutet, der Punkt gehört per Design nicht in \thechapter hinein.
Stefan
afaics wird per \@maybeautodot getestet, ob eine Zählerrepräsentation (z. B. \thechapter) \Alph, \Roman oder einer ihrer Artgenossen entspricht.iTob hat geschrieben:aber der Mechanismus, der im Hintergrund von \autodot feststellt ob dot oder nicht wird in meinem Beispiel offensichtlich ausgehebelt.
`\csname Roman \endcsname' wird von diesem Test nicht erfasst.
\newcommand{\secnumbering}[1]{% \setcounter{chapter}{0}% \setcounter{section}{0}% \expandafter\renewcommand\expandafter\thechapter\expandafter{\csname #1\endcsname{chapter}}% \renewcommand{\thesection}{\thechapter\csname #1\endcsname{section}}% }
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)
- Stefan Kottwitz
- Admin
- Beiträge: 2759
- Registriert: Di 8. Jul 2008, 00:39
- Kontaktdaten:
Genau wie Rainer sagt - \show\thechapter zeigt auch an:
\@@maybeautodot testet jedoch direkt auf \Roman, u.a:
Nun kann man notfalls auch diesen Test redefinieren und damit etwas verallgemeinern, er findet sich im Quellcode der Klasse.
Stefan
> \thechapter=\long macro: ->\csname Roman\endcsname {chapter}.
\ifx #1\Roman \@autodottrue\fi
Stefan