start document

This commit is contained in:
Domipoke
2026-07-29 03:50:13 +02:00
parent 92d34f4876
commit 9f776d23a1
6 changed files with 79 additions and 9 deletions
@@ -1,4 +1,6 @@
\chapter{Prima di iniziare}
\chapter{Prefazione}
\section{Semplicità e accuratezza}
Questa è una guida che scrivo per un pubblico di non programmatori in quanto penso che molto spesso si tende a voler usare tecnicismi per creare una bolla di conoscenze non "alla portata di tutti". Mi rendo conto spiegando spesso a "persone che non sanno programmare"\footnote{modo semplice e un po' uno scusante per indicare quelle persone che non sono "avezze" nell'uso del computer nonostante siano "nativi digitali"} che ci sono tantissimi termini loro sconosciuti che dò per scontato. In questa guida tratterò questi termini con piccole note a piè di pagina che spiegano nel modo più semplice e chiaro\footnote{Per chiarezza intendo lo speigare qualcosa a qualcuno nel migliore dei modi che ho di associare quel concetto a qualcosa che questa persona conosce anche se la mia spiegazione dovesse risultare non tecnicamente accurata.} a cosa faccio riferimento. Per essere più chiari e diretti il commento sulle spiegazioni "Mi dicono che in realtà non funziona proprio così" o "Questa spiegazione è un po' riduttiva rispetto a quello che accade realmente" sono precisazioni talvolta inutili altre un po' sconsiderate. Sono ben felice di darvi qualsiasi tipo di spiegazione su ognuna delle cose che conosco e sulle quali metto mano quotidianamente ma spiegazioni del genere richiedono tempo e parole. Fidati di questi due punti, quanto leggerete in questa prefazione non è altro che la sintesi estremamente accorciata di una registrazione audio di 40 m che ho fatto per ipotizzare ciò che avrei dovuto scrivere, di questi 40 minuti 30 ho parlato di git e Github, programmi che conosco e utilizzo da sempre (la data di creazione del mio account Github risale al 2018-08-11T14:13:22Z).
\section{\LaTeX : vita morte e miracoli}
Prima di inizia poniamo delle premesse, \LaTeX è un linguaggio di marcatura il che vuol dire che nasce col fine di formattare testo. Nasce nel 1994 e si evolve in una miriade di sottolinguaggi come il KaTeX di notion (quello dei blocchi matematici) che verticalizza e isola l'uso di \LaTeX rendendolo una comoda implementazione per scrivere equazioni. Un'altra evoluzione seguita da \LaTeX è stata quella di evolvere i propri compilatori\footnote{Un compilatore è un programma che si occupa di tradurre da codice a programma finito, nel nostro caso da .tex a pdf}, li vedremo più nello specifico in futuro ma vi basti sapere che ho scelto di usare XeLaTeX che è un implementazione più nuova e ottimizzata del compilatore base denominato PdfLaTeX.
\section{Ai}
@@ -26,4 +28,4 @@ L'opzione più vecchia è altrimenti usare TeXStudio che nativamente supporta \L
\subparagraph{MiKTeX} MiKTeX è l'alternativa più veloce e più nuova, installa una minima parte delle librerie e dei compilatori necessari, necessità del download di una libreria in più denominata Pearl (un linguaggio di programmazione) per poter essere usata con l'estensione di Visual Studio Code per \LaTeX. MiKTeX scarica le ulteriori librerie solo quando compiliamo un progetto che le usa.
\paragraph{MacOsX} L'opzione per MacOsX è una sola: MacTeX. Non l'ho mai usata.
\subsubsection{Compilatore remoto}
Questa è una soluzione che sto testando con i lavori degli ultimi giorni. Consiste nell'usare git insieme a Gitea (versione selfhosted del più famoso Github). Git gestisce il \verb|push| (upload) e \verb|pull| (download) dei progetti in una cartella remota definita come \verb|repository|. Possiede una funzione detta \verb|Action| che permette di eseguire in modo automatico su un docker\footnote{Un particolare programma di macchine virtuali} remoto delle azioni di compilazione e aggiungere al nostro upload il risultato finito. Gitea essendo selfhosted è priva di code a meno di più richieste simultanee e generalmente risolve la compilazione entro i due minuti. \capitalgrave{E} possibile scaricare il pdf in locale effettuando una \verb|pull|. Altro vantaggio di git il quale lo rende estremamente usato sia dai programmatori che più in generale per qualsiasi progetto di gruppo è la sua comoda gestione del lavoro simultaneo di più persone contemporaneamente anche sullo stesso file.
Questa è una soluzione che sto testando con i lavori degli ultimi giorni. Consiste nell'usare git insieme a Gitea (versione selfhosted del più famoso Github). Git gestisce il \verb|push| (upload) e \verb|pull| (download) dei progetti in una cartella remota definita come \verb|repository|. Possiede una funzione detta \verb|Action| che permette di eseguire in modo automatico su un docker\footnote{Un particolare programma di macchine virtuali} remoto delle azioni di compilazione e aggiungere al nostro upload il risultato finito. Gitea essendo selfhosted è priva di code a meno di più richieste simultanee e generalmente risolve la compilazione entro i due minuti. \capitalgrave{E} possibile scaricare il pdf in locale effettuando una \verb|pull|. Altro vantaggio di git il quale lo rende estremamente usato sia dai programmatori che più in generale per qualsiasi progetto di gruppo è la sua comoda gestione del lavoro simultaneo di più persone contemporaneamente anche sullo stesso file.
+43 -3
View File
@@ -8,7 +8,7 @@ La base di un progetto in \LaTeX è un file con estensione\footnote{Ogni file po
\item \verb|%| Commento: ciò che segue \verb|%| nella stessa riga viene ignorato
\end{itemize}
Lo scheletro di un file \verb|.tex| è il seguente:
\begin{minted}[fontsize=\small, linenos, frame=single, framesep=2mm]{latex}
\begin{minted}{latex}
\documentclass{article} % Definizione del tipo di documento
% Lista di librerie
...
@@ -21,5 +21,45 @@ Lo scheletro di un file \verb|.tex| è il seguente:
La riga \verb|\documentclass| è necessaria per identificare il file e dovrebbe essere la prima chiamata. La lista delle librerie è buona norma elencarla all'inizio, subito dopo \verb|\documentclass| per assicurarci che il compilatore abbia già caricato tutte le librerie correttamente prima di iniziare a compilare il testo effettivamente.
Tutto ciò che appartiene al nostro documento va inserito all'interno dell'ambiente \verb|document|.
\section{\texttt{\textbackslash documentclass\{\}}}
La prima riga di un file \verb|.tex|, se rappresenta un root file, ovvero il file ch dovrà essere compilato in pdf, deve delineare la document class. All'interno della prima coppia di parentesi graffe che va posta attaccata al comando \verb|\documentclass|, viene esplicato il tipo di documento. Esistono svariati tipi di documenti e di ognuno di questi si trova la documentazione completa online cercando "latex documentclass nome docs". I più famosi sono i seguenti:
\paragraph{article}
La prima riga di un file \verb|.tex|, se rappresenta un root file, ovvero il file che dovrà essere compilato in pdf, deve delineare la classe del documento. Ognuna delle classi delinea delle generali regole di formattazione che successivamente elencherò che possono subire leggere modifiche attraverso degli argomenti opzionali. La generica forma è \mintinline{latex}{\documentclass{classe}} ma è possibile modificare alcuni parametri utilizzando la forma \mintinline{latex}{\documentclass[key1=value1, key2=value2, key3=value3]{classe}}.
Tra le classi standard vi sono le seguenti:
\paragraph{article} Generalmente utilizzata per la scrittura di piccoli articoli. Non possiede una divisione a capitoli.
\paragraph{report} Generalmente utilizzato per la scrittura di documenti di media dimensione. Possiede una divisione in capitoli.
\paragraph{book} Ideale per la stesura di lunghi testi. Supporta una struttura articolata in capitoli, sezioni e sottosezioni. Generalmente il miglior formato per sistemare gli appunti in un unico file.
\paragraph{letter} Generalmente utilizzato per scrivere nel formato di lettera (circa A5). Formato utile quando bisogna scrivere corti testi o testi di cui c'è la necessità di fruire su un dispositivo mobile o su un ereader.
Altre classi sono:
\paragraph{scrbook} Come book ma con opzioni più avanzate, è quello che sto utilizzando per questo libro.
\paragraph{beamer} Il formato per la realizzazione di slide.
Le classi standard possiedono tra i loro argomenti opzionali i seguenti:
\paragraph{fontsize} Dimensione generica del font utilizzato. es. \texttt{fontsize=10pt}
\paragraph{pagesize} Dimensione della pagina. es \texttt{pagesize=a4paper} o \texttt{pagesize=letterpaper}. Si può avere una letter impaginata in foglio a4 o un libro inpaginato in un foglio lettera
\paragraph{pagelayout} Layout delle pagine. es \texttt{pagelayout=onecolumn} o \texttt{pagelayout=twocolumn} o nel caso di article \texttt{pagelayout=oneside} o \texttt{pagelayout=twoside}
\section{Importare librerie}
Una libreria è un insieme di comandi di \LaTeX che vengono importati mediante l'uso di un determinato comando e che ha lo scopo di cambiare o introdurre nuove regole e istruzioni nel nostro progetto. Quando vogliamo importare una libreria necessitiamo di scrivere sotto \mintinline{\documentclass} l'istruzione \mintinline{\usepackage{libreria}}. \capitalgrave{E} possibile anche in questo caso passare degli argomenti opzionali mediante l'uso di \mintinline{latex}{\usepackage[key1=value1, key2=value2, key3=value3]{libreria}}.
\begin{nota}
Quando scriverò "dalla libreria \texttt{nome}", implico la necessità di avere nella parte iniziale del documento, dopo \mintinline{\documentclass} ma prima delle successive istruzioni una riga \mintinline{\usepackage{nome}}
\end{nota}
\capitalgrave{E} possibile creare proprie librerie da importare comodamente in diversi progetti creando un file \texttt{nome.sty} e chiamandolo nel file \texttt{.text} usando il comando \mintinline{\usepackage{nome}}. Sarà tra le ultime cose che vi spiegherò, ve lo dico in quanto ne faccio uso in questa guida.
\section{Metadati}
L'aggiunta di metadati\footnote{Un metadato è un dato aggiuntivo di un file. Un esempio di metadato è la posizione gps o le informazioni sulla telecamera nelle foto.} avviene dopo l'importazione delle librerie e prima dell'inizio del documento. \capitalgrave{E} possibile creare una pagina nel documento utilizzando il comando \mintinline{\maketitle} generata in automatico dalle informazioni definite come metadati.
\begin{minted}
\usepackage{book}
% Librerie
...
% Metadati
\title{Titolo}
\author{Nome}
\date{Data}
% Documento
\begin{document}
\maketitle
\end{document}
\end{minted}
Al posto di \texttt{Titolo}, \text{Nome}, \texttt{Data} è possibile inserire qualsiasi stringa\footnote{Per stringa si intende un insieme di caratteri e spazi che formano del testo} e i comandi che hanno come risultato una stringa. Un esempio particolare è l'uso del comando \mintinline{\today} per la data.