Club di Economia Applicata (CEA) a.a. 2004/2005 ““Crash Crash Course ” Introduttivo di LaTeX Course” Fabio Gabrieli Dipartimento di Scienze Economiche Programma del corso Lezione del 2 luglio 2005 • • • • • • • TeX vs. LaTeX Perché LaTeX I file generati da TeX Comandi LaTeX Creazione di un file LaTeX Lo stile article Gli ambienti e gli elenchi di LaTeX Programma del corso continuazione… • • • • • • • Matematica con LaTeX Le tabelle in LaTeX La bibliografia in LaTeX Lo stile book Scrittura colorata L’ambiente figure Le vostre domande… TeX vs. LaTeX Cos’è TeX? • TeX è un “formattatore di testo”, cioè un linguaggio avente dei comandi per la formattazione del testo. • TeX è “portatile”. Esistono versioni di TeX per ogni tipo di computer e sistema operativo (PC, Mac). • TeX è gratis! Esistono numerosi siti da dove scaricare il software e degli archivi (CTAN = Comprehensive TeX Archive Network) con tante utili informazioni (pacchetti, manuali, ecc). • TeX è in continua evoluzione. Esiste un gruppo di ricerca per migliorarlo. TeX vs. LaTeX Cos’è LaTeX? • LaTeX è un linguaggio avanzato di editoria elettronica composto da un insieme di macro-comandi TeX, che facilitano la scrittura di documenti elaborabili da TeX. • Tutti i vantaggi del TeX sono anche nel LaTeX, che in più ha il vantaggio della semplicità. • LaTeX, grazie all’alta qualità dei documenti prodotti, è lo standard de facto per la scrittura di documenti scientifici. TeX vs. LaTeX Ancora su LaTeX • Al contrario di editor più conosciuti quali Word, WordPerfect, Works, StarOffice, ecc., che si basano sull'editoria WYSIWYG (What You See Is What You Get), con LaTeX si scrive un testo quale lo si pensa. • Mentre si scrive il sorgente sullo schermo compare il testo con una serie di comandi/istruzioni: l'output finale ha bisogno che il sorgente sia compilato. • Questo approccio viene anche definito WYSIWYM (What You See Is What You Mean). TeX vs. LaTeX Ancora su LaTeX • Con LaTeX lo scrittore è anche tipografo e deve occuparsi all'inizio soltanto delle convenzioni da usare. Fissate queste si preoccupa del testo non curando l'impaginazione, l'indice (generale e analitico), l'inserimento delle figure, delle tabelle,... che sarà curata da LaTeX. • Quindi, durante l'elaborazione di un articolo o di un libro, quello che si deve scrivere è unicamente il “sorgente”, che andrà poi compilato per ottenere un risultato negli standard dell'editoria professionale. • Il file finale è, generalmente, in formato DVI. Con altri comandi si può ottenere il risultato in PostScript o PDF. Perché LaTeX? Riassumendo: le “4S”… • Saggezza: è gratuito, potete scaricarlo dalla rete e aggiornarlo senza bisogno di pagare niente • Semplicità: non è difficile da usare e soprattutto non è difficile da imparare… si impara “sul campo”, per imitazione • Sicurezza: sei sicuro di veder stampate le tue pagine proprio come tu volevi e non come ha deciso la stampante impazzita di turno!! • Standard de facto: è sempre di più lo standard nella scrittura di testi scientifici Links utili LaTeX – A document preparation system • http://www.latex-project.org/ The Comprehensive TeX Archive Network • http://www.ctan.org/ Editor usato a lezione: TeXnicCenter è una applicazione che integra tutti gli strumenti necessari a creare documenti con TeX e LaTeX. C'è l'editor con cui scrivere i file .tex, il quale si compila scegliendo l'apposita voce da un menu. • http://www.toolscenter.org/ Compilatore usato a lezione: MiKTeX • http://www.miktex.org/ GUIT: Gruppo Utilizzatori Italiani di TeX • http://www.guit.sssup.it/ I file generati da LaTeX Un file scritto il LaTeX deve avere l’estensione .tex • Esempio: tesi.tex Il compilatore genererà dei file con le seguenti estensioni • • • .dvi (device independent) utile per visualizzazione e stampa .aux contenente le cross-reference .log contenente i messaggi delle compilazione … altri file che vedremo in seguito • .toc (table of contents) contenente l’indice analitico • .lot (list of tables) contenente la lista delle tabelle • .lof (list of figures) contenente la lista delle figure Osservazioni preliminari • I comandi LaTeX iniziano con il backslash \. Esempio: \alpha • I comandi LaTeX sono case-sensitive. Esempio: \delta e \Delta • Per limitare gli effetti di un comando si usano { } Esempio: \textbf{ciao} • Per inserire un commento si usa % Esempio: % questa riga non verrà compilata Comandi LaTeX Sintesi generale: \comando[opzione]{parametro} • Comandi senza parametri Esempio: \tableofcontents • Comandi con parametri Esempio: \chapter{titolo} • Comandi con parametri opzionali Esempio: \item[nome] Creazione di un file LaTeX \documentclass[argomenti opzionali]{stile} Preambolo \begin{document} Testo del documento \end{document} • Come si nota il documento si compone di due parti principali: il preambolo ed il testo vero e proprio del documento. \\documentclass[argomenti documentclass[argomenti opzionali]{stile} • Argomenti opzionali: ad esempio la dimensione del carattere che è espressa in pt [10,11,12] (il default vale 10). • Stile: può essere article: per documenti corti. report: per lunghi documenti book: per libri letter: per lettere slide: per lucidi Preambolo In questa zona sono contenute le istruzioni principale che verranno processate ma non produrranno alcun output specifico: • I comandi per richiamare un pacchetto • Delle macro standard • Delle macro definite da noi stessi Questi comandi e macro definiscono le istruzioni relative alla lingua, al formato della pagina, al numero di colonne, ecc. Esempio Segue il documento vero e proprio che inizia con \begin{document} e termina con la corrispettiva istruzione \end{document}. \documentclass[12pt]{article} \usepackage[italian]{babel} \usepackage[latin1]{inputenc} \begin{document} Vediamo cosa viene fuori! \end{document} Lo stile ““article” article” \documentclass[12pt]{article} \usepackage[italian]{babel} \usepackage[latin1]{inputenc} \title{Il mio primo file in \LaTeX} \author{Luis Nazario de Lima} \date{\today} \begin{document} \maketitle Vediamo cosa viene fuori! \end{document} Paragrafi • Un documento LaTeX è formato da paragrafi separati da linee bianche. • Osservazione: il ritorno a capo nell’editor non dà nessun effetto sul testo. • Se non si vuole il rientro di paragrafo automatico si mette il comando: \noindent Interruzioni e spazi • Interruzione di linea: \newline (oppure \\) • Interruzione di pagina: \newpage • Spazio orizzontale: \hspace{1cm} • Spazio verticale: \vspace{1cm} • Verticale: \bigskip, \medskip, \smallskip Caratteri speciali simbolo da scrivere # $ % & _ ^ ~ { } comando LaTeX \# \$ \% \& \_ \^{} \~{} \{ \} Cambiamenti di stile nel testo Comandi corrispondenti: \textit{ciao} \textsl{ciao} \textsc{ciao} \textmd{ciao} \textbf{ciao} \textrm{ciao} \textsf{ciao} \texttt{ciao} Cambiamenti di dimensione del testo In ordine crescente si ha: \tiny{ciao} \scriptsize{ciao} \footnotesize{ciao} \small{ciao} \normalsize{ciao} \large{ciao} \Large{ciao} \LARGE{ciao} \huge{ciao} Note a pi è pagina e a margine piè Nota a piè pagina \footnote{testo} Nota a margine \marginpar{testo a destra} Sezionamento di un documento \section{titolo} o \chapter{titolo} \subsection{titolo} \subsubsection{titolo} Osservazioni • • • \chapter{} è definito nelle classi book e report LaTeX gestisce la numerazione automaticamente se non si vuole associare la numerazione mettere un asterisco: \subsection*{titolo} Gli ambienti LaTeX Struttura generale: \begin{ambiente} … \end{ambiente} Esempi di ambienti predefiniti • • • center flushleft flushright Elenchi Ci sono 3 categorie • itemize • enumerate • description Esempi di elenchi itemize \begin{itemize} \item primo elemento \item secondo elemento \end{itemize} enumerate \begin{enumerate} \item primo elemento \item secondo elemento \end{enumerate} Esempi di elenchi description \begin{description} \item [Ore 10:20] primo appuntamento \item [Ore 10:50] secondo appuntamento \item [Ore 15:00] lezione \end{description} Possibili varianti per gli elenchi Numeri romani \begin{enumerate} \renewcommand{\theenumi}{\roman{enumi}} \item primo appuntamento \item secondo appuntamento \end{enumerate} Lettere dell’alfabeto \begin{enumerate} \renewcommand{\theenumi}{\alph{enumi}} \item primo appuntamento \item secondo appuntamento \end{enumerate} Matematica con LaTeX Matematica con LaTeX Caso 1: formula nel corpo del testo $…$ Caso 2: formula su una linea a sé stante \[ … \] Cosa si mette in una formula? apici: $a^n$, $a^{n+1}$ pedici: $a_n$, $a_{n+1}$ lettere greche: $\alpha$, $\beta$, $\gamma$ frecce: $\rightarrow$, $Leftarrow$ simboli: $\leq$, $\approx$ Testo all ’interno di una formula all’interno • Se ci sono delle parole vanno inserite dentro l’ambiente \mbox{testo} Esempio: \[ x+1>0 \mbox{ se } x>-1 \] Frazioni e radici frazioni: $\frac{a}{a}$ Esempi: $\frac{1}{2}$, $\frac{\frac{2}{3}}{\frac{4}{5}}$ radici: $\sqrt[n]{a}$ Esempi: $\sqrt{3}$ $\sqrt[3]{27}$ Sommatorie puntini” Sommatorie,, moltiplicatore e ““puntini” sommatorie: $\sum$ Esempio: $\sum_{i=0}^n a_i x^i$ moltiplicatore: $\prod$ Esempi: $\prod_{i=0}^n \epsilon_i$ puntini: $\dots, \cdots, \vdots, \ddots$ L ’ambiente ““equation” equation” L’ambiente Caso 3: formula su una linea a sé stante e numerata \begin{equation} … \ end{equation} • Si può anche inserire un riferimento all’equazione: \begin{equation}\label{eq1} … \end{equation} Che si richiama con: \ref{eq1} L ’ambiente ““eqnarray” eqnarray” L’ambiente Caso 4a: formula su più linee \begin{eqnarray} … &=& …\\ … &=& …\\ … &=& … \end{eqnarray} • • Per eliminare la numerazione in alcune righe soltanto mettere alla fine della riga (prima di \\): \nonumber invece per eliminare la numerazione su tutte le righe usare l’opzione: eqnarray* L ’ambiente ““equation” equation” + ““array” array” L’ambiente Caso 4b: formula su più linee (sistema) numerato una sola volta \begin{equation} \begin{array}{r c l l} P_1&=&10-Q_1 &\hspace{1cm} \mbox{\small{domanda per consumo}}\\ I_1+Q_1&=&\overline{S} &\hspace{1cm} \mbox{\small{condizione di equilibrio}}\\ A_1&=&0.9E_1(P_2) &\hspace{1cm} $\small{variazione dell'area piantata}$\\ E_1(P_2)&\leq&1.04P_1+0.5 &\hspace{1cm} $\small{condizione di arbitraggio}$\\ E_1(P_2)&=&f_1(A_1,I_1) &\hspace{1cm} $\small{funzione del prezzo atteso}$\\ \end{array} \end{equation} Simboli per gli insiemi appartenenza: $x \in A$ unione: $A \cup B$ intersezione: $A \cap B$ sottoinsieme: $A \subset B$ $A \subseteq B$ sovrainsieme: $A \supset B$ $A \supseteq B$ insieme vuoto: $\emptyset$ negazione: aggiungere \not Esempio: $x\not\in A$ Operatori e funzioni Vanno scritti in mezzo alle formule usando i loro relativi comandi: Esempi: $\lim$ $\log$ $\min$ $\sin$ $\cos$ $\tan$ Le lettere greche in grassetto • Nell'ambiente math il comando \mathbf{} consente di scrivere i caratteri in grassetto, però per poter scrivere lettere greche in grassetto potete usare il comando: \def\bbm[#1]{\mbox{\boldmath $#1$}} • Questa riga di comando va posta prima del comando \begin{document}. • Nel punto in cui volete introdurre la lettera in grassetto scrivete \bbm[y] o \bbm[\alpha] • Questo comando funziona con tutti i caratteri naturalmente nell'ambiente matematico! Le matrici Si realizzano tramite l’ambiente “array” • Le parentesi vanno inserite tramite \left( … \right) • Gli elementi di ogni riga vanno separati da & • Le righe vanno separate da \\ (tranne l’ultima) • Come argomento dell’ambiente “array” va inserito un campo che indica il numero delle colonne ed il loro allineamento: l (left), c (center) o r (right) Le matrici Esempio di matrice 3x3: \[ \left( \begin{array}{ccc} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7&8&9 \end{array} \right) \] Le matrici Osservazioni: • I delimitatori della matrice possono essere anche \[ \{ \| [ { | • I delimitatori vanno sempre inseriti con i comandi \left e \right • Se non si vuole far comparire il delimitatore di chiusura mettere: \right. Le matrici Esempio di delimitatore senza chiusura: il case \[ |x|= \left \{ \begin{array}{rl} x \mbox{ se } x\geq 0 \\ -x \mbox{ se } x<0 \end{array} \right. \] Attenzione al . dopo il comando \right Le tabelle Si realizzano tramite l’ambiente “tabular” • • • Gli elementi di ogni riga vanno separati da & Le righe vanno separate da \\ Come argomento dell’ambiente tabular va inserito un campo che indica il numero delle colonne ed il loro allineamento: l (left), c (center) o r (right) Le tabelle Le linee orizzontali e verticali • Le linee verticali si inseriscono mettendo una barra | tra le lettere che definiscono l’allineamento delle colonne: {|l|c|r|} • Le linee orizzontali si inseriscono mettendo il comando \hline fra le linee della tabella (dopo lo \\ ma senza \\ alla fine) • Osservazione: si possono fare tabelle con bordi più marcati usando || e 2 \hline… Le tabelle Esempio di tabella: \begin{tabular}{|l|c|r|} \hline 1 & 2 & 3 \\ \hline 4 & 5 & 6 \\ \hline 7 & 8 & 9 \\ \hline \end{tabular} Le tabelle L’ambiente “tabbing”: \begin{tabbing} … \end{tabbing} • La posizione del TAB si definisce con \= • Per richiamare il punto di TAB si inserisce \> Le tabelle Esempio di “TAB”: come scrivere un algoritmo \begin{tabbing} \textsc{Algoritmo Valore Assoluto di}($x$)\\ \\ 1. \= \textbf{if} \= $x>0$ \textbf{then} \\ 2. \> \> \textbf{return} ($x$); \\ 3. \> \textbf{else} \\ 4. \> \> \textbf{return} ($-x$). \end{tabbing} Ancora sulla classe ““article” article” Nella classe article è definito l’ambiente “abstract”: \begin{abstract} qui va l’abstract del mio articolo \end{abstract} • Serve ad inserire un breve riassunto dell’articolo La bibliografia Un esempio è l’ambiente “thebibliography” \begin{thebibliography}{99} qui va inserita la bibliografia \end{thebibliography} • {9} se ho meno di 10 elementi in bibliografia • {99} se ho meno di 100 elementi in bibliografia La bibliografia Per inserire gli elementi useremo \bibtem \begin{thebibliography}{99} \bibitem{vm01} Marotta V.: \textit{Intorno di un polinomio.}, Conferenza SNSC01, Linz, Austria, 2001 \end{thebibliography} • Per riferirci ad un elemento della bibliografia useremo \cite{vm01} • Dove vm01 è il nome assegnato all’elemento tramite \bibtem Lo stile book Esempio di stile “book” \documentclass[11pt]{book} \usepackage[italian]{babel} \usepackage[latin1]{inputenc} \title{Prova della classe BOOK} \author{Adriano Leite Ribeiro} \date{\today} \begin{document} \maketitle Ora posso scrivere un libro... \end{document} Lo stile book Comandi della classe “book” \chapter{} \tableofcontents \listoffigures \listoftables • Osservazioni: • Le equazioni avranno anche il numero del capitolo • Compilare almeno due volte per avere l’indice Lo stile book Utilizzo di file lunghi • • Per evitare file troppo lunghi (difficoltà di lettura) e per distinguere bene i vari capitoli, si realizza un file principale con: preambolo \begin{document} \include{cap1} \end{document} Il file cap1.tex inizierà direttamente con \chapter{} e non avrà \begin{document} e \end{document} I richiami nel testo • Si possono richiamare equazioni, tabelle, grafici e in generale tutto ciò che è numerato. • Per poter richiamare un’equazione è sufficiente aggiungere al comando \begin{equation} il comando \label{nome} \begin{equation} \label{equazione} qui scrivo la mia equazione \end{equation} • per fare il richiamo basta inserire nel testo il comando \ref{equazione} Scrittura colorata Richiede l’utilizzo di un package proprio \usepackage{color} • Si può utilizzare in due modi: • {\color{green}Verde} • \textcolor{red}{rosso} • Sfondo colorato: • \colorbox{red}{Ciao} Le figure L’ambiente “figure” è definito da: \begin{figure} … \end{figure} • La figura deve essere in formato .ps o .eps • Dobbiamo includere all’inizio del vostro file sorgente (prima del comando \begin{document}) il comando \usepackage{graphicx} Le figure • Dobbiamo dare le dimensioni dell’immagine • Possiamo forzare la posizione • La prima riga introduce l'ambiente figure, le lettere tra parentesi graffe indicano che LaTeX dovrebbe posizionare la figura esattamente dove essa viene posta (se possibile!). • Il comando \caption permette di dare un nome alla figura e il comando \label di richiamarla nel testo Le figure Esempio di figura: \usepackage{graphicx} … \begin{figure}[htbp]\label{foto} \begin{center} \includegraphics[width=3.5cm, height=3cm]{logo.ps} \caption{Un logo} \end{center} \end{figure} • • • logo.ps è il nome del file width (larghezza) e height (altezza) definiscono le dimensioni posizione: h=here, t=top, b=bottom, p=fine documento Le vostre domande Grazie della vostra attenzione!