> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/struttura-del-documento/07-management-in-a-large-project.md).

# Gestione in un grande progetto

## Introduzione

Nei progetti di grandi dimensioni, come i libri, mantenere le parti del documento in diversi file .tex rende più semplice il compito di correggere errori e apportare ulteriori modifiche. È più facile individuare una parola o un elemento specifico in un file breve. A questo scopo, questo articolo spiega come gestire progetti di grandi dimensioni.

## Inserimento e inclusione di file

Gli strumenti standard per inserire un file LaTeX in un altro sono `\input` e `\include`.

**comando \input**

\input{filename}

Usa questo comando nel corpo del documento per inserire il contenuto di un altro file chiamato `filename.tex`; questo file non dovrebbe contenere alcun codice del preambolo LaTeX (cioè nessun `\documentclass`, `\begin{document}` o `\end{document}` ). LaTeX non inizierà una nuova pagina prima di elaborare il materiale in `filename.tex`. `\input` consente di annidare `\input` comandi, in file che sono già inclusi dal file radice.

**comando \include**

\include{filename}

Usa questo comando nel corpo del documento per inserire il contenuto di un altro file chiamato `filename.tex`; anche questo file non dovrebbe contenere alcun preambolo LaTeX. LaTeX inizierà una nuova pagina prima di elaborare il materiale inserito da `filename.tex`. Assicurati di non includere l'estensione `.tex` nel nome del file, poiché ciò impedirà l'inserimento del file (l'estensione può facoltativamente essere inclusa con `codifica di input` e `import`). Non è possibile annidare `include` comandi. Ogni file che viene `\include`d ha il proprio file .aux che memorizza informazioni sulle etichette create e sui contenuti per l'indice, l'elenco delle figure, ecc. Puoi usare `\includeonly` con un elenco di nomi di file separati da virgole (assicurati che non ci siano spazi iniziali o finali). Se lo fai, LaTeX elaborerà solo i file contenuti in quell'elenco. Questo può essere usato per aumentare la velocità di compilazione se stai lavorando solo su una piccola parte di un documento più grande. Tuttavia, i numeri di pagina e i riferimenti incrociati continueranno a funzionare, poiché i file .aux dei file esclusi verranno comunque elaborati.

[Apri un esempio di progetto di grandi dimensioni su Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Preambolo in un file separato

Se il preambolo del tuo documento contiene molti comandi definiti dall'utente o definizioni di termini per il [glossario](/latex/it/struttura-del-documento/05-glossaries.md), puoi metterlo in un file separato. Il modo corretto è creare un pacchetto personalizzato, che è un file con estensione .sty. Vediamo un esempio:

```latex
\ProvidesPackage{example}

\\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[latin1]{inputenc}
\usepackage[spanish, english]{babel}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{textcomp}
\usepackage{pgfplots}

\pgfplotsset{width=10cm,compat=1.9}

%Stili dell'intestazione
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textbf{\textit{\nouppercase{\leftmark}}}}
\fancyhead[LO]{\textbf{\textit{\nouppercase{\rightmark}}}}
\fancypagestyle{plain}{ %
\fancyhf{} % rimuove tutto
\renewcommand{\headrulewidth}{0pt} % rimuove anche le linee
\renewcommand{\footrulewidth}{0pt}}

%rende disponibili i comandi \proof, \qedsymbol e \theoremstyle
\usepackage{amsthm}

%Righello
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Definizione del lemma e contatore dei lemmi
\newtheorem{lemma}{Lemma}[section]

%Contatore delle definizioni
\theoremstyle{definition}
\newtheorem{definition}{Definizione}[section]

%Contatore dei corollari
\newtheorem{corolary}{Corollario}[section]

%Comandi per naturali, interi, topologia, involucro convesso, Ball, Disc, Dimension, frontiera e altro ancora
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Ambiente di esempio
\theoremstyle{remark}
\newtheorem{examle}{Esempio}

%Contatore degli esempi
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Tutti i comandi in questo file avrebbero potuto essere messi nel preambolo, ma il file principale sarebbe diventato confuso a causa di questa grande quantità di codice, e individuare il corpo effettivo del documento in un file così grande sarebbe stato un compito scomodo.

Questo file potrebbe anche essere messo in un normale file .tex e importato con il comando `import` (vedi il [sezione successiva](#importing-files)), ma un file .sty previene possibili errori se il file viene importato accidentalmente più di una volta.

Nota che la prima riga dell'esempio è

```latex
\ProvidesPackage{example}
```

ciò significa che dobbiamo importare questo pacchetto come *esempio* nel file principale, cioè con il comando

```latex
\usepackage{example}
```

come mostrato nel [introduzione](#introduction).

*Nota: un file .sty è molto più flessibile, può essere usato per definire le proprie macro e si possono passare parametri opzionali, vedi* [*Scrivere un proprio pacchetto*](/latex/it/file-di-classe/03-writing-your-own-package.md).

[Apri un esempio di progetto di grandi dimensioni su Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Uso del pacchetto import

Come menzionato sopra, gli strumenti standard per inserire un file LaTeX in un altro sono `\input` e `\include`, ma questi sono soggetti a errori se è necessario importare file annidati. Per questo motivo potresti prendere in considerazione il pacchetto **import**.

Qui sotto c'è un esempio di un libro in cui le sezioni e i comandi definiti dall'utente sono memorizzati in file separati, e in cui i file immagine per ogni capitolo sono memorizzati in cartelle separate insieme al file .tex di ogni capitolo.

```latex
\documentclass[a4paper,11pt]{book}
\usepackage{import}
\usepackage{example}

\usepackage{makeidx}
\makeindex

\begin{document}

\frontmatter
\import{./}{title.tex}

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Additional chapter}
\import{sections/}{section2-1.tex}

\chapter{Last chapter}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Come vedi, l'esempio è un libro con tre capitoli e diverse sezioni in un ordinato file principale che richiama file esterni per generare il documento finale. Il comando `\frontmatter` nella classe documento book è usato per le prime pagine del documento, lo stile di numerazione delle pagine viene impostato su numeri romani da questo comando; il comando `\mainmatter` azzera la numerazione delle pagine e cambia lo stile in arabo, `\backmatter` disattiva la numerazione dei capitoli (adatto per la bibliografia e le appendici).

```latex
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Per prima cosa, aggiungi questa riga al preambolo del tuo documento:

```latex
\usepackage{import}
```

Poi usa `\import{ }{ }`. Il primo parametro tra parentesi graffe è la directory in cui si trova il file, può essere relativa alla directory di lavoro corrente o assoluta. Il secondo parametro è il nome del file da importare

È disponibile anche il comando `\subimport` che ha la stessa sintassi, ma se viene usato in uno dei file importati nel file principale, il percorso sarà relativo a quel sottofile. Per esempio, qui sotto c'è il contenuto del file "section1-1.tex" che è stato importato nell'esempio precedente:

```latex
\section{Prima sezione}

Qui sotto c'è un semplice grafico 3D

\begin{figure}[h]
\centering
\subimport{img/}{plot1.tex}
\caption{Didascalia}
\label{fig:my_label}
\end{figure}

[...]
```

Come vedi, questo file importa un [grafico pgf](/latex/it/specifico-per-argomento/08-pgfplots-package.md) file chiamato "plot1.tex" che crea un grafico 3D. Questo file è importato da

```latex
\subimport{img/}{plot1.tex}
```

dalla cartella "img", contenuta nella cartella "sections".

Se `\import` fosse usato invece, il percorso *img/* sarebbe relativo al file principale, invece che alla cartella "sections" dove è salvato "section1-1.tex".

[Apri un esempio di progetto di grandi dimensioni su Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Letture aggiuntive

Per ulteriori informazioni, vedi:

* [Progetti LaTeX con più file](/latex/it/struttura-del-documento/08-multi-file-latex-projects.md)
* [Riferimenti incrociati a sezioni ed equazioni](/latex/it/struttura-del-documento/03-cross-referencing-sections-equations-and-floats.md)
* [Indici](/latex/it/struttura-del-documento/04-indices.md)
* [Glossari](/latex/it/struttura-del-documento/05-glossaries.md)
* [Collegamenti ipertestuali](/latex/it/struttura-del-documento/09-hyperlinks.md)
* [Numerazione delle pagine](/latex/it/formattazione/03-page-numbering.md)
* [Documenti a facciata singola e doppia](/latex/it/formattazione/08-single-sided-and-double-sided-documents.md)
* [Colonne multiple](/latex/it/formattazione/09-multiple-columns.md)
* [Formattazione dei paragrafi](/latex/it/formattazione/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Dimensioni della pagina e margini](/latex/it/formattazione/07-page-size-and-margins.md)
* [Contatori](/latex/it/formattazione/10-counters.md)
* [Note a margine](/latex/it/formattazione/15-margin-notes.md)
* [Grassetto, corsivo e sottolineatura](/latex/it/concetti-di-base-di-latex/03-bold-italics-and-underlining.md)
* [Dimensioni, famiglie e stili dei caratteri](/latex/it/caratteri/01-font-sizes-families-and-styles.md)
* [Tipi di carattere](/latex/it/caratteri/02-font-typefaces.md)
* [Supportare i font moderni con XeLaTeX](/latex/it/caratteri/03-xelatex.md)
* [Supporto per le lingue internazionali](/latex/it/lingue/03-international-language-support.md)
* [Dimensioni, famiglie e stili dei caratteri](/latex/it/caratteri/01-font-sizes-families-and-styles.md)
* [Scrivere un proprio pacchetto](/latex/it/file-di-classe/03-writing-your-own-package.md)
* [Scrivere una propria classe](/latex/it/file-di-classe/04-writing-your-own-class.md)
* [La non così breve introduzione a LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` documentazione del pacchetto](ftp://sunsite.icm.edu.pl/pub/CTAN/macros/latex/contrib/import/import.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/struttura-del-documento/07-management-in-a-large-project.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
