Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Referenz anpassen

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    21

    Question Referenz anpassen

    Guten Morgen,

    ich habe ein kleines Problem. Ich würde gerne im Text auf meine Abbildungen und Tabellen referenzieren, damit ich nicht ständig die Nummerierung kontrollieren muss.

    Ich bekomme das auch schon soweit mit dem \ref{}-Befehl hin.

    Code:
    \documentclass[pdftex,
                   12p,
                   a4paper,
                   final,
                   notitlepage,pointlessnumbers,
                   toc=graduated,
                   bibtotoc, liststotoc,
                   listof=nochaptergap
                   ]
                   {scrreprt}
    
    \usepackage{remreset}
    \makeatletter
    \renewcommand{\l@figure}{\@dottedtocline{1}{0.5em}{3.5em}}
    \renewcommand{\l@table}{\@dottedtocline{1}{0.5em}{3.5em}}
    \renewcommand \thefigure{Abb. \@arabic\c@figure}
    \renewcommand \thetable{Tab. \@arabic\c@table}
    \renewcommand*{\figureformat}{\thefigure}
    \renewcommand*{\tableformat}{\thetable}
    \renewcommand*{\captionformat}{: }
    \makeatother
    
    \begin{document}
    \listoftables
    \vspace{5cm}
    Referenz: \ref{tab:Tabelle1}
    
    \begin{table}[ht]
    %  | Serviceportfolio | Servicekatalog
    \begin{tabular}{|p{25mm}|p{52.5mm}|p{52.5mm}|}
    \hline
    \textbf{Spalte1} & \textbf{Spalte2} & \textbf{Spalte3} \\
    \hline
    Inhalt & Inhalt & Inhalt \\
    \hline
    \end{tabular}
    \caption{Tabelle 1}
    \label{tab:Tabelle1}
    \end{table}
    
    Referenz: \ref{tab:Tabelle2}
    
    \begin{table}[ht]
    %  | Serviceportfolio | Servicekatalog
    \begin{tabular}{|p{25mm}|p{52.5mm}|p{52.5mm}|}
    \hline
    \textbf{Spalte1} & \textbf{Spalte2} & \textbf{Spalte3} \\
    \hline
    Inhalt & Inhalt & Inhalt \\
    \hline
    \end{tabular}
    \caption{Tabelle 2}
    \label{tab:Tabelle2}
    \end{table}
    \end{document}
    Die List of Tables und Caption passen schon soweit und sollten sich auch nicht ändern. Nur die Referenz hätte ich gerne anders.

    Es wird wie bei der List of Tables und dem Caption nur "Tab. 1" bzw. "Tab. 2" ausgegeben. Ich möchte aber, dass bei der Referenz "Tabelle 1" bzw. "Tabelle 2" ausgegeben wird. Ist das irgendwie möglich?

    Grüße Bilbo

  2. #2
    Registrierter Benutzer
    Registriert seit
    06.08.2008
    Beiträge
    1.015
    Du hast doch schon alles, was du brauchst. Es sind lediglich zwei Zeilen zu ändern:
    Code:
    % Anpassung des Einzugs im Verzeichnis
    \renewcommand{\l@table}{\@dottedtocline{1}{0.5em}{4.5em}}
    % "Tabelle" als Wort ausschreiben
    \renewcommand \thetable{Tabelle \@arabic\c@table}

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Der Standard \label/\ref-Mechanismus benutzt \thetable. Du kannst dir aber mit zref einen neuen \ref-Befehl definieren.

    Ich würde aber nicht das Tab. in \thetable speichern, sondern eher Tabellenverzeichnis und \caption getrennt anpassen. Dann zerschlägt es dir nicht die Tabellenunterschriften, wenn du später mal doch das Verzeichnis anders formatieren willst.

    Code:
    \documentclass{scrreprt}
    \usepackage{tocloft}
    \usepackage[user]{zref}
    \makeatletter
    \renewcommand \thetable{\arabic{table}}
    
    %ref
    \zref@newprop{tabtext}{Tabelle \arabic{table}}
    \zref@addprop{main}{tabtext}
    
    %toc
    \renewcommand{\cfttabpresnum}{Tab.\ }
    \newlength{\mylenf}
    \settowidth{\mylenf}{\cfttabpresnum}
    \setlength{\cfttabnumwidth}{\dimexpr\mylenf+1.5em}
    
    %caption
    \renewcommand*{\tableformat}{Tab. \thetable}
    \renewcommand*{\captionformat}{: }
    \makeatother
    
    \begin{document}
    \listoftables
    
    \begin{table}[ht]
    blub
    \caption{Tabelle 1}
    \zlabel{tab:Tabelle1}
    \end{table}
    
    Referenz: \zref{tab:Tabelle1}, \zref[tabtext]{tab:Tabelle1}
    \end{document}

  4. #4
    Registrierter Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    21
    Danke erstmal für eure schnelle Antworten.

    @hakaze: Das hab ich natürlich auch schon ausprobiert, doch ich möchte ja im Tabellenverzeichnis und im Caption "Tab." stehen haben, aber im Text bei der Referenz soll "Abbildung" stehen.

    @u_fischer: Das funktioniert soweit. Genau so hab ich es mir vorgestellt. Nur leider wird meine komplette Formatierung von allen Verzeichnissen geändert wenn ich das tocloft package verwende. Gibt es denn da keine andere Möglichkeit? Hab ehrlich gesagt keine Lust die Formatierung noch einmal neu zu machen.

    Grüße Bilbo

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Gibt es denn da keine andere Möglichkeit?
    Nun natürlich. Du kannst ja wie gehabt \thetable umdefinieren.

  6. #6
    Registrierter Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    21
    Nun natürlich. Du kannst ja wie gehabt \thetable umdefinieren.
    und wie definiere ich thetable um?

    Wenn ich \renewcommand \thetable{Tabelle \@arabic\c@table} schreibe wird zwar die Referenz richtig angezeigt, aber ich habe dann im Tabellenverzeichnis auch Tabelle (also ausgeschrieben) stehen. Ich möchte aber nur im Text, also bei der Referenz, Tabelle ausgeschrieben und im Tabellenverzeichnis und im Caption soll die Abkürzung Tab. stehen.

    Grüße Bilbo

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Wenn ich \renewcommand \thetable{Tabelle \@arabic\c@table} schreibe wird zwar die Referenz richtig angezeigt, aber ich habe dann im Tabellenverzeichnis auch Tabelle (also ausgeschrieben) stehen.
    Eben. Deswegen muss du wie gehabt (wie in deinen Ursprungsbeispiel) \renewcommand \thetable{Tab. \@arabic\c@table} benutzen.

    Für die Referenz benutzt du dann die \zref-Befehle aus meinem Beispiel.

  8. #8
    Registrierter Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    21
    okay ich hab das gestern schon getestet, hab aber meinen Fehler gefunden. Ich werde es heute abend nach der Arbeit nochmal testen.
    Ich hab die Referenz mit \ref{} und nicht mit \zref{} gemacht. Das kann ja nicht funktionieren

    Ich melde mich sobald es funktioniert. Aber schonmal danke Ulrike

    Grüße Bilbo

  9. #9
    Registrierter Benutzer
    Registriert seit
    30.01.2012
    Beiträge
    21

    Lightbulb Gelöst

    Ich habe es nun endlich hinbekommen.

    Danke nochmal für deine Hilfe Ulrike.

    mit \zref{} funktioniert es

    Das Thema kann dann auch geschlossen werden.

    Grüße Bilbo

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •