Ciao a tutti.
Sto per imbarcarmi in un progetto “medio” e per questo motivo volevo organizzare i miei file come proposto sull’Arte.Ho creato una cartella Fractals in C++ che contiene le seguenti sottocartelle (oltre alla bibliografia e al file principale):
+ beginend_material
+ chapters
+ data_sets
+ pictures
+ plot_commands
+ source_codeOra, nella cartella source_code è presente la cartella point_class che contiene i file point.h e point.cpp.
Ho cercato di inserire questi file nel capitolo utilities contenuto nella cartella chapters con il seguente comando:
`\begin{center}
\lstinputlisting{../source_code/point_class/point.h}
\begin{figure}[h!]
\caption{\code{Point} class interface}\label{code: pointinterface}
\end{figure}
\end{center}
\begin{center}
\lstinputlisting{../source_code/point_class/point.cpp}
\begin{figure}[h!]
\caption{\code{Point} class implementation}\label{code: pointimplementation}
\end{figure}
\end{center}`Ho poi aggiunto il file utilities al file principale con il seguente comando:
`\input{chapters/utilities}`Quando compilo però mi appare il seguente errore e il codice dei due programmi non viene inserito nel documento .pdf generatosi.
`! Package Listings Error: File `../source_code/point_class/point(.h)' not found
.Type X to quit or
to proceed,
or enter new name. (Default extension: h)Enter file name:
! Undefined control sequence.
\\lst@inputlisting …}}\reserved@a }\lst@doendpe
\@newlistfalse \ignorespaces
l.11 …isting{../source_code/point_class/point.h}?
! Package Listings Error: File `../source_code/point_class/point(.cpp)' not fou
nd.Type X to quit or
to proceed,
or enter new name. (Default extension: cpp)Enter file name:
! Undefined control sequence.
\\lst@inputlisting …}}\reserved@a }\lst@doendpe
\@newlistfalse \ignorespaces
l.17 …ting{../source_code/point_class/point.cpp}?
) [2]
No file FractalsC++.lot.
[3]
No file FractalsC++.lof.
No file FractalsC++.bbl.
[4] (./FractalsC++.aux)LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.`
Qualcuno di voi sa qual’è il problema o dove sbaglio?
Grazie per eventuali risposte. 😀
Per motivi di sicurezza, i programmi TeX non salgono sopra la directory di lavoro.
Attento: non ha senso mettere un ambiente figure dentro un ambiente center; il modo corretto di procedere è
`\begin{figure}
\centering
…
\end{figure}`
Se poi eviti l’opzione “h!” è ancora meglio. Puoi anche evitare di sbagliare l’apostrofo in “qual è”, te ne sarò grato. 🙂
In ogni caso, gli ambienti di listings hanno il modo proprio di scrivere la didascalia, quello che fai tu è un accrocchio infelice.
Ciao
Enrico