LyX e Kile, due modi per usare LaTeX (parte II)

La settimana scorsa ho presentato molto genericamente come si scrive un documento in LaTeΧ e in LyΧ (LyX e Kile, due modi per usare LaTeX (parte I)). In questo inserimento illustrerò le differenze che si incontrano nel redigere lo stesso documento scrivendolo in LaTeΧ mediante il supporto fornito da Kile oppure in LyΧ.

Le sezioni che seguiranno sono così strutturate:

L'uso di LyΧ e Kile a confronto

Dopo aver generato un nuovo documento in Kile ed in LyΧ (come precedentemente descritto) e dopo aver caratterizzato i due rispettivamente del preambolo e delle impostazioni necessarie, vedremo come affrontare le principali esigenze di un utente quando redige un documento.

Questo, ad esempio, è il preambolo del file di LaTeΧ.
% Classe del documento
\documentclass[a4paper,10pt]{article}

% Codifica utf8 e selezione della lingua italiana
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[italian]{babel}

% Per inserire immagini
\usepackage{graphicx}

% Per rendere cliccabili i link
\usepackage[plainpages=false, pdfpagelabels]{hyperref} % LyΧ
\hypersetup{colorlinks=true,linkcolor=blue} % LyΧ

% Per inserire informazioni nel file pdf generato visibili nelle proprietà
\hypersetup{ % LyΧ
pdftitle = {Il \LaTeΧe a portata di tutti: LyΧ},
pdfsubject = {LyΧ},
pdfkeywords = {LyΧ, Kile, \LaTeΧe},
pdfauthor = {creativecommons.org licenses by-nc-sa 3.0, Hikaru},
pdfcreator = {\LaTeΧe},
}
Con il commento
% LyΧ
sono indicati i comandi che vanno aggiunti nella finestra Documento --> Impostazioni --> Preambolo di LaTeΧ di LyΧ per ottenere esattamente lo stesso risultato nei due documenti. Da Documento --> Impostazioni, invece, va impostato il tipo di dicumento (articolo, nel preambolo LaTeΧ mostrato prima), lingua italiana e la codifica utf8 (deselezionando Usa codifica predefinita di linguaggio e selezionando utf8 dal menù a tendina Codifica).

Per iniziare un documento, ad esempio, vanno inseriti titolo, autore e data. In LaTeΧ servono i comandi
\title{TITOLO}
\author{AUTORE}
nel preambolo e
\maketitle
dopo il
\begin{document}
La data viene inserita di defalut nel frontespizio. In LyΧ basta andare nel menù a tendina della barra degli strumenti e selezionare titolo, autore e data e poi digitare rispettivamente titolo, autore e data (Inserisci --> Data inserisce il valore in automatico): il risultato finale sarà analogo a quello di un normale software di videoscrittura, anche se non sarà quello che otterremo compilando il file finale pdf/ps/dvi.

Se si sceglie la lingua italiana da Documento --> Impostazioni su LyΧ o mediante
\usepackage[italian]{babel}
per LaTeΧ, quando si compila il file NOME_FILE.LyΧ o NOME_FILE.tex si ottiene, ad esempio, un file NOME_FILE.pdf con le nomenclature in italiano (sommario, capitolo, indice ecc).
Se si sceglie, ad esempio, come classe un articolo, possiamo inserire un abstract ovvero un sommario. In Kile sarà necessario inserire entro il codice
\begin{abstract}
\end{abstract}

il contenuto. In LyΧ, invece, sempre dal solito menù a tendina, è necessario selezionare la voce Sunto che nel file pdf/ps/dvi diventerà comunque Sommario per la scelta della lingua italiana.

Già scrivendo queste poche righe è possibile fare due osservazioni. Innanzitutto la scelta dei traduttori di LyΧ di chiamare "sunto" quello che diventerà poi "sommario" nel file pdf/ps/dvi è una scelta abbastanza opinabile: perché usare due sinonimi, uno dei quali di uso poco frequente, per indicare la stessa cosa? Comunque questo dovrebbe essere una traduzione "vecchia", già corretta nelle installazioni più aggiornate. La seconda sta nell'utilizzo delle espressioni NOME_FILE.LyΧ (o analoghe) e di Documento --> Impostazioni all'interno del testo. In LyΧ la loro scrittura non genera alcun tipo di errore in fase di compilazione. In Kile, invece, sì, in quanto LaTeΧ non sa come interpretare i simboli di maggiore e di underscore. Il primo è un simbolo matematico e va racchiuso in un ambiente matematico opportuno (cioè è necessario comunicare a LaTeΧ che si tratta di un simbolo matematico), ma di questo parleremo in seguito. Il secondo, invece, come tutti i simboli speciali, va preceduto da una backslash \.

