Verweise auf Tabellen/Abb. funktionieren nicht

Tabellen und Grafiken erstellen und anordnen


Sheila
Forum-Anfänger
Forum-Anfänger
Beiträge: 41
Registriert: So 24. Jan 2010, 13:58

Verweise auf Tabellen/Abb. funktionieren nicht

Beitrag von Sheila »

Hallo zusammen,

habe folgendes Problem: Keines meiner Tabellen und Abb.verweise funktioniert. Hab mehrere Pakete und Befehle eingebunden und seitdem wir alles nur noch mit Fragezeichen ausgegeben. Hat jemand eine Idee, woran das liegen könnte?
\documentclass[12pt]{scrreprt}
\usepackage{setspace}		%zeilenabstand
\usepackage[T1]{fontenc}	%Einfügen von Umlauten
\usepackage[latin1]{inputenc} %Ausdruck auf DinA4 Papier
\usepackage[ngerman]{babel}
\usepackage{float}
\usepackage{dcolumn}
\usepackage{caption}
\usepackage{lmodern} %diese beiden Pakete zur automatischen Silbentrennung
\usepackage{colortbl, booktabs}
\usepackage{fancyhdr}
\usepackage[left=40mm, right=20mm,top=28mm, bottom=33mm]{geometry} 
\usepackage{tocloft}


% für Abbildungsverzeichnis
\renewcommand{\cftfigpresnum}{Abb. }
\renewcommand{\cftfigaftersnum}{:}
\setlength{\cftfignumwidth}{2cm}
\setlength{\cftfigindent}{0cm}
% für Tabellenverzeichnis
\renewcommand{\cfttabpresnum}{Tab. } 
\renewcommand{\cfttabaftersnum}{:}
\setlength{\cfttabnumwidth}{2cm}
\setlength{\cfttabindent}{0cm}

\setcounter{secnumdepth}{3}  
\setcounter{tocdepth}{3} 			
\setlength{\parindent}{0pt}
\setlength{\footnotesep}{3,5mm} 
\setlength{\skip\footins}{0,5cm} 
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont} 
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} 

\begin{document}
\pagestyle{empty}
\changefont{ptm}{m}{n}  % Schrift einstellen
\setstretch {1.241} 

\renewcommand{\figurename}{Abb.}
\renewcommand{\tablename}{Tab.}

\begin{table}[!ht]
  \centering
   \fontsize{10pt}{10pt}\selectfont{
 \setlength{\tabcolsep}{10pt}
 \renewcommand{\arraystretch}{1.2}
\begin{tabular}[c]{R{1cm}}
    \addlinespace
      fasdf \\
    \toprule
 asdf \\
   \bottomrule
    \end{tabular}
    }
    \caption[]{}.}
    \label{Tabelle}
\end{table}

%funktioniert nicht:
\ref{Tabelle}

\end{document}[/cod]

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Dein Beispiel funktioniert, zumindest, wenn man ein falsches } hier löscht:
falsch: \caption[]{}.} richtig: \caption[]{.}

Tritt der Fehler bei dir auch in exakt diesem Code auf?

Übrigens muss man für Verweise immer mindestens 2x kompilieren, denn beim ersten Lauf werden erstmal nur alle labels gesammelt und erst beim zweiten korrekt verteilt.
Ein dritter Lauf kann nötig sein, wenn es um Referenzen auf Seitenzahlen geht, da sich die auch dann noch ändern können.

Sheila
Forum-Anfänger
Forum-Anfänger
Beiträge: 41
Registriert: So 24. Jan 2010, 13:58

Beitrag von Sheila »

sorry, hab mich bei dem Minimalbeispiel vertan. Bei der richtigen Latexdatei hab ich mehrere Referenzen und die sind auch alle korrekt geschrieben, da sie vor dem Einbinden neuer Befehle/Pakete funktioniert haben. Hast du villt sonst eine Idee, woran das liegen könnte?

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Ausser dir kennt niemand dein Dokument und weiss, was du genau tust. Daher muss ich deine Frage leider mit "Nein" beantworten.

