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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.