Per scrivere queste due osservazioni avrei potuto usare un elenco numerato: in LyΧ non sarebbe permesso, in quanto il pdf/ps/dvi generato dalla compilazione interrompe il sommario prima della lista. Nessun errore in fase di compilazione, solo un'impostazione tipografica leggermente differente tra il testo del sunto e il testo della lista in LyΧ. Scrivendo direttamente in LaTeΧ, invece, si sarebbe potuto utilizzare la lista senza problemi.
LyΧ, in sostanza, "imita" un programma di videoscrittura lasciando più libertà rispetto al formalismo di LaTeΧ, ma dall'altro lato vincola sull'utilizzo o meno di determinate strutture.

A questo punto ho creato una sezione tramite il comando
\section{TITOLO}
in Kile e mediante il solito menù a tendina in LyΧ. In quest'ultimo la numerazione automatica della sezione è visibile direttamente nel file che si sta scrivendo e la sezione ha un carattere più grande e in grassetto per evidenziarla dal testo normale.
Comportamento analogo hanno capitoli, sottosezioni ecc, la cui ri-numerazione in caso di aggiunte o cancellazioni avviene sempre in modo automatico sia che si stia usando LyΧ sia che si stia scrivendo in LaTeΧ mediante Kile. Infatti non bisogna dimenticarsi che alla base di LyΧ sta sempre LaTeΧ.

Alcuni ambienti di uso comune
In un documento si trovano molto spesso, oltre che le suddivisioni in capitoli, sezioni ecc:

  • liste numerate o puntate;
  • immagini con relativa didascalia e numerazione;
  • tabelle con relativa didascalia e numerazione;
  • simboli matematici o piccole formule all'interno del testo;
  • formule evidenziate, numerate e non;
  • riferimenti incrociati;
  • listati di programmi

Le liste sono facilmente accessibili sia da Kile sia da LyΧ mediante i pulsanti della barra degli strumenti. La differenza sta in come appariranno all'utente nell'editor prescelto. In Kile avremmo il codice LaTeΧ:
\begin{itemize}
\item liste numerate o puntate;
\item immagini con relativa didascalia e numerazione;
\item tabelle con relativa didascalia e numerazione;
\item simboli matematici o piccole formule all'interno del testo;
\item formule evidenziate, numerate e non;
\item riferimenti incrociati;
\item listati di programmi.
\end{itemize}

mentre in LyΧ una formattazione tipografica del tutto analoga a quella mostrata sopra.
Normalmente, un doppio invio comunica al programma di videoscrittura l'intenzione di terminare l'elenco. In LyΧ ciò non è vero, è necessario cliccare sul pulsante "Predefinito" per ritornare alla stesura "normale" del testo.

Dopo queste poche righe è possibile notare come andare a capo in LyΧ comporti l'inizio di un nuovo paragrafo (si noti nel file lyx l'indentazione della prima parola). Questo in Kile si ottiene lasciando una riga vuota, perché l'andare semplicemente a capo non viene interpretato da LaTeΧ in alcun modo. In entrambi i sofware comunque, non è necessario porre attenzione alla quantità di spazi tra una parola e l'altra in quanto nel pdf/ps/dvi finale ci sarà sempre e comunque un solo spazio, eventualmente più lungo dopo un punto (in quanto la pausa è maggiore).

Ambienti flottanti
Figure e tabelle devono essere trattate in maniera particolare, in quanto, se sono troppo grandi, non possono essere spezzate tranquillamente tra più pagine. In LaTeΧ sono stati quindi creati degli ambienti mobili o flottanti (floating) che permette di gestire il loro posizionamento. Se una figura o una tabella non può rimanere dove è stata inserita (perché non c'è spazio sufficiente, perché il testo risulterebbe troppo poco rispetto all'immagine o alla tabella, perché è la prima pagina di un capitolo ecc), viene spostata nelle pagine successive, al primo posto utile. È altrettanto possibile forzare il posizionamento di un ambiente flottante e, per quanto possibile, LaTeΧ cercherà di accontentare l'utente.

