Visualizzazione post con etichetta Documenti. Mostra tutti i post
Visualizzazione post con etichetta Documenti. Mostra tutti i post
Con un post passato ho presentato ai miei lettori un introduzione all'utilizzo del LaTeX per la scrittura dei vostri documenti professionali. Questo approccio, almeno all'inizio, può risultare un pò ostico, soprattutto per chi non ha familiarità con i linguaggi di programmazione in generale.

E' per questo che oggi voglio presentarvi LyX: un editor LaTeX-based che facilita la scrittura di documenti in questo linguaggio di markup, fornendo una interfaccia grafica e evitandovi la noia (o piacere?) di dover conoscere a fondo comandi e sintassi del LaTeX.

Nota: Sono dell'idea che iniziare con LyX sia un ottimo metodo per approcciarsi al LaTeX, ma sono della convinzione che il metodo migliore sia agire da sorgente così da comprendere bene ciò che si fa ed avere la maggior personalizzazione/ottimizzazione possibile. Tuttavia, è anche vero il brevissimo tempo necessario a comprendere il funzionamento di LyX, e l'immediatezza con cui si possono scrivere documenti lo rende una valida risorsa.

Installazione et avvio.

Naturalmente lyx è presente in tutte le distribuzioni Debian-based, quindi per installarlo vi sarà sufficiente dare in terminale
sudo apt-get install lyx
Unico appunto: ...sono 344Mb da installare... e dai non vi demoralizzate proprio adesso! Scoprirete che ne vale la pena ;)
Per tutte le altre distro Linux-based, per Windows e per Mac vi rimando alla pagina di download del programma.
Per noi ubuntiani, dopo l'installazione il programma sarà disponibile sotto Applicazioni | Ufficio.

LyX ci insegna.

Appena avviato LyX, la pagina che ci si presenterà ci istruirà immediatamente sul miglior percorso da seguire per imparare l'utlizzo di questo fantastico programma. ù
Ma giusto per darvi un assaggino: vedete come è scarna e brutta da vedere questa pagina? Ecco, questa è la cosiddetta modalità WYSIWYM (what you see is what you mean, ovvero ciò che vedi è ciò che intendi) che vi permette di concentrarvi sul contenuto e non sulla resa tipografica finale. Volete vedere come verra "stampata" questa pagina? Cliccare sul tasto "dvi", "PS" o "pdf" e ammirate la meraviglia :)
Se volete vedere cosa si può fare con LyX, oltre alle miriadi di esempi presenti nel programma e nella rete, vi linko la mia raccolta di appunti di termodinamica realizzata quest'anno con LyX.

Fidatevi, scrivere formule matematiche e documenti con questo programma è una vera goduria, si comincia scrivendo appunti tecnici e si finisce per usarlo per scrivere la lista della spesa :)
Leggi tutto...

| edit post
Quest'oggi, la mia rubrica sul terminale si concentrerà sulla compressione/archiviazione dei files nel nostro computer, sfruttando il comando zip

Uso base.

L'uso base del comando zip è molto semplice, ed è zip nomenuovo.zip file_da_zippare. Vediamo velocemente un esempio: nella directory attuale è presente il seguente file
$ ls -lh
-rw-rw-rw- 1 antonio antonio 171K 2004-10-05 23:28 assembly.ppt
Come possiamo facilmente notare il suo peso è di 171Kb. Proviamo adesso a comprimerlo tramite zip
$ zip assembly.zip assembly.ppt
adding: assembly.ppt (deflated 84%)
Stando a quanto ci dice il comando, il file è stato compresso dell'84%! Possiamo immediatamente verificare la cosa
$ ls -lh
totale 204K
-rw-rw-rw- 1 antonio antonio 171K 2004-10-05 23:28 assembly.ppt
-rw-r--r-- 1 antonio antonio 28K 2009-09-16 01:28 assembly.zip
Da 171Kb a soli 28Kb!! Non mi sembra poco... Ottimo se vogliamo mandare i nostri files via email.

L'unzip

