LaTeX e Vim

Da Guide@Debianizzati.Org.
Versione del 26 mag 2015 alle 13:24 di Spoon (discussione | contributi) (Revisione compatibilità)
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
Debian 8 "jessie"
Debian 9 "stretch"
ERRORE: utilizzare "unstable_2024" come parametro al posto di " Sid "! Vedi qui.

Introduzione a LaTeX

Se non conoscete LaTeX o ne avete solo sentito parlare, e ne siete in qualche modo incuriositi, potreste trovarvi spaesati di fronte alla mastodontica quantità di informazioni presenti in internet. Di seguito si elencano le principali risorse.

Una (mica tanto) breve introduzione a LaTeX2e
Questo è senza dubbio il primo documento da leggere. In italiano, tratta dalla presentazione di LaTeX fino al suo uso mediamente avanzato.
Getting to grips with Latex
Questa risorsa, in inglese, con una serie di tutorial ed esempi molto ben fatti affronta in maniera pragmatica e diretta tutti i principali problemi della scrittura di documenti LaTeX. Parte anch'esso da zero ma si trovano certi dettagli più avanzati non presenti nel precedente link.
I manuali e le traduzioni di GuIT
Questo è un elenco di documenti in italiano tradotti dal Gruppo Utenti Tex Italiani (ma non solo). Si va dalle introduzioni ad argomenti molto specifici e avanzati. Tra di essi si segnala in particolare L'Arte di scrivere con LaTeX, una guida molto ben scritta che parte da zero per arrivare ad un uso mediamente avanzato di LaTeX.
Capitolo 50: LaTeX
Come non segnalare inoltre il capitolo dedicato a LaTeX della monumentale opera Appunti di Informatica Libera di Daniele Giacomini. Vi si trovano informazioni utili, tra le altre cose, sulle spaziature, le lunghezze, le scatole (box), i contatori.

Installazione

LaTeX è un linguaggio di markup, non un programma o un pacchetto, dunque non è possibile "installarlo". Come per i linguaggi di programmazione, si installa in realtà un compilatore che sia in grado di convertire il codice sorgente in un opportuno output. A corredo di esso saranno poi presenti altri pacchetti con il compito di fornire ulteriori funzionalità (font, documentazione, estensioni, eccetera).

La distribuzione consigliata di tutti questi applicativi è quella conosciuta come texlive. Per installarne una versione completa, si installi il metapacchetto texlive-full:

# apt-get install texlive-full

Il metapacchetto texlive fornisce invece una versione della distribuzione funzionante e comprensiva dei pacchetti più usati, ma non completa. È fortemente consigliato installare versioni complete della distribuzione, soprattutto per i non esperti.

Per installare Vim con il supporto avanzato per LaTeX bastano invece i pacchetti vim-gtk, vim-latexsuite e vim-addon-manager.

# apt-get install vim-gtk vim-latexsuite vim-addon-manager

Per utilizzare effettivamente il plugin è necessario dare il comando

$ vim-addons install latex-suite

Scorciatoie

Il plugin latexsuite fornisce utili scorciatoie per svolgere velocemente alcuni compiti.

Placeholder
Si noterà che vari comandi propri della latexsuite inseriscono nel file sorgente anche uno o più simboli <++>. Essi si chiamano placeholder e non sono altro che dei segnaposto. È possibile saltare al successivo placeholder con CTRL + j.

Di seguito si elencano le principali scorciatoie.

Ambienti

Dopo aver scritto una parola si prema F5 indifferentemente in insert mode o in normal mode. Si aprirà un environment con la parola appena scritta come nome e con gli opportuni placeholder. Ciò è particolarmente utile per ambienti usati frequentemente, come equation, gather, align, enumerate, itemize, description, eccetera; in alcuni casi il plugin inserisce anche altro codice, per esempio nel caso dell'ambiente equation sarà inserita anche la riga \label{<++>}.

Esempio
foo

Premendo F5

\begin{foo}
    
\end{foo}<++>

Se invece si preme F5 senza aver precedentemente scritto una parola, si aprirà un wizard in cui sono elencati i nomi di alcuni ambienti. Scegliendone uno, si aprirà l'ambiente corrispondente nel sorgente.

Scorciatoie per gli ambienti

Comandi

Dopo aver scritto una parola si prema F7 indifferentemente in insert mode o in normal mode. La parola appena scritta sarà trasformata in un comando con un argomento obbligatorio. Ciò è particolarmente utile per comandi quali \text, \intertext, \label, \cite, \ref, \eqref, eccetera. Anche in questo caso il plugin inserisce codice extra per alcuni comandi (per esempio, nel caso del comando \frac vengono inseriti due argomenti obbligatori anzichè uno solo).

Esempio
foo

Premendo F7

\foo{}<++>

Se invece si preme F7 senza aver precedentemente scritto una parola, si aprirà un wizard in cui sono elencati i nomi di alcuni comandi. Scegliendone uno, il comando corrispondente sarà inserito nel sorgente.

Scorciatorie per i comandi

Bibliografia e riferimenti

Il plugin latexsuite è in grado di memorizzare tutti i label presenti nel documento, nonchè le opere in bibliografia. Per richiamarle nel momento del bisogno la scorciatoia da usare è F9.

