PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \ref unterschlägt "Kapitel" und schreibt nur die Nummer



DerWirtuose
14-06-2007, 16:59
Hallo zusammen,

ich hab ne kurze Frage zu der ich noch keine Antwort gefunden hab:

Ich erzeuge folgenden Code:

\chapter{Einleitung}
\label{chap:einleitung}

Jetzt referenziere ich im Kapitel danach auf das Label Einleitung mit folgendem Befehl:

Wie in \ref{chap:einleitung} dargelegt...

Die Ausgabe im pdf sieht dann wie folgt aus:

"Wie 1 dargelegt"

Frage, wie kann ich \ref dazu bringen, "Kapitel" davor zu schreiben?

Es soll da stehen:

"Wie in Kapitel 1 dargelegt"

Über eine Antwort würde ich mich sehr freuen...

DerWirtuose

Gnihilo
14-06-2007, 17:23
Moin,


\newcommand{\kapref}[1]{Kapitel \ref{#1}}

Gruß Jonas

countbela666
14-06-2007, 18:03
Warum das Rad erneut erfinden? Nimm besser gleich \autoref{...} aus dem hyperref-Paket, das funktioniert dann auch gleich für alle Gliederungsebenen, für Abbildungen, Tabellen etc. pp. und greift weiterhin auf die Spracheinstellungen des babel-Pakets zu.

Grüße
Marcel

DerWirtuose
14-06-2007, 21:34
aber warum funktioniert denn meine Version nicht, in allen Erklärungen steht, dass es so wie ich es gern möchte passieren müsste, tut es aber nicht.
Ansonsten vielen Dank für die schnelle Hilfe bis hierhin.

Gruß Der Wirtuose

Gnihilo
15-06-2007, 07:43
Da hilft wohl nur ein Minimalbeispiel...

Gruß J.

DerWirtuose
15-06-2007, 10:33
Da hilft wohl nur ein Minimalbeispiel...

Gruß J.

Was meinste du mit Minimalbeispiel? War mein erster Post nicht schon eben ein solches?

Nutze ich den \autoref{} Befehl, erscheint tatsächlich "chapter 1" bloß ist das Englisch. Das Babel Paket ist umgestellt auf "ngerman"!!!

Es muss doch einen Grund geben, warum es in meinem Projekt nicht funktioniert. Die Vorlage habe ich von meinem Bruder, und der hat mit \ref{} referenziert und es stand immer "Kapitel 1" und nicht nur "1".

Habe den Header und das Hauptdokument 1:1 von ihm übernommen.

Will auch nicht nerven, denke bloß dass es doch funktionieren müsste. Nach wie vor würd ich mich über eure Hilfe freuen.

sommerfee
15-06-2007, 10:39
Was meinste du mit Minimalbeispiel? War mein erster Post nicht schon eben ein solches?

Nein, mit einem sog. "Minimalbeispiel" ist immer ein komplett lauffähiges Beispiel gemeint. Siehe auch hier: http://www.minimalbeispiel.de

Liebe Grüße,
Axel

DerWirtuose
15-06-2007, 10:53
So, alles mal zurück!

Ich denke es wird so, wie ich es geschrieben habe nicht funktionieren. Ich hatte mich vertan, es ging auch in dem Ursprungsdokument nicht, entschuldigt den Aufwand.

Allerdings würde mich interessieren, ob ich die \autoref{} nicht irgendwie auf Deutsch stellen kann.

Würde mir da noch jemand helfen, das wär toll!

Danke euch.

DerWirt

Salnic
15-06-2007, 11:07
> Was meinste du mit Minimalbeispiel? War mein erster Post nicht schon eben ein solches?
nein, ist nur eine Aufzählung von zwei Befehlen, zwar beispielhaft und minimal, aber eben kein Minimalbeispiel.

Damit autoref deutsch versteht, muss hyperref die option "ngerman" überreicht bekommen. Es reicht nicht aus, dass Babel eingebunden ist und auf deutsch gestellt wurde. Wahrscheinlich ist es autoref auch völlig egal, ob babel da ist oder nicht. Du kannst die Sprachoption entweder dirket hyperref übergeben (\usepackage[ngerman]{hyperref}) oder - was besser ist, als Klassenoption. Dass hat den Vorteil, dass Du das nur einmal dort und nicht mehr bei hyperref, babel, und vielen anderen Packeten noch extra angeben musst. Sie wissen jetzt, dass Du es auf deutsch möchtest.


\documentclass[ngerman]{scrreprt}
\usepackage{hyperref}
\begin{document}
\chapter{test}\label{cap:test}
siehe \autoref{cap:test}
\end{document}


Salnic


PS: guck Dir wirklich mal www.minimalbeispiel.de an, es hilft wirklich bei der Fehlersuche, vielleicht nicht hier in diesem Beispiel, aber allgemein.

countbela666
15-06-2007, 11:40
Damit autoref deutsch versteht, muss hyperref die option "ngerman" überreicht bekommen. Es reicht nicht aus, dass Babel eingebunden ist und auf deutsch gestellt wurde. Wahrscheinlich ist es autoref auch völlig egal, ob babel da ist oder nicht.Hast Recht, Salnic. Wieder was gelernt. :D

Grüße
Marcel

DerWirtuose
15-06-2007, 12:18
Danke vielmals, so ist es eine mehr als zufriedenstellende Lösung.

DerWirt

Salnic
15-06-2007, 12:37
nicht zur vollsten Zufriedenheit?

DerWirtuose
15-06-2007, 12:46
Doch ist Klasse!!!

Habe die Sprachoption aus dem Babel Paket rausgenommen, und [ngerman] global in der documentclass definiert:

\documentclass[%
ngerman,% deutsches Sprachpaket verwenden
pdftex,% PDFTex verwenden
a4paper,% A4 Papierformat
oneside,% einseitiger Druck
BCOR10mm, %Bindekorrektur an der linken Seite einfügen, verändert den Satzspiegel
%DIV14, %Berechnet automatisch die erforderliche Anzahl an Zeilen und Spalten, siehe koma.pdf
%bibtotocnumbered, %Literaturverzeichnis nummeriert einfügen
idxtotoc, %Index ins Verzeichnis einfügen
halfparskip,% Europäischer Satz mit Abstand zwischen Absätzen
%smallheadings %Überschriften werden in ihrer Schriftgröße verkleinert
%chapterprefix,% Kapitel anschreiben als Kapitel
headsepline,% Linie nach kopfzeile
%footsepline,% Linie vor Fusszeile
11pt,
%12pt,% Grössere Schrift, besser lesbar am Bildschirm
fleqn,% Richtet die Formeln linksbündig aus
%leqno% Formelnummerierung vor der Formel
noonelinecaption, %Verhindert in Tabellen- und Bildbeschriftungen die zentrierte Variante
tablecaptionabove, %Setzt Tabellenbeschriftungen über die Tabelle
%draft %Konzeptausdruck ohne Bilder u.ä.
] {scrbook}

Nun funktioniert es prima und er schreibt Kapitel, Abschnitt, Unterabschnitt und dergleichen.

Also vielen Dank dir!!!

Der Wirtuose