Da Kile, per inserire un'immagine, basta andare sul menù LaTeΧ --> Image insertion - \includegraphics{file}, selezionare il file che si vuole inserire nel proprio documento e specificare le informazioni desiderate. Il codice che viene generato è il seguente
\begin{figure}
\centering
\includegraphics[OPZIONI_DIMESIONE]{PERCORSO_FILE}
% NOME_FILE: VARIE_INFORMAZIONI
\caption{DIDASCALIA}
\label{ETICHETTA}
\end{figure}

se si lascia selezionato Figure Environment, dove ciò che è scritto in stampatello maiuscolo è ciò che si va a specificare nella maschera di inserimento proposta dal menù selezionato.

\includegraphics{} Kile

Se si deseleziona Figure Environment, invece, si ottiene semplicemente
\begin{center}
\includegraphics[OPZIONI_DIMESIONE]{FIORE.JPG}
% NOME_FILE: VARIE_INFORMAZIONI
\end{center}

Nel primo caso l'ambiente mobile figure permette di fornire l'immagine di una didascalia (caption) numerata e di un'etichetta (label), che è possibile richiamare mediante il pulsante Inserisci riferimento incrociato da LyΧ e con
\ref{ETICHETTA}
da Kile. Nel secondo caso si inserisce semplicemente un'immagine senza la possibilità fornirla di didascalia.

In LyΧ sono necessarie, invece, tre operazioni per effettuare tutto quello che Kile permette in un'unica azione:

  • inserire l'ambiente mobile figura che permette di inserire la didascalia e di vedere immediatamente la numerazione con cui il tutto apparirà nel pdf/ps/dvi finale;
  • inserire il grafico (traduzione un po' infelice) ovvero l'immagine specificando tutto quello che è necessario, compresa la modalità di visualizzazione all'interno di LyΧ (è possibile visualizzare il nome del file, impostazione di default, oppure l'immagine vera e propria a colori o in bianco e nero della grandezza desiderata);
  • inserire l'etichetta mediante il pulsante etichetta.

Ovviamente, per inserire solo l'immagine, basterà saltare il primo punto della precedente lista.

gestione grafici in LyX

Per quanto riguarda le tabelle sia in Kile sia in LyΧ le operazioni sono tre:

  • creare l'ambiente mobile table;
  • creare la tabelle con tabular;
  • creare un'etichetta.

Da Kile, si possono utilizzare i menù LaTeΧ --> Floating Environment per l'ambiente table e il Wizard --> tabular per quello tabular e si ottiene il seguente codice:
\begin{table}
\begin{center}
\begin{tabular}{ccc}
Titolo 1 & Titolo 2 & Titolo 3 \\
1.1 & 1.2 & 1.3 \\
2.1 & 2.2 & 2.3 \\
3.1 & \multicolumn{2}{c}{multicolonna}\\
\end{tabular}
\end{center}
\caption{Una semplice tabella}
\label{tab:semplice}
\end{table}

Peccato che dal wizard non sia possibile copiare e incollare un tabella da un foglio di calcolo: in caso di tabelle molto grandi sarebbe veramente comodo. È già stata segnalata questa richiesta al team di Kile, non resta che sperare.

Wizard tabular Kile

Tuttavia questo vantaggio non è presente nemmeno in LyΧ, dove, per inserire una tabella nel suo ambiente flottante è necessario utilizzare, come per le figure, i pulsanti dell'ambiente mobile tabella e di inserimento della tabella. La barra degli strumenti presenta anche un pulsante che abilita una barra degli strumenti per le tabelle. Essa risulta molto più comoda rispetto alla finestra di dialogo che appare cliccando con il pulsante destro del mouse su una cella o sulla selezione di tutta la tabella. In particolare la possibilità di selezionare mediante flag l'opzione Multicolonna per una cella è di utilità poco chiara, visto che non serve a nulla su una cella.

gestione tabelle LyX