Se compattiamo un immagine dobbiamo essere naturalmente anche capaci di scompattarla per recuperarne il contenuto originario, e per fare questo il comando da dare è unzip archivio_da_estrarre.zip. Quindi, per riavere il contenuto del file appena zippato ci basta fare:
$ unzip assembly.zip
Archive: assembly.zip
inflating: assembly.ppt
Et voilà :)


Zippiamoli in tanti.

Se invece vogliamo comprimere più files contemporaneamente la sintassi da dare è zip nomenuovo.zip file1 file2 ... fileN. Naturalmente, come tutti sanno un esempio vale più di mille parole, perciò vi mostrerò la compressione di alcune delle mie presentazioni del corso di elettronica
$ zip elettronica.zip algebra_boobleana.ppt assembly.ppt diodi.ppt
adding: algebra_boobleana.ppt (deflated 81%)
adding: assembly.ppt (deflated 84%)
adding: diodi.ppt (deflated 71%)
Ed ecco le tre presentazioni unite in un unico file di soli
$ ls -lh
-rw-rw-rw- 1 antonio antonio 233K 2004-10-13 14:57 algebra_boobleana.ppt
-rw-rw-rw- 1 antonio antonio 171K 2004-10-05 23:28 assembly.ppt
-rw-rw-rw- 1 antonio antonio 185K 2003-03-04 08:21 diodi.ppt
-rw-r--r-- 1 antonio antonio 125K 2009-09-16 01:32 elettronica.zip
125Kb!! Contro i 233+171+185 iniziali :) (si, mi scoccia fare il conto :P)
Naturalmente se vogliamo possiamo anche comprimere l'intera cartella, in modo tale che chi dovesse scompattare l'archivio non si ritrovi 3 (ma potrebbero essere 100) files buttati nel mezzo, ma una comoda cartella che contiene li stessi. La sintassi per comprimere una cartella è del tutto simile, nel nostro caso gli elementi erano già presenti in una cartella chiamata "Elettronica", quindi vado indietro di una directory (con cd ..) e zippo:
:~/Documenti/Elettronica$ cd ..
:~/Documenti$ zip elettronica.zip Elettronica
adding: Elettronica/ (stored 0%)

Proteggere gli archivi con password

Possiamo naturalmente immettere una password, e far criptare il contenuto dell'archivio, in modo tale che solo chi desideriamo sia in grado di scompattarlo e soprirne i files. Per fare questo l'opzione è -e, ed immediatamente dopo il sistema ci chiederà la password da inserire (e ci chiederà per sicurezza di riconfermarla). Vediamo un esempio:
$ zip -e elettronica.zip Elettronica
Enter password:
Verify password:
adding: Elettronica/ (stored 0%)
Naturalmente, poi, all'utilizzo di unzip tale password ci verrà richiesta
$ unzip elettronica.zip
Archive: elettronica.zip
[elettronica.zip] Elettronica/ password:
creating: Elettronica/

Compressione o velocità?

Naturalmente, archiviando un file è possibile decidere il grado di compressione con cui verrà preparato l'archivio. Questo grado può essere scelto da 0 a 9, dove 0 indica compressione nulla e velocità massima, e 9 compressione massima e velocità minima. Possiamo fare alcune prove per verificare l'effetto di questi parametri:
$ zip -9 doc.zip doc.dvi
updating: doc.dvi (deflated 30%)
antonio@ubuntu:~$ zip -0 doc.zip doc.dvi
updating: doc.dvi (stored 0%)
La differenza è più che evidente. Alla luce della praticamente indistinguibile velocità di compressione (almeno per files non troppo grandi) consiglio sempre di sfruttare l'opzione -9.

Guardiamo dentro un zip

Per elencare i files all'interno di un archivio zip l'opzione di unzip è -l, e va usata nel seguente modo:
$ zip immagini.zip *
adding: banner_gghiotta.png (stored 0%)
adding: banner_gghiotta.xcf (deflated 45%)
adding: bkgr.jpg (deflated 5%)
adding: bkgr.xcf (deflated 41%)
adding: desktop.png (deflated 1%)
adding: kiwi.png (deflated 0%)

