TeX e LaTeX

I riferimenti

\label{chiave} per mettere un riferimento. \ref{chiave} per richiamarlo. \cite per i riferimenti bibliografici (vedi sezione apposita)

Nel codice sorgente è bene usare delle convenzione del tipo eq:... per gli oggetti matematici, fig:... per le figure, tab:... per le tabelle, ch:... per i capitoli, sec:... per le sezioni e così via. Se il documento è abbastanza grande, tale da richiamare più volte argomenti simili, per esempio un libro, una tesi, un articolo molto lungo, ecc... è bene pianificare delle etichette per ogni capitolo o grande sezione dell'opera. Questa etichetta sarà di poche lettere e potrà essere usata davanti a tutte le label presenti in quella grande sezione. Per esempio se un capitolo di una tesi si chiama "Esperimenti" una buona etichetta è "exp". Quindi si avrà:

\chapter{Esperimenti}
\label{ch:exp}

Bla bla bla...

Come potete osservare in figura~\ref{fig:exp:misura}, gli elettroni...

\begin{figure}
\centering
\includegraphics[width=0.7\textwidth]{figura}
\caption{Un bell'esperimento.}
\label{fig:exp:misura}
\end{figure}

...

Nel testo è bene mantenere delle convenzioni. Figure, tabelle e sezioni hanno il numero del riferimento "nudo". Gli oggetti matematici hanno il numero circondato da parentesi tonde ed infine i riferimenti bibliografici hanno il numero circondato da parentesi quadre. Pertanto quando si vuole rimandare ad uno di questi oggetti, si farà in modo di avere nel proprio documento "vedi Fig. 3", "come nell'Eq.(2)", "come dice Tizio [1]".

Alcuni strumenti per i riferimenti

Per controllare i riferimenti durante la preparazione del documento esistono diversi pacchetti. I migliori sono showkeys e showlabels.

showkeys stampa, senza modificare l'impaginazione del documento, le chiavi di ogni riferimento in corrispondenza di questi comandi: \label, \ref, \pageref, \cite, \bibitem. Questo è utile anche per leggere il documento e sapere che la reference 23 è Pippo1984 e così via.

Le opzioni sono color, notref, notcite, final, draft (default). Con ovvio significato. Nel caso vogliate cambiare il colore di default delle etichette colorate (grigio), dovrete definire i colori refkey e labelkey. Per farlo usate la solita sintassi del pacchetto color (che viene precaricato usando l'opzione color). Ad esempio se volete i riferimenti (ref, pageref, cite) in rosso e le label in verde (label, bibitem):

\definecolor{refkey}{rgb}{1,0,0}
\definecolor{labelkey}{rgb}{0,1,0}

Se volete cambiare anche lo stile delle etichette mostrate da showkeys dovete modificare il comando \showkeyslabelformat. Ad esempio:

\providecommand*\showkeyslabelformat[1]{\fbox{\small\ttfamily#1}}

Purtroppo showkeys, sebbene credo sia un pacchetto fondamentale, non è compatibile né con hyperref, né con cite. Questo non è comunque un grave problema, dato che durante la stesura del documento è sempre bene non usare questi pacchetti "abbellitori", ma è invece consigliabile abilitarli solo per la revisione finale, dove invece il pacchetto showkeys va rimosso.

L'altro pacchetto molto comodo, oltre a showkeys, è il pacchetto showlabels. Forse un po' ignorato ma secondo me il migliore e più potente. Purtroppo ha qualche piccolissimo bug, ad esempio non gestisce gli underscore in alcuni casi particolari se usato insieme a qualche altro pacchetto. Però l'ho segnalato all'autore, forse fra breve questi bug verranno corretti.

\usepackage[nodvipsnames]{color}
\usepackage[inline]{showlabels}
\showlabels{cite}
\showlabels{ref}
\showlabels{pageref}
\renewcommand{\showlabelfont}{\footnotesize\ttfamily}
\renewcommand{\showlabelsetlabel}[1]{\textcolor{red}{\showlabelfont #1}}

Questo pacchetto è compatibile sia con hyperref che con cite. A PROPOSITO! QUESTO PACCHETTO VA CARICATO PER ULTIMO!!! ANCHE DOPO HYPERREF!

Vedere la documentazione per le opzioni e i comandi. nolabel e inline sono opzioni che potrebbero interessarvi.

Ci sono poi i pacchetti refcheck e drftcite. Il primo mostra le label definite nel documento e segnala gli oggetti che non ne hanno una. Quindi agisce solo sui comandi \label e \bibitem. Non mostra nulla in corrispondenza di \ref, \pageref, \cite. Vedere la documentazione per le varie opzioni. Il secondo, drftcite, stampa solo le chiavi della bibliografia al posto dei numeri o dei nomi.