La tabella appare come dovrebbe diventare ed è, di default, dotata di bordi. Questa è una scelta opinabile, in quanto sembra che le linee in una tabella, in particolare quelle verticali, diminuiscano la leggibilità della stessa. Tuttavia, se si parte dal presupposto che la maggior parte delle persone crea tabelle con bordi è una scelta sensata. La soluzione migliore per realizzare delle tabelle sarebbe quella di colorare le righe a colori alternati, ma per far questo in LyΧ sarebbe necessario utilizzare del codice LaTeΧ. Infatti non c'è ancora la possibilità di utilizzare i colori all'interno del testo.

LyΧ ha un unico grande inconveniente per quanto riguarda l'inserimento di immagini e di tabelle: se sono troppo grandi rispetto la dimensione del foglio del pdf/ps/dvi che verrà generato, nessun errore durante la compilazione lo segnalerà. L'utente lo scoprirà dopo, mentre LaTeΧ ci avverte (e, diciamolo pure, ci stressa anche troppo con tutti quei messaggi di
\badboxes
e
badness
).

Altra particolarità di LyΧ è quella di permettere l'opzione "qui assolutamente" sia per le figure sia per le tabelle. Si tratta di un'impostazione accessibile dalla finestra che si apre con un click destro del mouse sull'ambiente mobile su cui si desidera specificare il posizionamento (inizio pagina, piè di pagina, qui se possibile ecc) e che si può definire per tutto il documento da Documento --> Impostazioni --> Posizione degli oggetti mobili. Questa possibilità offerta da LyΧ deve essere utilizzata con molta parsimonia, in quanto si rischia di ottenere dei risultati pessimi. Infatti questo comando obbliga LyΧ ad esaudire le nostre scelte, mettendo in secondo piano le altre esigenze stilistiche. Un risultato possibile è un documento con interminabili spazi bianchi, poiché LyΧ è obbligato ad adattare il resto dei contenuti in base al posizionamento degli oggetti mobili da noi specificato.
In LaTeΧ non esiste la possibilità di incorrere in questo problema, in quanto il massimo che si può fare è suggerire a LaTeΧ di effettuare il posizionamento senza rispettare tutti i parametri interni e quindi senza ottenere un risultato eccezionale. Questo si può ottenere con l'aggiunta del punto esclamativo alle opzioni h (here), t (top), b (bottom) che si possono specificare tra parentesi quadre come segue:

\begin{table}[h!] %l'ambiente "tabella" va posizionato ad inizio pagina anche se il risultato non è dei migliori
...

Formule matematiche
In LaTeΧ esistono differenti ambienti matematici. Infatti può essere necessario inserire qualche simbolo all'interno del testo oppure inserire formula in modo più evidenziato, numerandole o non.

In LaTeΧ, se si vuole inserire qualcosa all'interno del testo, è possibile racchiudere il formalismo matematico all'interno di una coppia di \$
oppure tra
\begin{math}
e
\end{math}
oppure tra
\( \)

In Kile, sulla sinistra, ci sono dei menù laterali per selezionare simboli di vario tipo tra cui lettere accentate, lettere greche e simboli matematici di ogni genere e introdurre nel documento il codice LaTeΧ corrispondente. Quindi non è necessario ricordarsi, per esempio, che la prima lettera dell'alfabeto greco si indica con
\alpha
perché è sufficiente cliccare sopra al simbolo per veder comparire nel testo il comando LaTeΧ.

