Allora, ho fatto mille prove ed ho scoperto cosa porta all’errore anche se non conosco il motivo profondo….
Il listato`\documentclass[12pt,pdftex,oneside]{scrbook}
\usepackage{hyperref}
\usepackage{verbatim}
%\usepackage{classicthesis-ldpkg}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage[utf8x]{inputenc}
\floatstyle{ruled}
\newfloat{program}{hp}{lop}
\floatname{program}{Programma}
\begin{document}
\begin{program}[!h] \small
\begin{verbatim}
#include
int main()
{
printf(“Hello C.\n”);
return 0;
}
\end{verbatim}
\caption{Hello C.}
\end{program}
I puntatori sono essenzialmente dei dati contenenti indirizzi di memoria;
poiché l'indirizzamento della memoria richiede una stessa quantità di byte
relativamente ad ogni possibile dato associato,
i puntatori hanno medesima ampiezza qualunque sia il dato associato;
verificheremo questo nel programma
numero~\ref{prog-ampiezza-puntatori}
a pagina~\pageref{prog-ampiezza-puntatori}
grazie alla funzione \verb+sizeof()+
che restituisce il numero di byte di memoria occupati da un tipo di dato, sia esso fondamentale o derivato.
\newpage
\begin{program}[!ht] \small
\begin{verbatim}
#include
int main()
{
printf(“La dimensione di int è %d, di puntatori ad int %d;\n”,
sizeof(int), sizeof(int *));
printf(“La dimensione di char è %d, di puntatori a char %d;\n”,
sizeof(char), sizeof(char *));
printf(“La dimensione di float è %d, di puntatori a float %d;\n”,
sizeof(float), sizeof(float *));
printf(“La dimensione di double è %d, di puntatori a double %d.\n”,
sizeof(double), sizeof(double *));
return 0;
}
\end{verbatim}
\caption{Dimensioni dei tipi in memoria.}
\label{prog-ampiezza-puntatori}
\end{program}
\end{document}`
si comporta a dovere… se invece pongo`%\usepackage{hyperref}
\usepackage{verbatim}
\usepackage{classicthesis-ldpkg}`ecco che iniziano gli errori…. mi chiedo come mai classicthesis-ldpkg porti ad erronei collegamenti….