Re: program.2 has been referenced but does not exist!!! Ufffffff

#53872
Up
0
Down
::


ok, il problema perdura nei \ref e \pageref…. ecco il ‘breve’ esempio:
`\documentclass[12pt,pdftex,oneside]{scrbook} % ,draft {book}{scrreprt}{scrartcl}
\usepackage[numbers]{natbib}
\usepackage{classicthesis-ldpkg}
\usepackage[parts, pdfspacing, linedheaders, listsseparated]{classicthesis}
\usepackage{amsmath, amsfonts, amssymb, amsbsy, amsthm, fixmath}
\usepackage[italian]{babel}
\usepackage{bbm}
\usepackage{calc, cancel, colortbl}
\usepackage[T1]{fontenc}
\usepackage{fancyvrb, fullpage, float}
\usepackage{hyperref}
\usepackage{ifthen}
\usepackage[utf8x]{inputenc}
\usepackage{longtable, linearA}
\usepackage{marvosym}
\usepackage{paralist}
\usepackage{setspace, skak, shorttoc}
\usepackage{textcomp, tocloft}
\usepackage{verbatim}
\usepackage{wasysym, wrapfig}

\floatstyle{ruled}
\newfloat{program}{hp}{lop}
\floatname{program}{Programma}

%RI-DEFINIZIONE PERSONALI
\renewcommand{\cftpartleader}{\footnotesize\cftdotfill{\cftnodots}} \renewcommand{\cftpartafterpnum}{}
\renewcommand{\cftchapleader}{\footnotesize\cftdotfill{3\cftdot}} \renewcommand{\cftchapafterpnum}{}
\renewcommand{\cftsecleader}{\footnotesize\cftdotfill{3\cftdot}} \renewcommand{\cftsecafterpnum}{}
\renewcommand{\cftsubsecleader}{\footnotesize\cftdotfill{3\cftdot}} \renewcommand{\cftsubsecafterpnum}{}

%\titleformat{\chapter}{\normalfont\bfseries}{\thechapter}{10pt}{} %\chaptertitlename\
\titleformat{\section}{\normalfont\bfseries}{\thesection}{10pt}{}
\titleformat{\subsection}{\normalfont\bfseries}{\thesubsection}{10pt}{}
\titleformat{\subsubsection}{\normalfont\bfseries}{\thesubsubsection}{10pt}{}

%sezioni su nuove pagine
\let\oldpart\part
\renewcommand{\part}[1]{\cleardoublepage\oldpart{#1}}
%
\let\oldsection\section
\newcounter{section_in_chapter}[chapter]
\setcounter{section_in_chapter}{0}
\renewcommand{\section}[1]
{
\ifthenelse{\equal{\arabic{section_in_chapter}}{0}}{}{\clearpage}
\oldsection[#1]{#1}
\stepcounter{section_in_chapter}
}

%spessore linee
\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height 1pt\hfill \kern \z@}
\makeatother

\begin{document}

\section{Linguaggio C}
\subsection{Struttura delle funzioni in C}

\begin{program}[!h] \small
\begin{verbatim}

tipo nome_funzione(tipo argomento, tipo argomento, …)
{
operazioni varie….
}
\end{verbatim}
\end{program}

\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.

\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}`
Grazie!

Go to top