Archiv verlassen und diese Seite im Standarddesign anzeigen : undefined references trotz keiner Probleme
Hallo,
ich habe eine kleine Verständnisfrage. Ich verwende die Vorlage von Matthias Pospiech um etwas größeres zu schreiben.
Bildern gebe ich als label sowas wie fig:bildlabel, tabellen bekommen tab:tabellenlabel, abschnitte sec:abschnittslabel.
Auf in dieser Weise versehene Bestandteile der Arbeit, nehme ich im Text mittels \figref{bildlabel}, \tabref{tabellenlabel} und \secref{abschnittslabel} bezug.
Das sieht im Ausgabedokument auch völlig korrekt aus. Die Logdatei bzw. Consolenausgabe zeigt mir allerdings so ziemlich alle meine Label als undefined an.
Kann ich das ruhigen Gewissens ignorieren, oder kann das später mal ein Problem werden?
Gruß
alpe
Das sieht im Ausgabedokument auch völlig korrekt aus. Die Logdatei bzw. Consolenausgabe zeigt mir allerdings so ziemlich alle meine Label als undefined an.
Kann ich das ruhigen Gewissens ignorieren, oder kann das später mal ein Problem werden?
Beim letzten LaTeX-Lauf sollten _alle_ diesbezüglicehn Warnungen
verschwinden!
Herbert
Dieser Aussage würde ich auch bedingungslos zustimmen. Ich kann nur keine Auswirkungen nicht definierter Referenzen feststellen. Alles was angeblich 'undefined' ist, taucht als korrekter hyperref im PDF auf.
Ich bin jetzt bei insgesamt 4 pdflatex Durchläufen. Ich kann ja mal ein paar mehr Durchläufe machen lassen und sehen ob sich etwas ändern.
nimm das paket fancyref. dann kannst du deine label stehen lassen (\label{fig:bla} z.B.) und verweist dann mittels \fref{fig:bla}. Gibt bei mir keine Probleme oder Warnungen.
Danke für den Hinweis legion. Bei Verwendung von \Fref verschwinden die warnings.
Einziger 'Nachteil' ist dass das Wort Abbildung jetzt nicht mehr zum klickbaren Link gehört. Ist aber zu vernachlässigen.
sommerfee
07-05-2010, 20:49
Einziger 'Nachteil' ist dass das Wort Abbildung jetzt nicht mehr zum klickbaren Link gehört. Ist aber zu vernachlässigen.
Dann wäre noch \autoref eine Alternative. Gehört zum hyperref-Paket und "Abbildung" gehört dort auch zum Link.
Liebe Grüße,
Axel
Danke für den Hinweis. Ich werde das ausprobieren.
Mir bleibt dann nur noch die Frage, warum es mit der 'normalen' \ref Variante zu Problemen kommt. Sollte ja eigentlich nicht passieren dürfen, ist aber vielleicht dann ein Problem mit der Vorlage.
sommerfee
08-05-2010, 13:49
Sollte ja eigentlich nicht passieren dürfen, ist aber vielleicht dann ein Problem mit der Vorlage.
Das Problem an der Vorlage von Matthias Pospiech sehe ich darin, daß es sehr viele Paket lädt. Aber Pakete können irgendwie immer Inkompatibilitäten zu einander haben, und diese können sich auch abhängig vom Versionsstand äußern. Daher bevorzuge ich den Ansatz, mit einer KOMA-Dokumentenklasse zu beginnen und dann nur diejenigen Pakete zu laden, die man wirklich für sein Dokument braucht.
Würde ich nochmal was größeres setzen müssen, würde ich übrigens ConTeXt statt LaTeX nehmen, aber das ist ein anderes Thema...
Liebe Grüße,
Axel
Dann wäre noch \autoref eine Alternative. Gehört zum hyperref-Paket und "Abbildung" gehört dort auch zum Link.
Liebe Grüße,
Axel
Ich habe ein kleines Problem mit \autoref
Die Verwendung out of the box ( z.B. \autoref{fig:schema} ) setzt mir englische Begriffe wie Figure, Table usw.
Dagegen soll \renewcommand*{\figurename}{Abb.~} Abhilfe schaffen. Leider hat das bei mir keinen Effekt.
Habe ich etwas übersehen?
Kommando zurück..
Ich habe mir noch einmal das Macro der Vorlage angesehen.
Dort stand
\providecommand*{\figrefname}{Abb.~}
\newcommand*{\figref}[1]{%
\hyperref[#1]{\figrefname{}}\ref{fig:#1}%
}
Damit kommt es logischerweise zu einer undefined reference, da es heißen muss
\providecommand*{\figrefname}{Abb.~}
\newcommand*{\figref}[1]{%
\hyperref[fig:#1]{\figrefname{}}\ref{fig:#1}%
}
Ist mittlerweile schon in der Vorlage die man von seiner Homepage laden kann geändert... Dort lohnt sich vielleicht ein Datum mit aktueller Version der Vorlage und ein kleines changelog. Komplex genug ist sie ja mittlerweile.
MfG
alpe
Definiere "ngerman" auch direkt in den Optionen der documentclass, dann sollte hyperref die Sprache erkennen. Also etwa
\documentclass[ngerman]{scrartcl}
...
\usepackage[ngerman]{babel}
...
\usepackage[Deine Optionen]{hyperref}
Beschriftungen ändern mache ich über
% "Abbildung" wird zu "Abb.", "Tabelle" wird zu "Tab."
\addto\captionsngerman{%
\renewcommand{\figurename}{Abb.}
\renewcommand{\tablename}{Tab.}}
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.