Hyperref auf Kapitel mit römischer Zahl

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Hyperref auf Kapitel mit römischer Zahl

von RealZeratul » Fr 26. Feb 2010, 15:15

Hallo KOMA,

super, vielen Dank für deine Tips! \autoref ist genau das, was ich eigentlich gesucht hatte, und auf das Umdefinieren von \thesubsection hätte ich eigentlich auch mal selber kommen sollen, aber naja...

Ein wenig verwirrend ist der "Stil" schon, aber ich werde mal gucken, wie es schlimm es nachher aussieht.

Der Grund für \Rmnum ist, dass meines Wissens nach weder \Roman noch \@Roman (um ehrlich zu sein habe ich keine Ahnung, was das @ an dieser Stelle genau macht) dazu in der Lage sind, Nicht-Zähler-Zahlen umzuwandeln. Dass \ref* nicht früh genug (oder nicht ausschließlich) zu einer Zahl expandiert, hatte ich auch schon befürchtet, allerdings geht das nicht aus Heiko Oberdieks manual hervor und auch die einfache Zahl im fertigen Dokument lässt nicht darauf schließen.

Nochmal vielen Dank und viele Grüße
RealZeratul

von KOMA » Fr 26. Feb 2010, 12:26

Zunächst einmal verstehe ich nicht, warum Du \Roman bzw. \@Roman mit \Rmnum neu erfindest. Das ist absolut überflüssig. Außerdem hast Du offenbar nicht verstanden, was Du da machst. \romannumeral verlangt eine Zahl und nur eine Zahl. \ref* expandiert aber nicht nur zu einer Zahl. Genau genommen ist es nicht einmal voll expandierbar. Das kann also gar nicht gehen. Die korrekte Lösung besteht darin, direkt \thesection umzudefinieren. Sollen andere Zähler das Kapitel nicht römisch referenzieren (was den Leser übrigens eher verwirren dürfte), so muss man eben auch die entsprechenden \the... umdefinieren. Ich mache das hier mal beispielhaft für \thesubsection:
\documentclass[twoside, a4paper, 12pt]{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

\usepackage{titlesec}
\renewcommand*{\thesection}{\Roman{section}}
\renewcommand*{\thesubsection}{\arabic{section}.\arabic{subsection}}
\titleformat{\section}[display]
                  {\bfseries\Large}
                  {\filcenter \Huge {CHAPTER \thesection} }
                  {2ex}
                  {\titlerule \vspace{2ex} \filcenter}

\usepackage[pdftex, pdfpagelabels=true, bookmarks=true, pagebackref=false, plainpages=false, naturalnames=true]{hyperref}


\newcommand{\Cha}[1]{\hyperref[#1]{Chapter \ref*{#1}}}


\begin{document}
\section{bla}
\label{bla}

\section{blabla}
\subsection{blubbb}

Reference to \Cha{bla}

\end{document}
BTW: \Cha kann man sich auch sparen. hyperref kennt nämlich \autoref. Die Namen, die hyperref dort ausgibt, hängen vom Zähler ab und kann man umdefinieren.

Hyperref auf Kapitel mit römischer Zahl

von RealZeratul » Fr 26. Feb 2010, 08:11

Hallo Leute,

für meine Diplomarbeit verwende ich römische Kapitel-Zahlen in den Überschriften, möchte überall sonst aber arabische Zahlen benutzen (in meinem Hauptdokument sollen Gleichungen und Tabellen z.B. mit 3.5 statt III.5 bezeichnet werden).
Mein Problem ist, dass ich nun einen Link auf ein Kapitel anlegen möchte, in dessen Text die römische Zahl steht. Mein bisheriger Ansatz funktioniert leider nicht -- ich vermute, LaTeX wertet \ref* zu spät aus... Unten ist mein (fast Minimal-)beispiel, es wäre toll, wenn jemand von euch eine Idee hätte! :)

Vielen Dank schonmal und gute Nacht
RealZeratul
\documentclass[twoside, a4paper, 12pt]{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

\makeatletter
	\newcommand{\Rmnum}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother

\usepackage{titlesec} 
\titleformat{\section}[display]
						{\bfseries\Large}
						{\filcenter \Huge {CHAPTER \Rmnum{\thesection}} }
						{2ex}
						{\titlerule \vspace{2ex} \filcenter}

\usepackage[pdftex, pdfpagelabels=true, bookmarks=true, pagebackref=false, plainpages=false, naturalnames=true]{hyperref}


\newcommand{\Cha}[1]{\hyperref[#1]{Chapter \Rmnum{\ref*{#1}}}}


\begin{document}

\section{bla}
\label{bla}

\section{blabla}
\subsection{blubbb}

Reference to \Cha{bla}

\end{document}

Nach oben