Il favoloso mondo di L A TEX



Documenti analoghi
Laboratorio di L A TEX

STAMPA UNIONE DI WORD

Elaborazione di testo

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

GESGOLF SMS ONLINE. Manuale per l utente

Guida all uso di Java Diagrammi ER

EXCEL FUNZIONI PRINCIPALI

Il web server Apache Lezione n. 3. Introduzione

MANUALE PARCELLA FACILE PLUS INDICE

18 luglio Tabella 1 Un esempio di tabella ripartita su più pagine 3

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

1.0 GUIDA PER L UTENTE

Formattazione e Stampa

Cos è un word processor

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Guido d uso sito internet Unione Valdera

Guida Software GestioneSpiaggia.it

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

IL MIO PRIMO SITO: NEWS

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Office 2007 Lezione 08

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Costruzione del layout in gino cms

Concetti fondamentali dei database database Cos'è un database Principali database

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Il calendario di Windows Vista

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Metodi Stocastici per la Finanza

Introduzione a LyX. Creazione di un documento Struttura e stile Modelli di documento Automatismi Riferimenti...

Figura 1 Le Icone dei file di Excel con e senza macro.

NUOVO SISTEMA AGGIORNAMENTO DA FYO

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Assessorato alla Sanità ARPA. Anagrafe Regionale dei Prodotti Amministrabili. Manuale Utente 1.0.0

PORTALE CLIENTI Manuale utente

CMS ERMES INFORMATICA

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Dimensione di uno Spazio vettoriale

Raggruppamenti Conti Movimenti

Formattazione. ü Introduzione

Funzioni in C. Violetta Lonati

Come modificare la propria Home Page e gli elementi correlati

Manuale Utente Albo Pretorio GA

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

A tal fine il presente documento si compone di tre distinte sezioni:

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Office 2007 Lezione 02. Le operazioni più

FIRESHOP.NET. Gestione del taglia e colore.

CONTENT MANAGEMENT SY STEM

Guida Compilazione Piani di Studio on-line

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

FLASHINVESTOR Manuale dell Utente

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Corso sul pacchetto R

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara.

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

A tal fine il presente documento si compone di tre distinte sezioni:

Versione 7.0 Taglie e Colori. Negozio Facile

Usa le lezioni per la LIM su ActivInspire

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

NVU Manuale d uso. Cimini Simonelli Testa

Capitolo 4 Pianificazione e Sviluppo di Web Part

Leggere un messaggio. Copyright 2009 Apogeo

LA CORRISPONDENZA COMMERCIALE

Capitolo 3 Guida operativa del programma TQ Sistema

Amministrazione gruppi (Comunità)

4 3 4 = 4 x x x 10 0 aaa

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

intranet.ruparpiemonte.it

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

MODULO 5 Appunti ACCESS - Basi di dati

Database 1 biblioteca universitaria. Testo del quesito

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Capitolo 1 GESTIONE DEL SOFTWARE APPLICATIVO:

ENTRARE NEL SISTEMA. Clicca su Entra per entrare nel sistema. PAGINA 1

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

Il Programma... 3 I moduli... 3 Installazione... 3 La finestra di Login... 4 La suite dei programmi... 6 Pannello voci... 10

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Breve guida a Linux Mint

Gestione Risorse Umane Web

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Gestione premi clienti e fornitori Corso di formazione e approfondimento

Amministrazione gruppi (all interno della Scuola)

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

MANUALE D USO DELLA PIATTAFORMA ITCMS

Esercizi su. Funzioni

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Transcript:

Il favoloso mondo di L A TEX Alberto Pettarin Federico Tramarin Tutor Junior Ingegneria IEEE Student Branch Padova Dipartimento di Ingegneria dell Informazione Università degli Studi di Padova Seconda Lezione Seconda Parte Padova, 22 Aprile 2008 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 1/50

Essere chiaro fa parte della mia etica. K. R. Popper Questo procedimento può essere criticabile: ma di certo conduce a risultati interessanti. A. N. Kolmogorov A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 2/50

Nota sul copyright Gli autori rilasciano quest opera nei termini previsti dalla licenza Creative Commons 2.5 1. Parte del materiale presentato in questo documento è stata tratta da Introduzione al mondo di L A TEX, corso su L A TEX a cura del Gruppo Italiano Utenti TEX (GUIT) 2 e dalle guide dei pacchetti citati. 1 http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode/ 2 http://www.guit.sssup.it/ A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 3/50

Programma della lezione (seconda parte) 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 4/50

A che punto siamo Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 5/50

La struttura semantica del testo Nuovi comandi Nuovi ambienti Quando si produce un documento, specialmente di carattere scientifico, è fondamentale separare l aspetto semantico del testo dalla sua resa tipografica finale. Facciamo un esempio: se stiamo scrivendo un trattato di etologia, potremmo voler evidenziare il nome scientifico delle varie specie che citiamo, poniamo in corsivo. Iniziamo così ad utilizzare il comando \textit. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 6/50

Nuovi comandi Nuovi ambienti Lo scrittore indeciso: l incubo del tipografo Se iniziamo con questa convenzione e poi ci accorgiamo a metà dell opera di voler invece il maiuscoletto, dovremmo ripercorrere tutto il sorgente e aggiungere il comando \textsc. Ovviamente tutto ciò è inefficiente e potrebbe introdurre errori dovuti al search-and-replace troppo automatico. L ideale sarebbe avere a disposizione un comando \specie che consenta di specificare la valenza semantica del testo da esso marcato. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 7/50

