INTRODUZIONE GENERALE AL DOCUMENTO IN LATEX un documento latex è formato da: - classe e pacchetto del documento, dove si decide il tipo di documento (articolo, libro, report, ...) tramite la direttiva \documentclass[a4paper | a3paper | ..., 11pt | 10pt | ..., ...]{article | book | ...} - informazioni del documento, dove si possono inserire informazioni come l'autore, la data, il titolo, ecc. tutto con direttive come: \title{title of document}, \author{name1 \\ name2 ...}, \date{\today | ...} - documento, in questa sezione è presente il documento vero e proprio la struttura del documento viene definita con delle direttive, le principali sono: - \begin{document | ...} ... \end{document | ...} - \maketitle - \chapter{chapter title} - \section{section title} - \subsection{sub-section title} - \subsubsection{sub-sub-section title} - \paragraph{paragraph title} un documento è diviso in varie sezioni / livelli, come capitoli, sezioni, sotto-sezioni, ecc. ogni sezione è associata ad un livello di profondità. non tutte vengono renderizzate nel documento e non tutte possono essere usate in tutti i tipi di documento, la tabella riassume tutto: ---------------------------------------------------------------------------------- | livello | nome sezione | article | book | report | IEEEtran | ---------------------------------------------------------------------------------- | - | \begin{doc} ... \end{doc} | si | no | si | si | | -1 | \part{title} | si | si | si | no | | 0 | \chapter{title} | no | si | si | no | | 1 | \section{title} | si | si | si | si | | 2 | \subsection{title} | si | si | si | si | | 3 | \subsubsection{title} | si | si | si | si | | 4 | \paragraph{title} | si | si | si | si | | 5 | \subparagraph{title} | si | si | si | si | ---------------------------------------------------------------------------------- le numerazioni sono presenti solo per le sezioni di profondità da -1 a 3, le altre sezioni non vengono numerate. per far si che anche \paragraph e \subparagraph vengano numerati possiamo aggiungere la direttiva \setcounter{secnumdepth}{ } prima di \begin{}. la tabella dei contenuti, ovvero una sorta di indice, viene creata con la direttiva \tableofcontents, questa contiene le indicazioni di tutte le sezioni presenti fino al livello 3, quindi alle sub-sub-section, nel caso vogliamo considerare livelli più inoltrati, possiamo farlo con la direttiva \setcounter{tocdepth}{ }. per avere una sezione non numerata e che non appare nell'indice, possiamo inserire "*" dopo la direttiva \section -> \section*{title}. per avere invece una sezione non numerata ma che venga presa in considerazione nella tabella dei contenuti usiamo la direttiva \addcontentsline{toc}{ }{ }, questa va inserita subito dopo la sezione che vogliamo. nel caso volessimo inserire un alias nell'indice e non il titolo effettivo della sezione, magari perché è troppo lungo, possiamo farlo con \subsection[title to display in ToC]{original title}. FORMATTAZIONE DELLE PAGINE il formato della pagina lo decidiamo nel momento della dichiarazione della classe, quindi \documentclass[page type]{...}, e può essere di qualsiasi tipo, come a4, a3, a2, b1, b2, ecc. in questo momento possiamo anche scegliere se avere un documento fronte-retro o solo fronte. Un esempio di documento a3 fronte-retro è: \documentclass[a3paper, twoside]{article}. solitamente tutti i documenti solo sono solo fronte, mentre i libri sono fronte-retro, è quindi bene specificarlo. per modificare i margini della pagina si utilizza un pacchetto chiamato "geometry", quindi all'inizio del file inseriamo la direttiva \usepackage[margin=inch]{geometry} se vogliamo tutti i margini uguali o \usepackage[top=inch, bottom=inch, left=inch, right=inch]{geometry} pr definirli tutti diversi. nel caso di un documento fronte-retro specifichiamo margine interno ed esterno e non destro e sinistro: \usepackage[top=inch, bottom=inch, outter=inch, inner=inch]{geometry} per definire lo stile di intestazione e pie di pagina utilizziamo le direttive \pagestyle{} per tutta la pagina e \thispagestyle{} per la pagina corrente, in particolare possiamo definire: --------------------------------------------------------------------- | stile | intestazione | pie di pagina | --------------------------------------------------------------------- | empty | niente | niente | | plain | niente | numero pagina | | headings | nome sezione e numero pagina | niente | | myheading | numero pagina e testo a scelta | niente | --------------------------------------------------------------------- in alternativa si può utilizzare il pacchetto fancy che ci permette una maggior personalizzazione di header e footer. per modificare il numero delle pagine utilizziamo la direttiva \pagenumbering{ arabic | roman | Roman | alph | Alph }, per resettare la numerazione e rifarla partire o settarla ad un numero a scelta utilizziamo \setcounter{page}{ <number> } per modificare l'orientamento della pagina utilizziamo i pacchetti lscape e pdflscape, quindi: \usepackage{ lscape | pdflscape } e successivamente \begin{landscape} ... \end{landscape} la differenza tra i due pacchetti si nota nel pdf finale, infatti, come nel seguente schema: lscape pdflscape ------ ------ | | | | | -> | page 1 | -> | page 1 | | | | | | | | ------ ------ ------ ---------- | | | | page 2 landscape | ^ | page 2 landscape | -> | | | | ---------- | | ------ ------ ------ | | | | | -> | page 3 | -> | page 3 | | | | | | | | ------ ------ per impostare l'interruzione di una pagina, quindi passare ad una nuova pagina utilizziamo \pagebreak o \newpage. \pagebreak cerca di riempire completamente la pagina corrente per arrivare ad una nuova, mentre \newpage passa ad una nuova lasciando uno spazio vuoto. per avere un documento interamente strutturato su due colonne possiamo inserire l'attributo "twocolumn" nella direttiva \documentclass, quindi \documentclass[a4paper, twocolumn]{article}. con il pacchetto multicol possiamo invece dividere in n colonne una sezione di documento che vogliamo, quindi \usepackage{multicol} ... \begin{multicols}{ <no of col> } ... \end{multicols}. per aumentare lo spazio tra le colonne utilizziamo \setlength\columnsep{ <X>pt } prima del \begin{multicols}{...}. se vogliamo inserire una linea verticale tra le colonne possiamo utilizzare \setlength{\columnseprule}{ <X>pt }. per forzare il testo ad andare nella colonna successiva possiamo utilizzare \columnbreak. con questo pacchetto tutte le colonne avranno ugual larghezza. per avere più colonne con possibiltà di modificare larghezza ed altri parametri utilizziamo il pacchetto "parcolumns", quindi \usepackage{parcolumns} ... \begin{parcolumns}{ <no of col> } \colchunk{ ... colonna1 ... \sloppy (usato per aggiustare gli spazi)... } ... \colchunk{ ... colonna2 ... \sloppy ... } ... \end{parcolumns} all'inizio possiamo specificare se vogliamo una linea separatrice, quindi \begin{parcolumns}[rulebetween=true]{ <no of col> } e specificare la grandezza delle colonne con \begin{parcolumns}[colwidths={1=Xcm, 2=Xcm ...}]{ <no of col> } per una miglior precisione utilizziamo n=.X\colwidth. per aumentare la distanza tra le colonne utilzziamo \begin{parcolumns}[distance=Xpt]{ <no of col> } ... per inserire del testo a fine pagina, sopra il pie di pagina, per esempio dei riferimenti, possiamo usare \footnotes{text}. per far si che nessuna parola sia lasciata da sola in una nuova pagina possiamo incrementare \windowpenality=X o \clubpenality=X, di default è 150 ma può essere ampliato fino a 10000. FORMATTAZIONE DEL TESTO per inserire le virgolette singole o doppie, utilizziamo prima ` o `` e in seguito ' o ''. quindi per mettere una parola tra doppi apici ("test") utilizziamo ``test'', per averla tra singoli apici, `test'. per utilizzare il trattino abbiamo tre possibilità: - quando dobbiamo utilizzarlo per una parola composta, come "anti-carro", utilizziamo il trattino classico. - quando dobbiamo utilizzarlo per un range di anni, per esempio, 2016-2022, utilizziamo \textendash, quindi: 2016\textendash2002. - quando dobbiamo, per esempio, fare una citazione, come: "nel mezzo del ... -dante alighieri", utilizziamo \textemdash. per utilizzare i tre puntinni invece, utilizziamo \ldots. la grandezza del testo si inserisce nella direttiva \documentclass[text size]{...}. se vogliamo ingrandire una parte del testo mentre scriviamo inseriamo la direttiva \Huge o \Large, per poi riportarla alla grandezza normale usiamo \normalsize. se vogliamo per esempio solo una frase più grande possiamo inserirla nelle parentesi graffe insieme alla direttiva \Huge, quinid { \Huge ... }. allo stesso modo posso rimpicciolire o cambiare stile/font. nella tabelle sottostante eleco le possibili grandezze: Document text size ---------------------- | 10pt | 11pt | 12pt | --------------------------------------------------- | tiny | 5 | 6 | 6 | --------------------------------------------------- | scriptsize | 7 | 8 | 8 | --------------------------------------------------- | footnotesize | 8 | 9 | 10 | --------------------------------------------------- | small | 9 | 10 | 10.95| --------------------------------------------------- | normalsize | 10 | 11 | 12 | --------------------------------------------------- | large | 12 | 12 | 14.4 | --------------------------------------------------- | Large | 14.4 | 14.4 | 17.28| --------------------------------------------------- | LARGE | 17.28| 17.28| 20.74| --------------------------------------------------- | huge | 20.74| 20.74| 24.88| --------------------------------------------------- | Huge | 24.88| 24.88| 24.88| --------------------------------------------------- --------------------------------------------------- | stile | command | --------------------------------------------------- | iold | \textbf{...} | --------------------------------------------------- | italics | \textit{...} | --------------------------------------------------- | emphasis | \emph{...} | --------------------------------------------------- | underline | \underline{...} | --------------------------------------------------- | small caps | \textsc{...} | --------------------------------------------------- | roman | \textrm{...} | --------------------------------------------------- | sans serif | \textsf{...} | --------------------------------------------------- | typewriter | \texttt{...} | --------------------------------------------------- | superScript | \textsuperscript.. | --------------------------------------------------- | subScript | \textsubscript{... | --------------------------------------------------- COLORI in latex i colori possono essere settati per testo, pagina, tabelle, ecc. per utilizzarli ci serve il pacchetto color, quindi \usepackage{color}. questo pacchetto contiene però solo i colori basilari, per maggior scelta, usiamo xcolor in questo modo: \usepackage[dvipsnames]{xcolor}. per cambiare colore al testo facciamo: \textcolor{ <colore> }{... text ...} oppure \textcolor{ <colore>!<percentuale>[ !<colore> ] }{... text ...} ALLINEAMENTI normalmente il testo ha un allineamento giustificato, quindi allineato sia a destra che a sinistra, questi comandi permettono di allinearlo a sinistra, destra o centro: - left align: \begin{flushleft} ... \end{flushleft} - right align: \begin{flushright} ... \end{flushright} - center align: \begin{center} ... \end{center} SPAZIATURE il pacchetto setspace permette di incrementare o decrementare la spaziatura tra le righe del testo, quindi \usepackage{setspace}. i prossimi 3 comandi permettono di avere una spaziatura diversa per tutto il documento: - singola spaziatura: \singlespacing - una spaziatura e mezza: \onehalfspacing - doppia spaziatura: \doublespacing mentre con il prossimo comando possiamo cambiare la spaziatura di una parte: \begin{singlespacing | onehalfspacing | doublespacing} ... \end{singlespacing | onehalfspacing | doublespacing}. per modificare la spaziatura in modo "custom" possiamo usare \spacing{ <X> } per l'intero documento o \begin{spacing}{ <X> } ... \end{spacing} per modificare la spaziatura tra section, subsection, ecc. utilizziamo il pacchetto titlesec, quindi \usepackage{titlesec}, poi il comando \titlespacing{chapter | section | subsection | ...}{ <left Xpt> }{ <before Xpt> }{ <after Xpt> } dove: - left denota la distanza X da sinistra. - right denota la distanza X da destra. - after denota la distanza X tra il titolo e il paragrafo. per formattare il titolo, possiamo usare la direttiva \titleformat{chapter | section | subsection | ...}[display]{ <format> }{ <label> }{ <sep> }{ <before code> }[ <after code> ], per esempio: \titleformat{\chapter}[display]{\Huge\bfseries}{\chaptertitlename}{10pt}{\huge} ELENCHI gli elenchi possono essere creati in tre modi: - normali con il pallino, \begin{itemize} - ... \item ... \end{itemize} - numerati, \begin{enumerate} - ... \item ... \end{enumerate}, in questo caso per cambiare la numerazione in alfabetica possiamo usare il pacchetto \usepackage{enumerate} e \begin{enumerate}[A.] - descritti, \begin{description} - ... \item ... \end{description} RIGHE E SIMBOLI con il pacchetto \usepackage{pifont} possiamo inserire singoli e riempire righe con essi, ogni numero è associato ad un simbolo, per esempio: - \ding{45} inserisce il simbolo di una mano che scriive. - \dingfill{168} inserisce una riga intera con il simbolo dei fiori. - \dingline{168} inserisce una linea centrale con il simbolo dei fiori. LISTE per creare liste con simboli personalizzati possiamo utilizzare: \begin{dinglist}{ <numero del simbolo> } - ... \begin{dinglist}{ <numero del simbolo> } - ... - ... \end{dinglist} - ... \end{dinglist} ci sono anche simboli che possono autoincrementarsi perchè contengono un numero, per farlo creiamo una lista in questo modo: \begin{dingautolist}{ <numero del simbolo> } - ... \begin{dinglist}{ <numero del simbolo> } - ... - ... \end{dinglist} - ... \end{dingautolist} CODICE SORGENTE per inserire codice sorgente formattato nel documento utilizziamo il pacchetto \usepackage{listings} e inseriamo la direttiva \begin{lstlisting} ... \end{lstlisting} oppure includiamo un file in questo modo: \lstinputlisting[language=c|python|...]{filename.ext} per modificare la formattazione possiamo utilizzare diversi attributi nella direttiva \lstdefinestyle{customc}{ ... attributi ... } \lstset{style=customc}, la tabella sottostante li elenca tutti: ------------------------------------------------------------------------- | attributo | descrizione | ------------------------------------------------------------------------- | backgroundcolor=\color{...} | setta il colore come sfondo al | | | codice sorgente | ------------------------------------------------------------------------- | frame=single | aggiunge un bordo al codice | ------------------------------------------------------------------------- | breaklines=true | va a capo nel caso non ci stia | | | su una riga | ------------------------------------------------------------------------- | xleftmargin=Xpt | setta il margine da sinistra | ------------------------------------------------------------------------- | language=Lang | evidenzia le keyword per ling. | ------------------------------------------------------------------------- | showstringspaces=false | se true evidenzia gli spazi con | | | un carattere speciale | ------------------------------------------------------------------------- | stepnumber=X | intervallo tra due righe | ------------------------------------------------------------------------- | basicstyle=\ttfamily | stile dei caratteri normali | ------------------------------------------------------------------------- | keywordstyle=\color{color} | stile delle keyword | ------------------------------------------------------------------------- | commentstyle=\color{color} | stile dei commenti | ------------------------------------------------------------------------- | identifierstyle=\color{color} | stile degli identificatori | ------------------------------------------------------------------------- | stringstyle=\color{color} | stile delle stringhe | ------------------------------------------------------------------------- | numbers=left | mette i numeri di riga a sinistra | ------------------------------------------------------------------------- | numbersep=Xpt | spazio tra numeri e codice | ------------------------------------------------------------------------- | numberstyle=\color{color} | stile dei numeri di riga | ------------------------------------------------------------------------- uno stile classico può essere: \lstdefinestyle{mystyle}{backgroundcolor=\color{Gray!20}, breaklines=true, xleftmargin=5pt, language=c, stepnumber=1, basicstyle=\ttfamily, keywordstyle=\color{OliveGreen}, commentstyle=\color{Plum}, stringstyle=\color{red}, identifierstyle=\color{blue}, numbers=left, numberstyle=\color{Plum}} SIMBOLI MATEMATICI per scrivere espressioni matematiche ci serve il pacchetto \includepackage{mathtools}, e tutte le espressioni vanno scritte tra due simboli di dollaro, quindi $ ... expr ... $. qui metto degli esempi su espressioni scritte in latex. - $(a + b)^2 = a^2 + 2ab + b^2$ - $cos(2\theta) = 1 - 2sin^2(\theta)$ - $c = a_1 \times b_1$ - $\sqrt{16} = 4$ - $\sqrt[3]{64} = 4$ - $A \in B \ne \phi$ - $\{[(1 + 2) \times 1] \div 3\} = 1$ per inserire parentesi graffe, bisogna prima inserire un backslash, quindi \{ ... \}. a volte invece servono parentesi più grandi, in questo caso possiamo usare le keyword big, Big, bigg e Bigg, quindi: - $\big( ... \big)$ - $\Big[ ... \Big]$ - $\bigg\{ ... \bigg\}$ - $\Bigg( ... \Bigg)$ un esempio è: $\Bigg\{\Bigg[\Bigg(1 + 2\Bigg) \times 1\Bigg] \div 3\bigg\} = 1$ per le frazioni si utilizza la keyword \frac{numeratore}{denominatore}. numeratore e denominatore possono essere a loro volta frazioni o qualunque cosa. per esempio: - $\frac{A}{B} + \frac{C}{D} = 1$ - $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ - $\frac{1}{10} + \frac{1}{8} \cdots + \frac{1}{2} \ge 4$ - $\frac{2 + 3}{\frac{2}{4}} = 5 \times \frac{4}{2} = 10$ \cdots mette i puntini. le equazioni vengono create all'interno di \begin{equation} ... \end{equation}, queste vengono numerate e centrate, nel caso non le volessimo numerare utilizziamo la direttiava \nonumber, degli esempi sono: \begin{equation} (a + b) (b - a) = a^2 - b^2 \end{equation} \begin{equation} a + b \times c \end{equation} se utilizziamo invece \begin{align} ... \end{align} possiamo scrivere diverse equazioni su più righe, utilizzando "&" possiamo allineare tutti i simboli di uguaglianza e con "\\" andiamo su una nuova riga. degli esempi sono: \begin{align} 3x - 6 &= 9 \\ 3x &= 9 + 6 \nonumber \\ x &= \frac{9 + 6}{3} \nonumber \\ x &= 5 \nonumber \end{align} possiamo creare delle equazioni con più casi tramite la keyword \begin{cases} ... \end{cases}, per esempio: $f(x) = \begin{cases} \text{0} & \text{if $i = j$} \\ \text{x} & \text{if $x \in E$} \\ \frac{x}{7} & \text{if $x \notin E$} \\ \infty & \text{if $x \ne 70$} \\ \end{cases} $ come si nota: - infty si usa per scrivere l'infinito. - \text{} si usa per inserire del testo in espressioni matematiche. - all'interno di \text{} possiamo scrivere espressioni sempre con $ ... $. per creare delle matrici possiamo usare diversi ambienti: ------------------------------------- | ambiente | matrice | ------------------------------------- | matrix | senza bordi | ------------------------------------- | pmatrix | con parentesi | | | tonde come | | | bordo | ------------------------------------- | bmatrix | con parentesi | | | quadre come | | | bordo | ------------------------------------- | Bmatrix | con parentesi | | | graffe come | | | bordo | ------------------------------------- | vmatrix | con | come | | | bordo | ------------------------------------- | Vmatrix | con || come | | | bordo | ------------------------------------- l'allinamento dei numeri nelle matrici è di default centrato, possiamo però cambiarlo durante la dichiarazione in questo modo: \begin{matrix*}[l] ... \end{matrix*}. qui ci sono degli esempi: $\begin{Vmatrix} 1 & 2 \\ 23 & 27 \end{Vmatrix} + \begin{Vmatrix} 4 & 212 \\ 21 & 543 \end{Vmatrix}$ per rappresentare una sommatoria possiamo usare il comando \sum_{limite inferiore}^{limite superiore}, per esempio: - $\displaystyle \sum_{i=0}^{10} f(i)$ - $\displaystyle \sum_{i=0}^{10} f(i)$ per rappresentare integrali usiamo \int_{a}^{b}, o \iint_{R}, mentre per i limiti usiamo: \lim_{}, alcuni esempi: - $\displaystyle \int_{a}^{b} f(x) \mathrm{d}x$ - $\displaystyle \int_{a}^{b} \Big[ \int_{a}^{b} f(x, y) \mathrm{d}y \Big] \mathrm{d}x$ - $\displaystyle \iint_{R}f(x, y) \mathrm{d}A$ - $\displaystyle \lim_{x \to \pi} f(x)$ TABELLE la struttura base di una tabella si costruisce con \begin{tabular}{ <columns> } ... \end{tabular}, dove il valore columns può essere: - l, che allinea il testo della cella a sinistra. - c, che allinea il testo della cella al centro. - r, che allinea il testo della cella a destra. - p{Xcm}, che allinea il testo a sinistra e setta la larghezza della cella a X centimetri. un esempio è quindi: \begin{tabular}{|c|l|l|} ... \end{tabular} che crea una tabella di tre colonne: una con allineamento al centro, le altre con allineamento a sinistra. se tra gli argomenti l, c, r e p{} inseriamo "|", allora avremmo le linee verticali tra le colonne, altrimenti no. possiamo anche inserire una linea doppia con "||". quando creiamo la tabella possiamo usare le seguenti keyword: - &, che permette di separare il contenuto di diverse colonne. - \\, che denota la fine di una riga. - \hline, che inserisce una linea orizzontale. - cline{i - j}, che inserisce una linea orizzontale dalla colonna i alla colonna j. per settare l'altezza delle righe possiamo utilizzare il comando \renewcommand{\arraystretch}{ <X> } \begin{tabular} ... \end{tabular}. possiamo creare una tabella con le linee tratteggiate usando il pacchetto \usepackage{arydshline} e la funzione \hdashline[ <dash size>/<space between dash> ] e \cdashline[ <dash size>/<space between dash> ]{i - j}, per quelle verticali usiamo invece ":" nella dichiarazione, quindi: \begin{tabular}{:c:l:r:} \hdashline[3pt/3pt] bo & nome & cognome \\ \hdashline[3pt/3pt] io & ammicco & sono \\ \hdashline[3pt/3pt] tu & non & sei \\ \hdashline[3pt/3pt] \end{tabular} per unire più colonne posso usare la keyword \multicolumn{ <total columns> }{ <allignment> }{ <text> }. per esempio: \begin{tabular}{|l|l|l|} \hline \multicolumn{3}{|c|}{lista} \\ \hline bo & nome & cognome \\ \hline io & ammicco & sono \\ \hline tu & non & sei \\ \hline \end{tabular} per unire più righe invece devo utilizzare il pacchetto \usepackage{multirow} e la funzione \multirow{ <number of rows> }{ <width> }{ <text> }, come larghezza posso specificare X in centimetri o * per avere la larghezza del contenuto. per esempio: \begin{tabular}{|c|l|l|} \hline group & name & points \\ \hline \multirow{3}{*}{A} & amco & 10 \\ & albe & 20 \\ & vale & 34 \\ \hline \multirow{2}{*}{B} & matti & 2 \\ & astro & 3 \\ \hline \end{tabular} per colorare le tabelle usiamo il pacchetto \usepackage{colortbl} che comprende le funzioni >{\columncolor{color!perc}}, da scrivere durante la definizione, \rowcolor{color!perc}, da scrivere prima dell'inzio della riga, \cellcolor{color!perc}, da scrivere prima del testo della cella. per esempio: \begin{tabular}{>{\columncolor{blue!50}}|c|l|l|} \hline id & nome & cognome \\ \hline \rowcolor{yellow!40} 10 & nico & io \\ \hline \end{tabular} per alternare i coliri delle righe possiamo usare la funzione \rowcolors{ <starting row numbers> }{ <odd row colors> }{ <even row colors> }, per esempio: \rowcolors{1}{gray!20}{Lavander!50} \begin{tabular}{cll} ... \end{tabular} nel caso la tabella sia troppo lunga per una pagina non si può usare tabular ma usiamo l'ambiente longtable, tutto il resto della sintassi rimane uguale. possiamo decidere di ripetere una riga in ogni pagina con il comando \endhead dopo la riga che vogliamo ripetere. con l'ambiente \begin{table}[position] ... \end{table}, possiamo decidere dove posizionare la tabella nella pagina, le opzioni sono: - h, approssimatamente qui. - t, in cima alla pagina. - b, in fondo alla pagina. IMMAGINI per gestire le immagini usiamo il pacchetto \usapackage{graphicx}, questo supporta .png, .jpg, .pdf e .eps, con il comando \includegraphics[attribute1, attribute2, ...]{filename.ext} aggiungiamo il file al documento corrente. per gestire la grandezza delle immagini possiamo usare gli attributi "width" e "height", quindi: \includegraphics[width=X<unit>]{*.png} o \includegraphics[height=X<unit>]{*.png}, per scalare un immagine usiamo unvece l'attributo "scale", quindi: \includegraphics[scale=X]{*.png} per ritagliare un'immagine dobbiamo usare due attributi: clip, che deve essere settato a true e trim, con cui specifichiamo quanto tagliare ogni lato dell'immagine, quindi: \includegraphics[clip=true, trim=2mm 3mm 4mm 1mm]{image.png}. l'ordine delle dimensioni è: sinistra, sopra, destra e sotto. per ruotare un'immagine invece possiamo usare l'attributo angle: \includegraphics[angle=45]{image.png}. per mettere i bordi ad un immagine possiamo usare una fbox, quindi: \fbox{\includegraphics[angle=45]{image.png}} posso anche aumentare lo spessore dei bordi usando: \setlength{\fboxrule}{Xpt} \fbox{\includegraphics[angle=45]{image.png}} per inserire del "padding" tra bordi e immagine possiamo usare: \setlenght{\fboxsep}{Xpt} \fbox{\includegraphics[angle=45]{image.png}} per specificare la posizione e la caption delle immagini utilizziamo l'ambiente figure: \begin{figure}[position] \includegraphics[scale=X]{image.png} \caption{caption} \end{figure} la posizione può essere: - h, approssimatamente qui. - t, in cima alla pagina. - b, in fondo alla pagina. - !, override internal parameters. - p, on a special page. per mostrare la lista di tutte le immagini del documento, in cima alla pagina inseriamo: \listoffigure. quando dobbiamo mischiare testo e immagini usiamo il pacchetto \usepackage{wrapfig}. possiamo quindi usare l'ambiente: \begin{wrapfigure}{l|L|r|R|i|I|o|O}{width} \includegraphics ... \caption ... \end{wrapfigure} il primo attributo può essere: - l o L, che mette la figura a sinisra e il testo a destra. - r o R, che mette la figura a destra e il testo a sinsitra. - i o I, che mette la figura in un angolo. width indica la larghezza dell'immagine. un esempio: \begin{wrapfigure}{R}{0.2\textwidth} \includegraphics[scale=0.5, clip=true, trim=0mm 0mm 120mm 0mm]{~/Pictures/Screenshots/Screenshot from 2022-08-19 14-20-32.png} \caption{test} \end{wrapfigure} \paragraph{} Each retailer has a slightly different approach to how it handles restock events. Given the relative scarcity of Sony’s console, retailers have each adopted their own methods to circumvent bots and scalpers, which typically involve digitally queueing at a storefront and logging in with a specific account. If you check availability at a physical store in your area, however, you might have better luck, as in-store restocks often occur with little notice — that is, unless you’ve signed up for notifications from a service like GPU Drops. un altro modo per inserire le immagini nel testo è usare il pacchetto \usepackage{picinpar} e l'ambiente figwindow: \begin{figwindow}[ <no of lines>, l|r|c, <code to insert the image>, {caption}] text ... \end{figwindow} dove: - no of lines, indica quante righe di testo lasciare prima di inserire l'immagine. - l, r o c, indicano la posizione dell'immagine rispetto al testo. - code to insert the image, indica il comando \includegraphics ... . - caption, indica la caption dell'immagine. - paragraph text, indica il testo che deve andare "attorno" all'immagine. un esempio: \begin{figwindow}[3, l, {\includegraphics[scale=0.5, clip=true, trim=0mm 0mm 120mm 0mm]{~/Pictures/Screenshots/Screenshot from 2022-08-19 14-20-32.png}}, {test diverso} ] Each retailer has a slightly different approach to how it handles restock events. Given the relative scarcity of Sony’s console, retailers have each adopted their own methods to circumvent bots and scalpers, which typically involve digitally queueing at a storefront and logging in with a specific account. If you check availability at a physical store in your area, however, you might have better luck, as in-store restocks often occur with little notice — that is, unless you’ve signed up for notifications from a service like GPU Drops. \end{figwindow} INCLUDERE PDF latex permette di includere tutto un documento o solo alcune pagine all'interno di un nostro documento, grazie al pacchetto \usepackage[final | draft | demo]{pdfpages}, dove: - final include il file .pdf per intero. - draft include una box vuota con il nome del pdf. - demo inserisce una pagina vuota al posto del pdf. per includere tutte le pagine utilizziamo: \includepdf[pafes=-]{filename.pdf}. per includere solo alcune pagine possiamo invece specificare in diversi modi: - pages={1,2,5} inserisce le pagine 1,2 e 5. - pages={1,{},5} inserisce le pagine 1, una pagina vuota e la pagina 5 - pages={1, {7-19}} inserisce la pagina 1 e dalla pagina 7 alla 19 il comando pagecommand è utilizzato per modificare lo ostile del documento inserito, per esempio: \includepfd[pages=-, pagecommand={\thispagestyle{plain}}]{file.pdf}, per invece modificare la grandezza usiamo l'attributo scale=X, per tagliarlo possiamo utilizzare [clip=true, trim=Xmm Ymm Zmm Hmm] e per ruotarlo usiamo [angles=X]. TITOLAZIONE per inserire, oltre alle informazioni basilari nel titolo, immagini o altro, possiamo utilizzare l'ambiente: \begin{titlepage} info, text, image, ecc... \end{titlepage} HYPERLINKS se utilizziamo il pacchetto \usepackage{hyperref} possiamo rendere cliccabili tutti i link, la ToC ecc. possiamo usare il comando \url{https:// ... } per inserire un link che sarà completamente visibile nel documento, se vogliamo mostrare solo un alias che punti al nostro link utilizziamo il comando \href{https:// ... }{my alias}. REFERENZE per fare riferimenti a testo contenuto nel documento stesso possiamo usare i comandi \label, \ref e \pageref per il numero della pagina. il comando \label{sec:nome} permette di inserire referenze alla sezione del paragrafo che vogliamo, la \label{fig:nome} permette di fare referenze a immagini, quindi: \begin{figure} \includegraphics ... \caption{Types:\label{fig:nome}} \end{figure} per fare la referenza utilizziamo: - \ref per riferirci alla sezione/immagine - \pageref per riferirci alla pagina in cui troviamo la referenza BLIOGRAFIA per inserire una bibliografia dobbiamo fare 3 cose: - creare un file .bib - citare questo file nel file .tex - compilare il file .bib ha una sintassi del tipo: @misc{ KEY, author = { }, title = { }, month = { }, year = { }, url = "" } dove misc indica il tipo di refernza, come "book", "article", ecc. e KEY la parola chiave per la citazione per citare nel testo includiamo \usepackage{url} e usiamo il comando \cite{KEY}. alla fine del testo inseriamo il comando \bibliografy{file} e \bibliographystyle{plain} possiamo anche usare \nocite{KEY} per includere la refernza senza citare compiliamo con bibtex nome (senza .tex) e poi pdflatex nome.tex INDICE DEI TERMINI per creare un indice di termini usati e la pagina in cui è stato usato si utilizza il pacchetto \uepackage{makeidx} e il comando \makeindex le parole chiave che comporranno l'indice sono indicate con \index{keyword}. per inserire l'inice in fondo alla pagina usiamo \printindex devo compilare con makeindex nome e pdflatex nome.tex lo stile dell'indice viene indicato come argomento nel comando \index{} e può essere: - \index{prova} è il default e visualizza parola, pagina, per esempio: prova, 40. - \index{prova!test} visualizza nell'indice la parola dopo il !, per esempio: test, 40. - \index{prova@\textbf{test}} visualizza in grassetto la seconda parola. - \index{prova|textfb} visualizza in grassetto il numero dlela pagina. - \index{prova|see{test}} ha un output del tipo: prova, see test BEST PRACTICE quando scriviamo documenti grandi è utile dividere il testo in diversi file .tex. e unirli con il comando include nel file principale. abbiamo per esempio, tre file: - main.tex - ch1.tex - ch2.tex per unire il capitolo 1 e 2 al file principale utilizziamo in main.tex: \begin{document} \include{ch1} \include{ch2} \end{document} FILE LATEX i file che incontriamo durante la scrittura di un file latex sono: - .sty, che estende e modifica lo stylingg del documento. - .tex, che contiene il testo in se. - .aux, che contiene le informazioni generali per compilare. - .log, che contiene i log del compilatore. - .out, che contiene gli hyperref. - .pdf, ovvero il documento finale. LISTE i tipi di liste che abbiamo sono: - toc, ovvero la tabella dei contenuti, generata con \tableofcontents. - lot, lista delle tabelle, generata con \listoftables. - lof, lista delle figure, generata con \listoffigures. BIBLIOGRAFIE - bib, ovvero il file in cui mettiamo tutti i dati delle referenze. - bbl, questo file contiene l'output del comando bibtex - blg, contiene i log di bibtex. INDICI - idx, contiene tutte le parole dell'indice. - ilg, log di makeidx. - ind, usato per generare gli indici nel pdf. DEFINIZIONE DI NUOVI COMANDI newcommand ci permette di definire o ridefinire comandi, la sintassi è: \newcommand<new command name>[< number of args - optional >]{ command } per esempio: - \newcommand\b{textbf} - \newcommand\hd{hdashline[1opt/5pt]} new enviroment ci permette invece di definire o ridefinire gli ambienti con la sintassi: \newenviroment{enviromentname}[number of arguments - optional]{ env }