Re: [dk-tug] Automatiserede referencer
Jonas Nyrup <[email protected]>
| Newsgroups | gmane.comp.tex.danish |
|---|---|
| Message-ID | <[email protected]> |
Lars Madsen <daleif <at> imf.au.dk> writes:
>
> Martin Heller wrote, On 2012-03-01 15:58:
> > Lars Madsen wrote, on 01-03-2012 14:58:
> >> Hvad har I af forslag?
> >
> > Hvad med bare at bruge \autoref fra hyperref pakken?
> >
> > \documentclass{book}
> > \usepackage{hyperref}
> > \usepackage{mathtools,amsthm}
> > \newtheorem{theorem}{Theorem}[section]
> >
> > \begin{document}
> >
> > \chapter{Foo}
> > \label{chap:foo}
> >
> > \section{Bar}
> > \label{sec:bar}
> >
> > \begin{theorem}[Baz]
> > \label{thm:baz}
> > bar
> > \end{theorem}
> >
> > \noindent
> > Ref to chapter \autoref{chap:foo}\\
> > Ref to section: \autoref{sec:bar}\\
> > Ref to theorem: \autoref{thm:baz}.
> >
> > \end{document}
> >
> >
> > _______________________________________________
> > DK-TUG <at> tug.dk mailing list
> > http://mailman.nfit.au.dk/mailman/listinfo/tug.dk-dk-tug
>
> primært et ønske om at løsningen skal virke med OG uden hyperref
>
> Jeg forstår f.eks. ikke helt dette cleveref resultat, hvorfor hulen kan
> de finde ud af navnet på 'thm', men ikke på 'theorem'
>
> \documentclass[a4paper]{article}
> \usepackage{cleveref}
> \newtheorem{theorem}{S\ae tning}
> \newtheorem{thm}{S\ae tning}
> \newtheorem{definition}{Definition}
> \begin{document}
>
> \nameCref{theorem}
>
> \nameCref{thm}
>
> \nameCref{definition}
>
> \begin{theorem}
> \label{theorem}
> test
> \end{theorem}
> \begin{thm}
> \label{thm}
> test
> \end{thm}
> \begin{definition}
> \label{definition}
> rsdsddfsdf
> \end{definition}
> \end{document}
>
I følge afsnit 7.1.3 i manualen for Cleveref, burde den automatisk finde det
passende entalsnavn for theorem. Men det virker heller ikke for mig på en fuldt
opdateret TL2011 .
Det kan dog fikses manuelt med
\crefname{theorem}{S\ae tning}{S\ae tninger}
Hyperref kender ikke til dansk, så for at autoref fungerer ordentligt, skal
navnene manuelt defineres med:
\renewcommand\equationautorefname{Ligning}
\renewcommand\sectionautorefname{Afsnit}
Hvad jeg synes er værre, er at Cleveref overhovedet ikke virker sammen med
showonlyrefs, som jeg er stor fan af. Når mathtools+showonlyrefs er loaded
bliver \cref{eq:formel} i nedenstående eksempel til Afsnit 1.1
Her er hyperref "lidt bedre". Hvis en label først referes med eqref/refeq så
mathtools fanger den, kan autoref godt finde labelen efterfølgende.
Jeg synes selv bedst om at hele Sætning~4 er klikbar, dog giver forfatteren til
Cleveref et eksempel i afsnit 6.2, hvor det ikke er hensigtsmæssigt hvis man
laver en multireference (ikke at jeg selv endnu har brugt det).
Den bedste kombination jeg umiddelbart kan komme frem til er:
\documentclass[a4paper,danish]{memoir}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{hyperref}
\hypersetup{pdfborder = {0 0 0}}
\usepackage[capitalize,nameinlink]{cleveref}
\begin{document}
\chapter{Matematik}\label{chp:mat}
\section{Pytte} \label{sec:pytte}
\begin{align}
a^2+b^2 &= c^2 \label{eq:formel}
\end{align}
\cref{chp:mat}
\cref{sec:pytte}
\cref{eq:formel}
\end{document}
_______________________________________________
[email protected] mailing list
http://mailman.nfit.au.dk/mailman/listinfo/tug.dk-dk-tug