$ unzip -l immagini.zip
Archive: immagini.zip
Length Date Time Name
-------- ---- ---- ----
25231 09-14-09 18:02 banner_gghiotta.png
150838 09-14-09 18:01 banner_gghiotta.xcf
201257 09-15-09 01:49 bkgr.jpg
879834 09-15-09 01:49 bkgr.xcf
423413 09-15-09 01:52 desktop.png
172489 09-14-09 21:09 kiwi.png
-------- -------
1853062 6 files
Qui ho mostrato un altro uso dei caratteri speciali, scrivendo zip immagini.zip *, il carattere "*" mi ha permesso di dire "tutti i files", cosicchè l'archivio andasse a contenere tutti i files presenti nella directory in cui mi trovavo. Poi il comando unzip -l immagini.zip mi permette di vedere il contenuto dell'archivio, inclusi peso (totale e del singolo files, relativi sempre ai file non compressi), data e ora dell'ultima modifica e nome.

Check UP

Se infine vogliamo controllare se il contenuto del nostro file si è rovinato con il tempo (eh si, i zip invecchiano :P) possiamo sfruttare l'opzione -t:
$ unzip -t immagini.zip
Archive: immagini.zip
testing: banner_gghiotta.png OK
testing: banner_gghiotta.xcf OK
testing: bkgr.jpg OK
testing: bkgr.xcf OK
testing: desktop.png OK
testing: kiwi.png OK
No errors detected in compressed data of immagini.zip.

Come sempre la mia è stata una spolverata per farvi tornare alla mente i principi base (ormai nessuno più compatta/scompatta da terminale, e in ambito Linux/Unix spesse volte è usato tar/gzip, cui probabilmente dedicherò un post) della compressione in zip, che può farvi molto comodo essendo la più usata in ambito windows, e quindi vi permette ottima portabilità dei vostri archivi.
Come sempre le informazioni migliori non si ottengono da questo post ma dall' --help del comando, che vi consiglio vivamente di visualizzare.

Ciao a tutti!
Leggi tutto...

| edit post
Solitamente tutti noi siamo abituati a scrivere i nostri documenti con processori di testo come Open Office Writer, Microsoft Word (spero di no), ed altri editor del tipo WYSIWYG (What You See Is What You Get, ovvero "ciò che vedi è ciò che ottieni), che ci danno un immagine a schermo della pagina così come verrà stampata.

Questo approccio di lavoro può essere positivo per alcuni versi, ma negativo per altri: quante volte avete perso giornate intere a studiare disperatamente quanti spazi inserire per far allineare quella parola a quell'altra, per far trovare il piè di pagina sotto la pagina giusta, per poi aggiungere un rigo in una pagina precedente e vedervi sfumare sotto gli occhi tutto il lavoro fatto? Inoltre, se dovete sfornare un lavoro di stampo tecnico scientifico, gli strumenti che avete a disposizione non sono un granchè: l'indice che va fatto a mano, le formule che graficamente fanno paura e ribrezzo, riferimenti a varie pagine da trovare a mano..

In questi casi, lasciamo che il pc si preoccupi dell'aspetto, e spendiamo il nostro tempo a creare del contenuto di qualità!

In questo senso, ci può venire in aiuto il linguaggio di markup LaTeX (leggesi latek), che ci permette di affrontare le stesure di documenti concentrandoci solo su ciò che vogliamo scrivere: a renderlo bello ci pensa lui.
All'inizio è un pò difficile abbandonare il metodo di lavoro usuale (se volete un salto un pò meno drastico provate LyX, presente nei repository di molte distribuzioni) ma una volta entrati nell'ottica non potrete più farne a meno, e riuscirete a produrre documenti di qualità eccellente in pochissimo tempo.
Bando alle ciance ed iniziamo!

Le basi del LaTeX.

Innanzitutto dobbiamo avere il nostro "compilatore" latex, per fare questo nelle distribuzioni basate Debian basta scrivere in riga di comando
sudo apt-get install texlive-latex-base
Adesso apriamo un editor di testo: consiglio Gedit, che tramite l'opzione Visualizza -> Modalità di evidenziazione -> Markup -> Latex vi permette di rendere più leggibile il sorgente che andrete a scrivere; adesso create e salvate un file che abbia estensione .tex, nel mio caso il file è doc.tex.
Adesso scriviamo queste righe nel file:
\documentclass{article}
\title{Primo documento in Latex}
\author{ubunturock.blogspot.com}
\date{12 Settembre 2009}

\begin{document}
   \maketitle
   Questo è il nostro primo documento in LaTeX, vediamo come automaticamente il programma ha creato un rientro per rendere leggibile (e professionale) il nostro articolo).

