Slides Linux Day 2017

Le slides degli interventi del Linux Day 2017, tenutosi il 27 Ottobre 2017 presso l’aula P1 del Dipartimento di Informatica dell’Università di Salerno sono reperibili nei seguenti link.

Come al solito, grazie a tutti per la partecipazione!

LaTeX e ViM: una storia d’amore.

Il Linux Day è alle porte, come al solito scrivere le slides diventa una priorità!

Come ogni anno, mi ritrovo a scrivere le slides con il mio caro compagno ViM: è un editor di testi, storicamente parlando uno standard de facto quando si parla di sistemi UNIX.

LaTeX, invece, è un sistema per produrre documenti sfruttando tantissime potenzialità, la combo ViM + LaTeX è di una comodità disarmante. Vediamo nello specifico come configurare in maniera pulita il nostro sistema per scrivere codice LaTeX.

Installiamo le dipendenze necessarie:

# pacman -S texlive-core texlive-latexextra vim zathura git
# git clone https://aur.archlinux.org/latex-beamer-ctan.git \
      cd latex-beamer-ctan.git && makepkg -si

Ora, il comando che vedete sopra viene usato su Arch Linux, su sistemi Debian-based che hanno apt come package manager di default, basta sostituire “pacman -S” con “apt install”, i pacchetti hanno lo stesso nome anche su altre distribuzioni. Beamer è nei repository.

Prima di tutto configuriamo ViM in modo da avere il tutto funzionante:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Avviamo Vim con il comando vim ~/.vimrc e inseriamo la parte riguardante vim-plug, che abbiamo installato prima: vim-plug permette di gestire in comodità tutti i plugins per vim.

call plug#begin('~/.vim/plugged')                                                                                                                                         
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}                                                                                                                                                                                                                                                                  
Plug 'lervag/vimtex'                                                                                                                                                      
call plug#end()  

Nello specifico, NerdTREE è il plugin per avere un file manager “avanzato” rispetto a netrw e “vimtex” è il plugin che ci permette di avere l’integrazione con la suite di LaTeX.
Una volta avviato ViM, lanciamo :PlugUpdate e :PlugClean per installare ed aggiornare i plugins.

Ora, in ViM avremo la modalità di compilazione di file *.tex, nel mio caso uso <leader>+vcp per avere un keybind che si occupa solo della compilazione del file LaTeX.

let mapleader = ","
let g:mapleader = ","
nmap <silent><leader> vcp :VimtexCompile<CR>
nmap <silent><leader> vcpo :VimtexCompileOutputs<CR>

Le quattro righe precedenti vanno inserite nel nostro vimrc (file di configurazione di ViM), le prima due assegnano Leader alla virgola, mentre le ultime due assegnano keybind invocati tramite il Leader a comandi che sono shippati da VimTex.

Questo è tutto!