Dopo aver scritto \ref{ (o gli analoghi \vref{, \eqref{, eccetera), premendo F9 si aprirà una finestra con i riferimenti disponibili per il completamento, da cui è possibile scegliere Invio.

Dopo aver scritto \cite{ (o comandi analoghi), premendo F9 si aprirà una finestra con le citazioni bibliografiche disponibili per il completamento, da cui è possibile scegliere con Invio. Nota: questo comportamento funziona solo se si gestisce la bibliografia con \thebibliography.

Scorciatoie per la bibliografia

Altro

Sezionamento: esistono scorciatoie specifiche per inserire i comandi di sezionamento quali \section, \chapter, eccetera. Sono tutte composte di tre lettere maiuscole consecutive (per esempio SSE, SCH e SSS producono \section, \chapter e \subsection rispettivamente).

Esponenti: al posto di scrivere manualmente ^{} possiamo premere ^^ che inserirà automaticamente le parentesi ed il placeholder per uscire dall'esponente.

Pedici: al posto di scrivere manualmente _{} possiamo premere __ che inserirà automaticamente le parentesi graffe ed il placeholder per uscire dal pedice.

Segno uguale: al posto di &=& è possibile scrivere solo ==.

Lettere greche: per inserire svariate lettere greche è possibile digitare il carattere ` seguito dall'iniziale della lettera voluta. Per esempio, `a produce \alpha. Data la non coincidenza dei due alfabeti, non tutte le lettere greche si possono ottenere in questo modo, inoltre non sempre la lettera da usare corrisponde all'iniziale.

Folding

Il folding è la capacità di Vim di fare delle "ripiegature" nel file, ovvero nascondere certe parti del documento per rendere la navigazione più agevole. Questa funzionalità è fondamentale per navigare velocemente in documenti con vari capitoli, paragrafi e sotto-paragrafi.

Per attivare il folding con la latexsuite basta premere \rf (Refresh folds) in normal mode. Per aprire o chiudere un folding basta andarci sopra col cursore e premere za sempre in normal mode.

Altri comandi li trovate nel menu Strumenti -> Piegature.

Template

Per iniziare un articolo è possibile usare un template:

Menu TeX_Suite -> Templates

o il comando

:TTemplate

I template sono conservati nella cartella ~/.vim/ftplugin/latex-suite/templates/. Qui è anche possibile copiare i propri template.

Compilazione (Produrre DVI/PDF)

Con il plugin latexsuite è possibile compilare un documento LaTeX semplicemente premendo \ll in normal mode. Per la visualizzazione basta invece premere \lv. Di default viene prodotto e visualizzato un file in formato dvi, ma in molti casi si vuole produrre pdf sia per la maggiore diffusione del formato che per le caratteristiche più avanzate (come la selezione del testo, l'indice, i link sia interni al documento che a pagine internet).

Per impostare pdf come formato di output di default in gVim basta impostare tramite il menù TeX-Suite i valori di Target format, oppure usando il comando:

:TTarget pdf

Fatto questo, con \ll si produrrà il pdf e con \lv lo si visualizzerà. Di default il pdf è creato mediante il comando pdflatex.
Se la visualizzazione con \lv non dovesse funzionare è possibile visualizzare il documento usando un normale comando di shell:

:!evince nome_file.pdf

Per impostare un visualizzatore di pdf diverso da quello di default basta usare il seguente comando:

:let g:Tex_ViewRule_pdf = 'evince'

Se il documento contiene etichette, riferimenti, eccetera, bisogna eseguire la compilazione più volte perchè i riferimenti siano corretti. Di default la latexsuite esegue più volte la compilazione solo se si producono dvi. Perchè questo avvenga anche quando si compila per produrre pdf è sufficiente eseguire il comando:

:let g:Tex_MultipleCompileFormats = 'pdf,dvi'

Per evitare di fare ciò ogni volta, è possibile editare il file texrc, di solito contenuto in ~.vim/ftplugin/latex-suite/texrc, modificando le seguenti stringhe

g:Tex_DefaultTargetFormat
g:Tex_MultipleCompileFormats
g:Tex_ViewRule_pdf
Compilare grandi documenti
Nel caso sia necessario compilare un documento complesso (per esempio con al suo interno per esempio dei comandi \include o \input) esistono altri strumenti che ci vengono in aiuto. Uno di essi è latexmk: il pacchetto fornisce l'omonimo comando di shell che provvede autonomamente a compilare il numero di volte necessari i vari documenti (e solo quando necessario). Infine, è sempre possibile avvalersi dell'utility make, istruendola con un opportuno makefile.

Configurazione avanzata

Per configurare il comportamento del plugin latexsuite secondo le proprie personali esigenze è necessario editare il succitato file texrc. Qui è possibile ridefinire le macro, il comportamento in fase di compilazione e visualizzazione, l'uso dei placeholder, il comportamento delle finestre di dialogo (per esempio per gli ambienti e la bibliografia), le scorciatoie, il folding e altro ancora. La documentazione relativa si può trovare seguendo il primo dei link sottostanti.

Link




Guida scritta da: TheNoise Swirl-auth60.png Debianized 60%
Estesa da:
Spoon 16:01, 11 ago 2014 (CEST)
Verificata da:
HAL 9000 12:20, 3 set 2014 (CEST)
Spoon 15:24, 26 mag 2015 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized