Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Geschicktes Verwalten von \caption{} und \label{} Referenzen

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.10.2011
    Beiträge
    2

    Geschicktes Verwalten von \caption{} und \label{} Referenzen

    Hallo Leute!

    Vor weg möchte ich mich entschuldigen falls ich diesen Beitrag falsch gepostet habe, habe leider wenig Erfahrung mit Foren.

    Um was geht es hier?

    In LaTeX ist es ja so, dass bei umfangreichen Dokumenten sehr viel \caption und \label bzw. ganz allgemein sehr viel Referenzen entstehen. Dabei kann man leicht die Übersicht verlieren (...wie lautet noch mal schnell die Referenz dieses Bildes...), vor allem wenn über \input{Kapitel1} ... \input{KapitelN} einzelne Abschnitte eingefügt werden ist es lästig alle *.tex Dateien ab zu suchen (auch wenn man ungefähr weiß wo die Referenz vergeben wurde).

    Meine Frage:

    Gibt es eine Möglichkeit "alle" aktiven Referenzen zu extrahieren und irgendwie dar zu stellen.
    Oder das beim kompilieren die Referenz sichtbar gemacht wird.

    Wie merkt ihr euch alle Referenzen?

    Dank und Gruß
    Harald

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.09.2006
    Beiträge
    361
    Hi,

    es gibt bestimmt viele Wege. Bei mir heißt das label, wie das, auf das es sich bezieht:

    \chapter{Haus}\label{chap:Haus}
    \section{Haus2}label{sec:Haus2}

    \begin{figure}
    {test.png}
    \caption{test.}\label{fig:test}
    \end{figure}

    Um Dir labels anzeigen zu lassen, hilft Dir das Paket showkeys.

    Wenn Du Dein Dokument z.B. mit \documentclass[draft]{scrbook} kompilierst, dann zeigt Dir \usepackage[draft]{showkeys} Labelbezeichnungen an
    Ubuntu 14.04 LTS, Texstudio 2.6, TeX Live 2014 (manuell installiert)

  3. #3
    ctansearch
    Gast
    Mit einem einfachen Trick geht das ganz gut.
    Wahlweise die Sternchen im newcommand entfernen oder hinzufügen, dann werden die labels und refs angezeigt oder nicht.

    Code:
    \documentclass[a4paper]{article}
    \newcommand{\mylabel}[1]{\label*{#1}}
    \newcommand{\myref}[1]{\ref*{#1}}
    \begin{document}
    \section{Labeltest}
    Ein bisschen Text
    \mylabel{mylabel}
    \myref{mylabel}
    \end{document}

  4. #4
    Registrierter Benutzer
    Registriert seit
    30.10.2011
    Beiträge
    2
    DANKE ElGato!
    DANKE ctansearch!

    Das das so schnell geht hätte ich nicht gedacht, DANKE!

    @ELGato

    Deine Antwort ist genau die Richtige, Danke! Nach so einem Verhalten habe ich gesucht . Schade nur, dass die visualisierten Referenzen teilweise außerhalb der Seitenränder liegen und so nicht vollständig angezeigt werden. Kennst du das Problem? Ist das möglicher weiße auf eine Inkompatibilität der \usepackage (trotz LaTex-Ergebnis: 0 Fehler) zurück zu führen?

    Kompiliere mit

    \documentclass[11pt,a4paper]{report} %Bilder bleiben auch erhalten; noch leichteres auffinden
    \usepackage[draft]{showkeys}
    … wenn ich es so mache wie du gesagt hast „fallen“ nur die Bilder raus, die visualisierten Referenzen sind trotzdem unvollständig…

    Danke!
    Harald

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Hallo,

    jeder vernünftige LaTeX-Editor sollte dir dabei helfen können. Ich benutze Emacs (mit RefTeX) und dort bekommt man eine Übersicht aller Label (inklusive der zugehörigen Überschriften) angezeigt und kann dann eins auswählen und schon wird die entsprechende Referenz erstellt.

    Christian.
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

  6. #6
    ctansearch
    Gast
    Ein Vorteil meines Vorschlags ist, daß man durch einfaches Formatieren im \newcommand die Labels im Text augenfällig hervorheben kann und diese Formatierung nach Belieben verändern und wieder wegnehmen kann.
    Code:
    \documentclass[a4paper]{article}
    \usepackage{color}
    \newcommand{\mylabel}[1]{\colorbox{green}{\label*{#1}}}
    \newcommand{\myref}[1]{\ref*{#1}}
    \begin{document}
    \section{Labeltest}
    Ein bisschen Text
    \mylabel{mylabel}
    \myref{mylabel}
    \end{document}

  7. #7
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von ctansearch Beitrag anzeigen
    [code]
    \newcommand{\mylabel}[1]{\colorbox{green}{\label*{#1}}}
    \newcommand{\myref}[1]{\ref*{#1}}
    Deine beiden Beispieldokumente funktionieren bei mir nicht so recht, oder ich kapiere deinen Code nicht.

    \label*{#1} ist identisch mit \label{*}{#1} (könnte man also auch genausogut als \label{*}#1 schreiben), setzt also ein Label namens "*" und gibt den Namen des Labels aus.

    \ref*{#1} macht das gleiche mit \ref, ist also identisch mit \ref{*}{#1}, es sei denn, das hyperref-Paket ist geladen, denn das stellt ein "echtes" \ref* zur Verfügung.

    Es wird also immer nur ein Label namens "*" generiert, und wenn man \mylabel mehrfach anwendet, bekommt man dementsprechend die Warnung "LaTeX Warning: There were multiply-defined labels." beim Übersetzen:

    Code:
    \documentclass[a4paper]{article}
    \usepackage{color}
    \newcommand{\mylabel}[1]{\colorbox{green}{\label*{#1}}}
    \newcommand{\myref}[1]{\ref*{#1}}
    \begin{document}
    \section{Labeltest1}
    Ein bisschen Text
    \mylabel{mylabel1}
    \myref{mylabel1}
    \section{Labeltest2}
    Ein bisschen Text
    \mylabel{mylabel2}
    \myref{mylabel2}
    \end{document}
    Die passende aux-Datei:
    Code:
    \relax 
    \@writefile{toc}{\contentsline {section}{\numberline {1}Labeltest1}{1}}
    \newlabel{*}{{1}{1}}
    \@writefile{toc}{\contentsline {section}{\numberline {2}Labeltest2}{1}}
    \newlabel{*}{{2}{1}}
    Geändert von sommerfee (31-10-2011 um 07:41 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Um die Labels etc. sichtbar zu machen, kann man das Paket showkeys verwenden, falls der Editor nicht bessere Möglichkeiten anbietet.

  9. #9
    ctansearch
    Gast
    @sommerfee
    ..moment

    Stimmt, geht so nicht.
    Geändert von ctansearch (31-10-2011 um 23:51 Uhr)

Stichworte

Lesezeichen

Berechtigungen

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