Ich würde dir empfehlen, ein richtiges Minimalbeispiel zu erstellen, mit dem du das Problem soweit einkreist, dass du das "Extrakt" des Codes hier ins Forum stellen kannst.
Eine Anleitung, wie man sowas macht, findest du hier.

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Dem Problem kommst du auf die Schliche, indem du solange Text bzw. Code aus einer Kopie deines Dokumentes rauswirfst, bis der Fehler nicht mehr auftritt. Dann weißt du, daß es mit dem gerade eben rausgeworfenen Code zu tun haben muß. Damit kann man das Problem letztendlich einkreisen und identifizieren, und selbst wenn man dann nicht weiß, woran es liegt, kann man es als Beispiel hier posten, so daß andere das Problem bei sich nachvollziehen und ggf. für dich lösen können.

Dieses Vorgehen ist hier erklärt: http://www.minimalbeispiel.de

Sheila
Forum-Anfänger
Forum-Anfänger
Beiträge: 41
Registriert: So 24. Jan 2010, 13:58

Beitrag von Sheila »

Ich wüßte nicht, wie ich das Minimalbsp. kleiner halten soll. Hab extra nur eine Tabelle genommen und alles, was im Präambel steht, kann ja Ursache für den Fehler sein, von daher muss ich das doch hier posten.

latexisteinfach
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Sa 10. Jul 2010, 11:10
Wohnort: Berlin

Beitrag von latexisteinfach »

Auch bei mir funktioniert Dein Beispiel, die Referenz wird korrekt auf 0.1 gesetzt,
aber insgesamt scheint mir Dein Code ein wenig unaufgeräumt,
bzw. ich kann evtl. von Dir noch was lernen.
Zum Debuggen kannst Du noch folgendes voranstellen:
\listfiles
\errorcontextlines=\maxdimen
% \RequirePackage[loading]{tracefnt}
\RequirePackage{infwarerr}
%% ---
\documentclass{scrreprt} %option 12pt ist veraltet
...
Off Topic:

Es ist auch klug sich genau zu notieren, warum Du welches Paket lädst.
Und wenn ich Code Schnipsel von anderen Quellen verwende schreibe
ich mir oft dazu, woher sie stammen.

Nun meine neugierige Frage an Dich:
Was hat es mit dem [\cod] auf sich?

Und noch ein Tipp, wenn Du in Tabellen oder Parboxen einen guten
Zeilenumbruch möchtest, schaue Dir mal das Paket: ragged2e
an, das stellt den Befehl \RaggedLeft zu verfügung.

Ich bin faul zu suchen, deshalb direkt die Frage an Dich, was bewirkt eigendlich der Befehl \arraybackslash in Deiner Spaltendefinition:

\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
LaTeX ist ganz einfach, mensch muß nur viele Dokumentationen gründlich lesen und verstehen ;-)

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

@Sheila:
Du hast meine Frage aus einem vorherigen Beitrag noch nicht beantwortet: Tritt das von dir geschilderte Problem auf, wenn du exakt dein "Minimalbeispiel" kompilierst?
Vorher getestet hast du es offensichtlich nicht, sonst hättest du die falsche Klammer bemerkt.

@latexisteinfach:
\arraybackslash in dieser Definition ist korrekt. Theoretisch kann man es weglassen, wenn man die neue Definition nicht in der letzten Spalte verwendet.
Irgendwo wird afaik \\ dabei mal umdefiniert, und \arraybackslash bügelt das wieder aus. Sonst gibt es Probleme, wenn LaTeX das Ende der Zeile nicht mehr erkennt.
Aus der array-Doku, S. 18:
"\arraybackslash Restore \\ for use in array and tabular environment (after \raggedright etc.).
180 \def\arraybackslash{\let\\\tabularnewline}"

latexisteinfach
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Sa 10. Jul 2010, 11:10
Wohnort: Berlin

Beitrag von latexisteinfach »

Danke Xenara für die Erläuterung zu \arraybackslash, Du hast ja
wirklich Durchblick, weist Du auch, was es mit dem [/cod] auf sich hat?
LaTeX ist ganz einfach, mensch muß nur viele Dokumentationen gründlich lesen und verstehen ;-)

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Naja, Durchblick... An manchen Stellen sind meine Scheiben geputzt ;)

Bei [/cod] vermute ich mal stark, dass das eigentlich das schliessende [/code] sein sollte, das die Umgebung hier im Forum begrenzt. Manchmal scheint das nicht ganz zu stimmen, daher tippe ich auf ein Artefakt bei der Beitragserstellung.

Antworten