[OS X TeX] Automatic labeling for references
Ross Moore
ross at ics.mq.edu.au
Sat Apr 5 09:59:36 CEST 2008
Hi Jan,
On 05/04/2008, at 5:55 PM, Jan Anderssen wrote:
> Hi,
>
> On Apr 5, 2008, at 1:04 AM, George Gratzer wrote:
>
>> Could you not just simply define a command to do this?
>
> I considered the other way easier for two reasons:
>
> 1) Personal lack of knowledge: I'm not sure how to write such a
> command. Say I wanted the first three words of the title,
> capitalized, prefixed with sec:, subsec:, chap: ..., for instance
> \section{A novel approach to something old} would become \section{A
> novel approach to something old}\label{sec:ANovelApproach}. I would
> probably try something like this
>
> \newcommand{\mysection}[1]{\section{#1}\label{sec: **reformatted/
> shortened version of #1**}}
>
> but I just don't know enough about actual tex programming to do any
> string manipulation to get that result. Is there an easy way?
>
> 2) If a command like the one above is what you had in mind, you'd
> have to memorize how the labels are generated from the section
> title, since they wouldn't be in the source anymore.
Surely it is better to pass 2 arguments to \mysection .
Then use \mysection{A novel approach to something old}
{sec:ANovelApproach}
to expand to:
\section{A novel approach to something old}\label{sec:ANovelApproach}
There is, however, one defect with this approach.
It is concerned with exactly *where* on the PDF page the
anchor generated by \label{sec:ANovelApproach} is placed.
The ideal is for it to occur above and to the right of the
actual string of the section-title.
That way, when you jump to it in a browser, the section title
is at the top of the window, and so is fully visible.
By default, hyperref makes \ref hyperlinks jump to the
full page on which the section-title occurs.
But this can be changed to allow a different destination
and view of (a portion of) the page.
To do this requires significant hacking to LaTeX internals,
and/or to hyperref internals. This is not simple TeX
programming, but well worth it if you really want to
implement such effects.
> Admittedly this is probably something one could get used to easily,
> but I tend to often skip back to the chapter/section/subsection and
> check what label I have used.
Use the 2-argument approach. It is simple and easy.
Furthermore, you won't have to change your LaTeX source
when/if you decide to try to implement something more fancy.
>
> Cheers,
> Jan
Hope this helps,
Ross
------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 (0)2 9850 8955
Sydney, Australia 2109 fax: +61 (0)2 9850 8114
------------------------------------------------------------------------
More information about the macostex-archives
mailing list