Se si vuole inserire una formula esistono gli ambienti equation se la si vuole numerata (a cui è possibile associare un'etichetta da richiamare con un riferimento incrociato), displaymath altrimenti. Tutti i comandi per scrivere frazioni, indicare radici, derivate, limiti ecc sono disponibili nella barra degli strumenti oppure nel menù LaTeΧ --> Math Commands. Per i più frequenti (frazioni, radici, parentesi di vario tipo, apice e pedice...), sono anche disponibili dei pulsanti nella barra degli strumenti. L'equazione che viene richiamata con il riferimento
\ref{eq:equazione}
è un esempio di formula numerata:
\begin{equation}\label{eq:equazione}
\frac{a^b + c_{de}}{fg} - \sqrt{hi} + \sqrt[l]{\frac{m}{n}}
\end{equation}

mentre questa non lo è:
\begin{displaymath}
\int_{0}^\frac{\pi}{2}
\end{displaymath}

In LyΧ da Inserisci --> Matematica è possibile selezionare il tipo di formula, eventualmente modificabile anche in seguito posizionandosi col cursore sulla formula e selezionando il tipo corretto. Una volta stabilito l'ambiente matematico in LyΧ, chi conosce i comandi LaTeΧ potrà scrivere la formula utilizzandoli. LyΧ, infatti, li interpreterà e renderizzerà la formula come in un normale software di videoscrittura.

formula scritta in LyX

Avere la possibilità di visualizzare le formule come essere dovrebbero apparire nel pdf/ps/dvi finale è un grosso vantaggio offerto da LyΧ. Infatti questo permette di trovare gli errori di scrittura delle formule molto più velocemente che in Kile, dove il codice disturba la lettura dell'espressione. Inoltre LyΧ non perde i vantaggi di LaTeΧ ovvero quello di scrivere una formula senza dover continuamente cliccare un pulsante per inserire un pedice, un apice, una frazione ecc. Questo rende più veloce l'inserimento della formula in quanto non è necessario spostare la mano dalla tastiera al mouse e viceversa né cercare la locazione dei pulsanti. Senza contare che LyΧ permette di spostarsi con le freccette a destra e a sinistra dei vari caratteri (in linea, pedici o apici che siano) senza dover toccare il mouse, cosa che, per esempio in Word, non è possibile. Altrettanto comoda è la possibilità di selezionare un carattere e poi cliccare su un pulsante per renderlo un apice, un pedice o l'argomento di una radice. Azione che Word non permette, cosicché un utente che inizia a scrivere delle lettere accorgendosi che serve un pedice o un apice, ad esempio, dovrà rieditare anche quella lettera.

LyΧ tuttavia, come nel caso delle tabelle e delle immagini, non permette di scoprire in fase di compilazione se la formula sarà troppo larga rispetto ai margini del documento finale.

Listati
Per inserire listati di altri programmi in un file tex ci sono due possibilità:

  • utilizzare l'ambiente verbatim
  • utilizzare il pacchetto listings

Verbatim ha il compito di stampare nel pdf/ps/dvi finale quello che si trova al suo interno così come lo trova, senza farlo interpretare da LateΧ. È necessario fare tuttavia attenzione, in quanto non ha luogo la gestisce dell'"a capo" automatico e, quindi, se la riga di codice è troppo lunga essa viene stampata anche oltre il margine del foglio del pdf/ps/dvi finale. Infatti, se fosse necessario inserire nel documento dei listati più complessi, anche di codice TeΧ, il pacchetto da utilizzare è il listings.
Da LyΧ c'è l'opzione Inserisci --> Listato programma, che probabilmente è l'equivalente del verbatim, in quanto, se la riga di codice è troppo lunga, non va a capo in automatico. Da LyΧ, comunque, basta scrivere direttamente il codice, tanto comunque non lo interpreta.

Ciao, molto interessante il tuo blog, non conoscevo lyx ma penso che comincerò ad usarlo. Tuttavia volevo chiederti una cosa riguardo a kile (che ho sempre usato senza grossi problemi, prima d'oggi). Ho attivato il ritorno a capo "intelligente", o almeno così lo chiamano. L'ho attivato senza volerlo ed è un emerita fesseria perchè se supero anche solo di una lettera la colonna limite, mi da exit code 1. Fin qui non sarebbe un problema, ma: se premo invio sul pdf compaiono le due righe spezzate :O

Peggio di così solo word... ed infatti se non risolvo con kile o con lyx, tornerò a word (oppure a open office ;) )

Non riesco a riprodurre il problema. Se cerco, il ritorno a capo "intelligente" è l'inserimento intelligente di un ritorno a capo, che predispone un comando come \item se si è all'interno di un ambiente di elenco puntato, % se si sta digitando un commento e così via se si preme Ctrl+Invio. Tuttavia non mi sembra il tuo caso.
Mi sembra piuttosto il ritorno a capo statico (quando superi la colonna limite, che può essere impostata, l'editor ti rimanda a capo) che puoi disabilitare dalle impostazioni di Kile nella sezione Editor --> Modifica. Compilando, non mi dà alcun problema nell'uscita, essendo un'impostazione grafica dell'editor.
L'exit code 1 potrebbe essere legato ad un altro problema che, in un pdf non compilato correttamente, ti dà come risultato le due righe spezzate.
Spero tu abbia risolto a suo tempo, in ogni caso.

Aggiungi un commento
by Realizzazione Siti Vicenza & Temi per Drupal
Creative Commons License | Privacy & Cookie Policy