Verweise Part-Nummer in caption von Tabellen u. Abbildungen Thema ist als GELÖST markiert

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


aasaa00
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 99
Registriert: Do 1. Mär 2018, 11:43

Verweise Part-Nummer in caption von Tabellen u. Abbildungen

Beitrag von aasaa00 »

Hallo, ich habe folgende Frage: Meine Arbeit besteht aus 2 Teile. Wenn ich eine Abbildung oder Tabelle in einem der Teile einbringe, dann wird diese Tabelle ohne die Part-nummer nummeriert, z. B. im 2. Teil wird die erste Tabelle mit "1.1" nummeriert. Wenn ich aber auf diese Tabelle verweisen will, dann wird die Part-nummer mit angegeben - es steht da "s. Tabelle 2.1.1". Wie schaffe ich es, dass die Part-nummer in der caption auch angezeigt wird? Hier mein MWE:


\documentclass[open=any,12pt,oneside,headings=standardclasses,chapterprefix=false,numbers=noenddot]{scrbook} %headsepline obsolete: pointlessnumbers
\let\Tiny=\tiny


\usepackage{cleveref}

%%%%%\RedeclareSectionCommand[counterwithin=part]{chapter}
\renewcommand*{\thepart}{\arabic{part}}
\renewcommand*{\thechapter}{\arabic{chapter}}
%%%%%\renewcommand{\partmark}[1]{\markboth{#1}{}}
\makeatletter
\def\p@chapter{\thepart.}% Präfix für chapter-Labels
\def\p@section{\p@chapter}
\def\p@subsection{\p@section}
\def\p@subsubsection{\p@subsection}
\def\p@figure{\p@chapter}
\def\p@table{\p@chapter}
\makeatother


\usepackage[margin=10pt,font=small,labelfont=bf,belowskip=4pt,justification=centering]{caption}
%\captionsetup[figure]{labelfont=bf,textfont=it}
\captionsetup{justification   = raggedright,
              singlelinecheck = false}


% Dokumentenanfang
\begin{document}

\part{\thispagestyle{empty} {Weg}}
%%%%%%%%%%%%%%
\label{ErsterTeil}
\setcounter{section}{1}
\makeatletter
\@addtoreset{section}{part}
\makeatother

Hi (s. \ref{ma}), have a looak at table \ref{Briefkorr.I}.

\part{\thispagestyle{empty} {Übersetzung}}
\label{ZweiterTeil}
\setcounter{section}{1}
\makeatletter
\@addtoreset{section}{part}
\makeatother

\chapter{fff}

ddfdf\label{ma}\\

\begin{table}
 \begin{tabular}[t]{lrr@{.}l}
    Position 1 & DM &  5 & 49\\
    Position 2 & DM & 10 & 95\\
  \end{tabular}
\caption{Korrespondenz}\label{Briefkorr.I}
\end{table}

\end{document}


aasaa00
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 99
Registriert: Do 1. Mär 2018, 11:43

Re: Verweise Part-Nummer in caption von Tabellen u. Abbildungen

Beitrag von aasaa00 »

Da ich bisher keine Antwort erhalten habe und die Zeit gegen mich läuft, habe ich die Frage parallel hier gepostet: https://tex.stackexchange.com/questions/657349/adding-partnumber-in-a-caption

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Verweise Part-Nummer in caption von Tabellen u. Abbildungen

Beitrag von KOMA »

Sorry, aber der Code aus dem Beispiel funktioniert (verm. wegen mehrerer Leerzeilen am Anfang) nicht im Online-Editor und ist so merkwürdig bzw. inkonsequent, dass ich mehr Zeit brauche, um darauf einzugehen. Außerdem stand er leider nicht im KOMA-Script-Bereich des Forums, so dass ich den erst nicht mitbekommen hatte.

Beginnen wir damit, dass einseitige Bücher eigentlich keinen Sinn ergeben – jedenfalls solange man kein \frontmatter etc. verwendet. Dann fährt man eigentlich mit scrreprt min. genauso gut.

Option open=any ergibt zusammen mit oneside erst recht keinen Sinn. Bei einseitigen Dokumenten gibt es nicht die Wahl zwischen Kapitelanfängen auf linken, rechten oder allen Seiten, da ohnehin alle Seiten gleich behandelt werden.

Erst headings=standardclasses zu setzen und dann chapterprefix=false ist auch etwas merkwürdig. Da ist es ggf. sinnvoller nur die Schrift der Überschriften zu ändern oder gleich die Verwendung von serifenloser Schrift in KOMA-Script ganz abzuschalten. Dafür gibt es ja extra einen Option.

Noch merkwürdiger ist, eine neue Schriftgröße \Tiny zu definieren, diese aber mit \tiny gleich zu setzen. Warum dann nicht gleich \tiny verwenden?

Ebenso merkwürdig ist, in den Tabellennummern die Teile-Nummer als Präfix haben zu wollen, bei den Gliederungsnummern aber nicht. Das ist komplett inkonsequent. Wenn man das aber unbedingt haben will, dann muss man eben \thetable umdefinieren: \renewcommand*{\thetable}{\thepart.\thechapter.\arabic{table}}. Dafür kann man sich dann das \p@…-Gedönst sparen. Dir dortigen Einstellungen \p@section, \p@subsection, \p@subsubsection sind ohnehin überflüssig, weil sie der Voreinstellung entsprechen. Das gilt übrigens auch für \thechapter.

Dann dieser Unsinn mit \thispagestyle{empty} im Argument von \part. Dir ist hoffentlich klar, dass die das ggf. im Inhaltsverzeichnis und unter Umständen auch im Kolumnentitel auf die Füße fällt. Für das, wofür du es eigentlich haben willst, gibt es extra \partpagestyle. Außerdem produzierst du da im Extremfall sogar unerwünschte Leerzeichen durch das Leerzeichen nach \thispagestyle{empty}. Die zusätzliche Klammer bei {Weg} und {Übersetzung} ist ebenfalls überflüssig.

Ganz schlecht ist, mitten im Dokument und dann gleich mehrfach \@addtoreset{section}{part} zu verwenden. Wenn schon, dann \counterwith*{section}{part} in die Dokumentpräambel. So richtig Sinn ergibt das aber nicht. Die Ebene nach \part sollte ohnehin \chapter sein und ist es im Beispiel auch. Und wozu dann noch ein \setcounter{section}{1}. Das ist dann quasi nicht nur doppelt gemoppelt, sondern gleich dreifach.

Ich vermute also, dass du eigentlich:
\documentclass[12pt,oneside,headings=standardclasses,chapterprefix=false,numbers=noenddot]{scrbook}
\let\Tiny=\tiny
\usepackage[ngerman,main=english]{babel}
\usepackage{cleveref}

\renewcommand*{\thepart}{\arabic{part}}
\renewcommand*{\thetable}{\thepart.\thechapter.\arabic{table}}
\renewcommand*{\thefigure}{\thepart.\thechapter.\arabic{figure}}

\renewcommand*{\partpagestyle}{empty}

\usepackage[margin=10pt,font=small,labelfont=bf,belowskip=4pt,justification=raggedright,singlelinecheck=false]{caption}% Das geht übrigens alles auch mit KOMA-Script-Mitteln


% Dokumentenanfang
\begin{document}

\part{Way}
%%%%%%%%%%%%%%
\label{ErsterTeil}

Hi (s. \ref{ma}), have a look at table \ref{Briefkorr.I}.

\selectlanguage{ngerman}
\part{Übersetzung}
\label{ZweiterTeil}

\chapter{fff}

ddfdf\label{ma}% Verwende niemals \\ für den eigentlichen Text, also außerhalb
               % von bestimmten Umgebungen wie verse, tabular, …. \\ schon gar
               % nicht am Absatzende. Wenn du Absatzabstand haben willst,
               % schau dir Option parskip in der KOMA-Script-Anleitung an.

\begin{table}
 \begin{tabular}[t]{lrr@{.}l}
    Position 1 & DM &  5 & 49\\
    Position 2 & DM & 10 & 95\\
  \end{tabular}
\caption{Korrespondenz}\label{Briefkorr.I}
\end{table}

\end{document}
suchst. Eventuell besser und konsequenter wäre aber:
\documentclass[12pt,numbers=noenddot]{scrreprt}
\usepackage[ngerman,main=english]{babel}
\usepackage{cleveref}

\setkomafont{disposition}{\bfseries}

\renewcommand*{\thepart}{\arabic{part}}
\counterwithin{chapter}{part}
\renewcommand*{\partpagestyle}{empty}
\usepackage{siunitx}

\usepackage[margin=10pt,font=small,labelfont=bf,belowskip=4pt,justification=raggedright,singlelinecheck=false]{caption}% Das geht übrigens alles auch mit KOMA-Script-Mitteln

\begin{document}

\part{Way}
\label{ErsterTeil}

Hi (s. \ref{ma}), have a look at table \ref{Briefkorr.I}.

\selectlanguage{ngerman}
\part{Übersetzung}
\label{ZweiterTeil}

\chapter{fff}

ddfdf\label{ma}% Verwende niemals \\ für den eigentlichen Text, also außerhalb
               % von bestimmten Umgebungen wie verse, tabular, …. \\ schon gar
               % nicht am Absatzende. Wenn du Absatzabstand haben willst,
               % schau dir Option parskip in der KOMA-Script-Anleitung an.

\begin{table}
  \begin{tabular}{lrS}
    Position 1 & DM &  5.49\\
    Position 2 & DM & 10.95\\
  \end{tabular}
  \caption{Korrespondenz}\label{Briefkorr.I}
\end{table}

\end{document}
bzw:
\documentclass[12pt,numbers=noenddot,egregdoesnotlikesansseriftitles]{scrreprt}
\usepackage[ngerman,main=english]{babel}
\usepackage{cleveref}

\renewcommand*{\thepart}{\arabic{part}}
\counterwithin{chapter}{part}
\renewcommand*{\partpagestyle}{empty}
\usepackage{siunitx}

\usepackage[margin=10pt,font=small,labelfont=bf,belowskip=4pt,justification=raggedright,singlelinecheck=false]{caption}% Das geht übrigens alles auch mit KOMA-Script-Mitteln

\begin{document}

\part{Way}
\label{ErsterTeil}

Hi (s. \ref{ma}), have a look at table \ref{Briefkorr.I}.

\selectlanguage{ngerman}
\part{Übersetzung}
\label{ZweiterTeil}

\chapter{fff}

ddfdf\label{ma}% Verwende niemals \\ für den eigentlichen Text, also außerhalb
               % von bestimmten Umgebungen wie verse, tabular, …. \\ schon gar
               % nicht am Absatzende. Wenn du Absatzabstand haben willst,
               % schau dir Option parskip in der KOMA-Script-Anleitung an.

\begin{table}
  \begin{tabular}{lrS}
    Position 1 & DM &  5.49\\
    Position 2 & DM & 10.95\\
  \end{tabular}
  \caption{Korrespondenz}\label{Briefkorr.I}
\end{table}

\end{document}
Bezüglich der Verwendung von S-Spalten in Tabellen sei auf die Anleitung siunitx hingewiesen.

Antworten