Inoltre l'andare a capo, viene interpretato come un inizio di un nuovo paragrafo, infatti la riga vuota sopra non viene stampata. Anche mettere    mille     spazi non fa differenza, perchè LaTeX ne scriverà uno solo. Daltronde, a che servono troppi spazi??

% E come ogni linguaggio che si rispetti ci sono i commenti! (come questo)
\end{document}
Adesso apriamo un terminale e scriviamo
latex doc.tex
Abbiamo appena creato un file doc.dvi, presente nella stessa cartella di doc.tex, che è il nostro documento pronto! Se volete il documento in pdf vi basta scrivere
pdflatex doc.tex
Stupendo no? E siamo ancora agli inizi. Cerchiamo comunque di capire cosa è successo.
Prima di \begin{document} abbiamo detto al latex chi sono titolo (con \title{}), autore (\author{}) e data di creazione del documento (\date{}), questi dati vengono memorizzati in variabili e conservati; poi inizia il documento vero e proprio (con \begin{document}) e facciamo stampare a latex titolo, autore e data tramite il comando \maketitle. Poi inizia il testo, bisogna ricordare alcune cose: quando latex vede almeno una riga vuota la interpreta come nuovo paragrafo, inoltre non interessa quanti spazi scrivete tra due parole, questi verranno sempre considerati come uno spazio solo! Inoltre, la riga dopo il carattere % viene considerata commento, e quindi non stampata nel file.

Siete ora pronti per approfondire un pò la scrittura di documenti in LaTeX

Sezioni ed Elenchi.

A meno che non stiate scrivendo la lettera per la vostra amata (ma vi assicuro, col Latex si fa anche questo, e bene!), avrete spesso bisogno di dividere il vostro documento in sezioni e sottosezioni: niente di più semplice! Una sezione si crea con \section{Nome Sezione}, mentre per fare le sottosezioni è necessario la scrittura di \subsection{Nome sottosezione}, ah per chi interessa esiste anche \subsubsection, e \subsubsub...

Inoltre spesso avremo la necessità di creare elenchi numerati e non. Ogni elemento di un elenco va scritto come
\item Testo dell'elemento
Per gli elenchi numerati la scrittura degli \item va posta tra \begin{enumerate} e \end{enumerate}, per quelli puntati tra \begin{itemize} e \end{itemize}.
Infine potete utilizzare gli item per fare delle descrizioni, sfruttando questa sintassi
\begin{description}
\item[elemento1] descrizione elemento1
\item[elemento2] descrizione elemento2
.....
\end{description}
Per far capire come usare tutto questo proviamo a scrivere un documento che spieghi ad un utente Ubuntu come creare uno screenshot del proprio desktop:
\documentclass{article}
\title{Screenshot Ubuntu}
\author{ubunturock.blogspot.com}
\date{12 Settembre 2009}