Definire un nuovo comando Nuovi comandi Nuovi ambienti L A TEX ci mette a disposizione la possibilità di definire comandi personalizzati. La sintassi è semplicissima: basta aggiungere nel preambolo una dichiarazione come questa: \newcommand{\specie}[1]{\textit{#1}} Esempio di utilizzo: Ogni esemplare di \specie{homo Sapiens} è mortale. Ogni esemplare di Homo Sapiens è mortale. Il bello di L A TEX Questo comando personalizzato è modificabile in una sola riga del sorgente e soprattutto in qualsiasi momento. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 8/50

Nuovi comandi Nuovi ambienti Comandi personalizzati senza argomenti Un utilizzo tipico è quello di abbreviare titoli, diciture, nomi e marchi commerciali, ecc... In questo caso, il comando non richiede argomenti: \newcommand{\matlab}{\textsc{matlab}} Esempio di utilizzo: Tutti i grafici sono stati generati da \matlab. Tutti i grafici sono stati generati da Matlab. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 9/50

Nuovi comandi Nuovi ambienti Comandi personalizzati senza argomenti Se ora volessimo modificare la dicitura, basterebbe solo modificare la definizione del comando personalizzato: \newcommand{\matlab} {The MathWorks, Inc.\textsc{Matlab} \textsuperscript{\textregistered}\ R2006a} Non serve modificare nessun comando nel corpo del documento! Tutti i grafici sono stati generati da \matlab. Tutti i grafici sono stati generati da The MathWorks, Inc. Matlab R R2006a. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 10/50

Nuovi comandi Nuovi ambienti Comandi personalizzati con un argomento Supponiamo di scrivere un manuale di Algebra Lineare. Abbiamo bisogno di evidenziare i vettori rispetto agli scalari: provvediamo a dichiarare il comando \vett: \newcommand{\vett}[1]{\mathbf{#1}} Dati due vettori $\vett{u}$ e $\vett{v}$, sia $\vett{w}$ il loro prodotto vettoriale. Dati due vettori u e v, sia w il loro prodotto vettoriale. La definizione avverte il compilatore che il comando prevede 1 parametro e specifica che il parametro deve essere formattato in grassetto matematico. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 11/50

Nuovi comandi Nuovi ambienti Comandi personalizzati più argomenti Naturalmente possiamo definire comandi personalizzati con più argomenti. Ad esempio, potrebbe risultare noioso dover scrivere ogni volta che vogliamo ottenere v = (v 1,..., v n ) il seguente codice: $\mathbf{v} = (v 1,\dots,v n)$ Possiamo allora definire un nuovo comando \vettgen \newcommand{\vettgen}[3] {\mathbf{#1} = (#1 {#2},\dots,#1 {#3})} che consenta di specificare, nell ordine, il nome, l indice iniziale e l indice finale del vettore. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 12/50

Nuovi comandi Nuovi ambienti Comandi personalizzati più argomenti Dati due vettori $\vettgen{u}{0}{n}$ e $\vettgen{v}{0}{n}$, che rappresentano i coefficienti di due polinomi di grado $n\geq 0$, scrivere un algoritmo che calcoli il vettore $\vettgen{w}{0}{2n}$ dei coefficienti del prodotto di $\vett{u}$ per $\vett{v}$. Dati due vettori u = (u 0,..., u n ) e v = (v 0,..., v n ), che rappresentano i coefficienti di due polinomi di grado n 0, scrivere un algoritmo che calcoli il vettore w = (w 0,..., w 2n ) dei coefficienti del prodotto di u per v. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 13/50

Nuovi comandi Nuovi ambienti Comandi personalizzati: annidamento \newcommand{\vett}[1]{$\mathbf{#1}$ } \newcommand{\vettgen}[3] {\vett{#1} = (#1 {#2},\dots,#1 {#3})} Dati due vettori u = (u 0,..., u n ) e v = (v 0,..., v n ), che rappresentano i coefficienti di due polinomi di grado n 0, scrivere un algoritmo che calcoli il vettore w = (w 0,..., w 2n ) dei coefficienti del prodotto di u per v. Attenzione! Chiaramente questa seconda versione di \vettgen è migliore... A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 14/50

Tre osservazioni Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti Versione asteriscata È preferibile, per comandi che non debbano prendere argomenti con inizio di nuovo paragrafo, usare la versione asteriscata \newcommand* perché consente una migliore gestione da parte del compilatore. Ridefinizione di comandi esistenti Esiste il comando \renewcommand che serve per ridefinire un comando (di sistema o personalizzato) già definito. Esiste già un certo comando? Per verificare se un certo comando è già stato dichiarato e, in caso contrario, assegnargli un compito, L A TEX mette a disposizione il comando \providecommand. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 15/50

A che punto siamo Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 16/50

Definire un nuovo ambiente Nuovi comandi Nuovi ambienti Analogamente a quanto detto per i comandi, L A TEX mette a disposizione all utente finale la possibilità di definire ambienti personalizzati tramite il comando \newenvironment. In realtà, definire un nuovo ambiente <nome> equivale a definire il comportamento di due comandi: \begin{<nome>} e \end{<nome>}. Nelle prossime due trasparenze, mostriamo come creare due nuovi ambienti: sintassi che prende un testo e lo incornicia entro un rettangolo e allertato che centra un testo tra due quadratini neri. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 17/50

Definire un nuovo ambiente Nuovi comandi Nuovi ambienti \newenvironment{sintassi}[1][\linewidth] {\setbox0\vbox\bgroup\hsize#1\advance\hsize-2 \fboxsep\advance\hsize-2\fboxrule\noindent} {\par\egroup\setbox0\vbox{\unvbox0}\framebox{\box0}} \begin{sintassi} Usage: java [-options] class [args\dots] \end{sintassi} Usage: java [-options] class [args... ] A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 18/50

Definire un nuovo ambiente Nuovi comandi Nuovi ambienti \newenvironment{allertato} {\rule{2ex}{2ex}\hspace{\stretch{1}}} {\hspace{\stretch{1}}\rule{2ex}{2ex}} \begin{allertato} Tutto quello che c è da dire\ldots \end{allertato} Tutto quello che c è da dire... A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 19/50

Due osservazioni Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti Ridefinizione di ambienti esistenti Esiste il comando \renewenvironment che serve per ridefinire un ambiente (di sistema o personalizzato) già definito, in analogia a quanto avviene chiamando \renewcommand. Solo per veri esperti... Il principiante (e anche l utente medio!) difficilmente si troverà a dover definire e/o ridefinire un ambiente; oltretutto è necessaria una conoscenza approfondita dei comandi primitivi del TEX. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 20/50

Nuovi comandi Nuovi ambienti Un esempio vale più di mille parole nuovi comandi.tex A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 21/50

A che punto siamo Definire nuovi comandi e ambienti 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 22/50

Creare una bibliografia Una dei principali punti di forza di L A TEX è la gestione dei riferimenti bibliografici, che viene resa meno gravosa per l utente. Esistono diversi ambienti che consentono di creare, gestire e referenziare le fonti bibliografiche. Presentiamo due possibilità: thebibliography puro e con i pacchetti BibTEX e natbib per personalizzare il layout della bibliografia e delle citazioni. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 23/50

L ambiente thebibliography \begin{thebibliography}{9} \bibitem{les85} Leslie Lamport, 1985. \emph{\latex---a Document Preparation System---User s Guide and Reference Manual}, Addision-Wesley, Reading. \bibitem{don89} Donald E. Knuth, 1989. \emph{typesetting Concrete Mathematics}, TUGBoat, 10(1):31-36. \end{thebibliography} \bibliography Il parametro dell ambiente è il massimo numero di fonti da gestire, ciascuna fonte è individuata da una chiave alfanumerica che rappresenta l argomento di \bibitem. Per stampare la bibliografia, si utilizza \bibliography. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 24/50

L ambiente thebibliography Il codice della trasparenza precedente genera il seguente output: Leslie Lamport, 1985. L A TEX A Document Preparation System User s Guide and Reference Manual, Addision-Wesley, Reading. Donald E. Knuth, 1989. Typesetting Concrete Mathematics, TUGBoat, 10(1):31-36. Attenzione! La formattazione della bibliografia dipende dalla classe del documento specificata con il comando \documentclass! A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 25/50

L ambiente thebibliography Definita una bibliografia, è possibile citare una o più fonti all interno del testo, tramite il comando \cite[<arg>]{<chiave/i>}. Il contenuto dell argomento opzionale viene posto di seguito alla referenza e di solito si utilizza per indicare il numero di pagina oppure la sezione. Ciò che è veramente difficile con \LaTeX è scrivere documenti non strutturati \cite{les85}. Ciò che è veramente difficile con L A TEX è scrivere documenti non strutturati [1]. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 26/50

L ambiente thebibliography Naturalmente possiamo aggiungere un riferimento al numero di pagina~\cite[pagina 56]{les85} oppure citazioni multiple~\cite{les85,don89}. Naturalmente possiamo aggiungere un riferimento al numero di pagina [1, pagina 56] oppure citazioni multiple [1, 2]. Attenzione! Sebbene sia semplicissimo da utilizzare, l ambiente thebibliography scarica sull utente la gestione tipografica delle voci bibliografiche: per questo, si consiglia di utilizzare BibTEX! A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 27/50

Le funzionalità di BibTEX Un vantaggio sostanziale di BibTEX consiste nel supporto a database di riferimenti bibliografici. Definizione: database bibliografico È un file di testo che contiene uno o più elementi strutturati, ciascuno rappresentante una fonte, di cui sono specificati i campi descrittivi (autore, titolo, data, editore, ecc... ). La sintassi per specificare le fonti è tipica di un linguaggio di markup, come HTML o XML. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 28/50

Esempio di database bibliografico @BOOK{knuth:86a, AUTHOR= Donald E. Knuth, TITLE={The \TeX book}, EDITION= third, PUBLISHER= Addison-Wesley, ADDRESS={Reading, MA}, YEAR=1986 } In generale, ciascun elemento si specifica con la seguente sintassi: @elemento{chiave, campo = {valore},... campo = {valore}} A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 29/50

Utilizzo dei database bibliografici Attenzione! A seconda della tipologia della fonte (book, article, conference, manual, phdthesis, unpublished,... ), cambiano i campi obbligatori e i campi opzionali. Inoltre, in un singolo file.bib è possibile inserire più voci. Per specificare l utilizzo di BibTEX si inserisce nel preambolo del documento il comando \bibliography{database1,...} dove nell argomento si indicano i database bibliografici utilizzati, cioè i file.bib che contengono le fonti citate. Con la direttiva \bibliographystyle{stile}. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 30/50

Stili bibliografici Definire nuovi comandi e ambienti La seconda caratteristica molto utile di BibTEX è la possibilità di specificare moltissimi stili diversi per la bibliografia e le citazioni e addirittura crearne di personalizzati! Ad esempio, potremmo voler indicare le fonti con un numero progressivo (ordinato per citazione, alfabeticamente per autore, ecc... ) o con una sigla come Knu86. Esistono moltissimi stili predefiniti utilizzabili con BibTEX: plain, unsrt, alpha, abbrv, acm, ieeetr, elsart-harv, elsart-num abstract, agsm, apalike, amsalpha, authordatei, authordate1-4, bbs, cbe, cell, dcu, harvard, jtb, kluwer, named, named, natbib, natbib, nature, nature, phcpc, phiaea, phjcp, phrmp, plainyr, siam A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 31/50

Stili bibliografici Definire nuovi comandi e ambienti plain le voci ordinate alfabeticamente con etichette numeriche unsrt come plain ma in ordine di citazione alpha come plain ma etichette formate a partire dal nome del primo autore e dall anno abbrv come plain ma con voci abbreviate acm per le pubblicazioni ACM ieeetr per le pubblicazioni IEEE elsart-harv per le pubblicazioni Elsevier (stile autore-anno) elsart-num per le pubblicazioni Elsevier (stile numerico) Attenzione! Generalmente sono gli stessi editori a fornire gratuitamente gli stili per la bibliografia/le citazioni tramite i loro siti web. Vedi anche il L A TEX Bibliography Styles Database (8). A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 32/50

Utilizzo di BibTEX Definire nuovi comandi e ambienti L utilizzo di BibTEX è simile a quello di thebibliography; in particolare, il funzionamento di \cite e \bibliography è identico. Se nei database avessimo indicato fonti non citate nel documento, queste non sarebbero incluse nella bibliografia. Per includere una fonte fantasma, basta scrivere la direttiva \nocite{chiave} da qualche parte nel documento tipicamente prima del comando \bibliography. Per includere tutte le fonti, il comando è \nocite{*}. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 33/50

Utilizzo di BibTEX Definire nuovi comandi e ambienti Siccome i database sono file esterni al sorgente L A TEX, per aggiornare correttamente il documento dobbiamo compilare varie volte: 1 latex sorgente 2 bibtex sorgente (genera il file della bibliografia sorgente.bbl) 3 latex sorgente 4 latex sorgente (solo se persistessero citazioni non risolte) A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 34/50

Utilizzo di natbib Definire nuovi comandi e ambienti Per personalizzare lo stile delle citazioni è utile importare il pacchetto natbib. Ad esempio, se volessimo usare lo stile Nature (numeri in apice): \usepackage{natbib} \citestyle{nature} È possibile specificare moltissime opzioni con la direttiva \usepackage: round, square, curly, angle, colon, comma, authoryear, numbers, super, sort, sort&compress, longnamesfirst, sectionbib, nonamebreak A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 35/50

Utilizzo di natbib Definire nuovi comandi e ambienti Il pacchetto natbib mette a disposizione moltissimi comandi specializzati, come: citeauthor riporta solo il primo autore (et al.) citeauthor* riporta tutti gli autori citeyear riporta l anno citeyearpar riporta l anno tra parentesi citet citazioni all interno del testo citep citazioni entro parentesi citealt come citet ma senza alcuna parentesi citealp come citep ma senza alcuna parentesi defcitealias definisce un alias per una chiave citetalias come citet ma per gli alias citepalias come citep ma per gli alias bibpunct definisce uno stile personalizzato A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 36/50

Osservazioni Definire nuovi comandi e ambienti Attenzione! La possibilità di ottenere file.bib già pronti (CiteSeer, ACM Portal, IEEE Xplore,...) rende molto efficiente e utile utilizzare BibTEX. Attenzione! I comandi forniti da natbib producono risultati diversi a seconda che lo stile della bibliografia sia numerico oppure autore-anno. Attenzione! Può essere comodo procurarsi un programma che aiuti a gestire i propri database bibliografici, come BiBi, JabRef o BibTEXmng. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 37/50

Un esempio vale più di mille parole biblio1.tex biblio2.tex A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 38/50

A che punto siamo Definire nuovi comandi e ambienti 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 39/50

Generare gli indici Definire nuovi comandi e ambienti L A TEX semplifica moltissimo la scrittura di un documento di grandi dimensioni come un libro o una tesi, perché si occupa automaticamente di generare le strutture di supporto alla lettura, come l indice e gli elenchi di figure e tabelle. In qualsiasi punto del documento, è sufficiente impartire i comandi \tableofcontents, \listoffigures e \listoftables per ottenere gli elenchi corrispondenti. Attenzione! Ogni qual volta si modifichi la struttura del documento (aggiunta, cancellazione, spostamento di sezioni) o delle figure/tabelle, è necessario compilare due volte il documento con latex. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 40/50

Tre osservazioni sugli indici Le sezioni asteriscate (\chapter*{colophon}) non compariranno nell indice! È possibile stampare anche indici parziali, ad esempio l indice relativo al solo capitolo corrente, utilizzando l opzione: \tableofcontents[chapter]. È possibile aggiungere manualmente all indice un elemento, specificandone etichetta e livello tramite il comando \addcontentsline. Ad esempio: \addcontentsline{toc}{chapter}{colophon} aggiunge all indice dei contenuti il colophon allo stesso livello dei capitoli. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 41/50

A che punto siamo Definire nuovi comandi e ambienti 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 42/50

Generare l indice analitico Una delle parti più utili di un libro (tesi, manuale) è l indice analitico. In L A TEX, creare tale indice è semplicissimo grazie all ausilio del programma makeindex. \usepackage{makeidx} \makeindex. La versiera di Agnesi\index{versiera} è una particolare curva piana parametrica. Per ottenere la stampa, si usa il comando \printindex, ovunque si voglia generare l indice analitico. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 43/50

Due avvertenze Definire nuovi comandi e ambienti Attenzione! Si compila una volta il file sorgente con latex, poi si compila l indice con makeindex, quindi si ricompila con latex. Questa procedura è dovuta al fatto che prima L A TEX esporta nel file.idx le voci dell indice, poi makeindex le ordina e formatta generando il file.ind, quindi L A TEX lo inserisce nel documento. Attenzione! Può essere utile caricare anche il pacchetto showidx che consente di riportare a margine l elemento appena definito, come se fosse una nota. A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 44/50

Un esempio vale più di mille parole indici.tex A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 45/50

A che punto siamo 1 Definire nuovi comandi e ambienti Nuovi comandi Nuovi ambienti 2 3 A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 46/50

(guide generali) Indian TEX Users Group L A TEX Tutorials: A Primer http://www.tug.org.in/tutorials.html Gruppo Utilizzatori Italiani di TEX Introduzione all arte della composizione tipografica con L A TEX http://www.guit.sssup.it/downloads/guidaguit.pdf Baudoin, Marc Impara L A TEX! (... e mettilo da parte) http://users.dimi.uniud.it/~gianluca.gorni/tex/ittexdoc/impara_latex.pdf A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 47/50

(su BibTEX) Ki-Joo Kim A BibTEX Guide via Examples http://www.geocities.com/kijoo2000/bibtex_guide.pdf Gruppo Utilizzatori Italiani di TEX Creare e gestire la bibliografia http://www.guit.sssup.it/latex/bibliografia.php Shell, Michael; Hoadley, David BibTEX FAQ ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/doc/btxfaq.pdf Turner, Ken BibTEX Style Examples http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 48/50

Gestori di database bibliografici BiBi http://bibi.sourceforge.net/ JabRef http://jabref.sourceforge.net/ BibDesk http://bibdesk.sourceforge.net/ Pybliographer http://www.pybliographer.org/ KBibTeX http://www.unix-ag.uni-kl.de/~fischer/kbibtex/ L A TEX Bibliography Styles Database http://jo.irisson.free.fr/bstdatabase/index.php A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 49/50

Per oggi abbiamo finito... Grazie dell attenzione e arrivederci alla prossima lezione! Cosa impareremo la prossima volta Gli oggetti flottanti: tabelle, listati, figure Alcuni pacchetti per abbellire una tesi Scrivere articoli con IEEEtran e presentazioni con beamer Fare un figurone con un possibile datore di lavoro: europecv... A. Pettarin, F. Tramarin (dei@unipd) Il favoloso mondo di LATEX Padova, 22 Aprile 2008 50/50