\begin{document}
   \maketitle
   In questo documento spiegher\'o i passi fondamentali per salvare uno screenshot del vostro desktop

   \section{Acquisire l'immagine}
   Preparare il desktop per l'acquisizione dell'immagine e poi seguire i seguenti passi
   \begin{enumerate}
      \item Aprire il programma "Cattura Schermata" da Applicazioni, Accessori.
      \item Cliccare su cattura schermata
      \item Rinominare il file a piacere e poi cliccare su salva
   \end{enumerate}

   \subsection{Altre opzioni}
   Il software Cattura Schermata offre anche altre opzioni:
   \begin{description}
      \item[Cattura la finestra corrente] Cattura solo la finestra attualmente aperta.
      \item[Cattura un area selezionata] Permette di creare un rettangolo virtuale sullo schermo, che delimiter\'a l'area di cattura del software.
      \item[Cattura dopo un ritardo di] Vi permette di inserire il valore di secondi che desiderate trascorrano tra il momento in cui premete il pulsante "Cattura Schermata" al momento in cui il software catturer\'a l'immagine.
   \end{description}

   \section{Altri Tools}
   Vi sono altri tools installati di defaul in Ubuntu, che vi consiglio di provare, tra i quali
   \begin{itemize}
      \item Analizzatore di utilizzo del disco
      \item Calcolatrice
      \item Note Tomboy
   \end{itemize}

% Ammazza che figo latex!
\end{document}

Inseriamo le Figure.

Adesso vediamo come inserire figure all'interno di un documento LaTeX. Innanzitutto necessitiamo dell'inclusione del pacchetto graphicx, il che si può fare scrivendo \usepackage{graphicx}; adesso necessitiamo di un immagine che deve necessariamente trovarsi all'interno della cartella contenente il file .tex su cui stiamo lavorando, e per includere l'immagine useremo il comando \includegraphics{nomeimg}[tbh]: Attenzione! L'immagine deve essere in formato EPS, quindi convertitela (magari con GIMP o Inkscape). Infine, possiamo creare un riferimento all'immagine all'interno del testo con il comando \ref{nomeimg}; vediamo:
\documentclass{article}
\usepackage{graphicx}
\title{Prova Immagine}
\author{ubunturock.blogspot.com}
\date{12 Settembre 2009}

\begin{document}
   \maketitle
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ultricies, nulla a fermentum lobortis, elit urna luctus lectus, eu convallis nisl mauris ac ante. Aliquam vitae dui at lorem varius commodo. Praesent accumsan, quam venenatis fermentum fringilla, lacus ligula luctus lacus, eu fermentum lorem ligula quis tellus.
  \begin{figure}[tbh]
  \includegraphics{tux.eps}
  \caption{\label{tux}Il nostro pinguino in formato RAP}
  \end{figure}
  Se questa fosse una relazione scientifica dovrei dire: "Come potete constatare nell'immagine \ref{tux} la situazione dei pinguini sta raggiungendo livelli spaventosi!

% Ammazza che figo latex!
\end{document}

Tips and Tricks.

Avverto in anticipo che in questo post mostrerò solo l'1% di quello che latex può fare, ma non posso non parlarvi delle due cose che più mi fanno amare questo linguaggio di markup.

In primis, le macro! Se abbiamo un comando che ripetiamo spesso, ma che è lungo da digitare, latex ci permette di creare unaa macro per evitare di scrivere ogni volta una mezza cantica di divina commedia, sfruttando il comando \newcommand ed pacchetto xspace (per una questione di spazi); ecco un esempio:
\documentclass{article}
\usepackage{xspace}
\title{Prova newcommand}
\author{ubunturock.blogspot.com}
\date{12 Settembre 2009}

\begin{document}
   \maketitle
   \newcommand{\scf}{supercalifragilisticch\'espiralitoso}
   Grazie a questa fantastica funzione io posso scrivere \scf, \scf, \scf e \scf 4 volte scrivendo appena 16 lettere!

\end{document}

Un altra cosa che mi fa impazzire di latex sono le note a piè di pagina! Mi raccomando, non fatevi prendere la mano come me, non usatele al posto delle parentesi :P Comunque sia, il comando per generare una nota a piè di pagina è \footnote{testo}; vediamolo all'opera:
\documentclass{article}
\title{Test delle note a pi\'e pagina}
\author{ubunturock.blogspot.com}
\date{12 Settembre 2009}

\begin{document}
   \maketitle
   Sono pienamente consapevole\footnote{E lo dico senza alcuna vergogna} che una volta che vi avrò insegnato come usare le note a pi\'e di pagina la met\'a dei vostri documenti avr\'a mezza pagina di testo e mezza di note\footnote{Questo se tutto andr\'a bene...}
  
   Buon divertimento con LaTeX! 

\end{document}


Adesso avete avuto una buona infarinatura di LaTeX, per vedere cosa è capace di fare dopo un pò di pratica e per approfondire, potete trovare a questo indirizzo la guida L'arte di scrivere con Latex, scritta naturalmente... in Latex ;)
Leggi tutto...

| edit post