Disponibile LyX 2.2.3

Il proyecto LyX annuncia oggi la disponibilità della versione 2.2.3 di questo magnifico programma di videoscrittura costruito su LaTeX e derivati

Public release of LyX version 2.2.3

Con numerose correzioni di errore (compreso un molesto problema con i tasti di scelta rapida in KDE), questa versione ci regala pure diversi miglioramenti nella gestione di riferimenti incrociati e citazioni (con interfaccia grafica ridisegnata) oltre ad un miglioramento nella performance del programma.

LyX223-it

Gli utenti di openSUSE abbiamo già questa nuova versione nel repositorio Publishing, mentre che il resto dei mortali possono scaricare il codice sorgente o alcuni binari da questo vincolo.

Possibilmente questa sia l’ultima versione della linea 2.2.x, con una 2.3 carica di novità in piena preparazione e prevista per agosto.

LyX: Rinominando le «Parti» e i «Capitoli»

Immaginiamo di dover scrivere un libro con LyX, scegliendo ad esempio il documentclass «Book».

In  questo modo ci saranno a nostra disposizione diversi «ambienti», tra i quali i sezionamenti Capitolo (comando LaTeX \chapter{}) per separare le diverse parti dell’opera e Parte (comando LaTeX \part{}) per raggruppare capitoli.

Ma se invece di separare in «parti» noi vogliamo utilizzare «libri»? E se invece di «Capitolo 1: Titolo scelto» ci piacerebbe di avere «Giorno 1: Titolo scelto»? Come si fa questo?

La forma più semplice è andare nel preambolo LaTeX (Documento → Impostazioni → Preambolo LaTeX) e aggiungere

\usepackage[italian]{babel}
\addto\captionsitalian{
  \renewcommand{\partname}{Libro}
  \renewcommand{\chaptername}{Giorno}
}

In un senso qui stiamo «ingannando» LaTeX con l’aiuto di Babel (il programma per gestire le opzioni relazionate con la lingua del documento), dicendole che invece di utilizzare le traduzione predeterminate per Part e Chapter utilizzi quelle da noi fornite.

Infatti, se non vogliamo niente lì semplicemente lasciamo le seconde parentesi graffe vuote:

\renewcommand{\partname}{}

ci darà soltanto il numero e il titolo da noi scritto, senza etichette.

Nella finestra di lavoro di LyX nulla cambierà, ma nel PDF compilato tutto sarà come vogliamo noi.

Inizializzare paragrafi con una capolettera in LyX

Siccuramente il lettore si sarà trovato davanti a un elegante testo come quello presentato nella seguente schermata:

capolettera-1

Per fare questo su LaTeX/LyX c’è il pacchetto lettrine.

LyX ci offre supporto dalla sua interfaccia grafica e nella sezione 6.3 del manuale che si trova sotto Aiuto → Oggetti inseriti viene spiegato chiaramente un metodo per utilizzarlo… perché ce n’è un altro, il quale risulta molto più semplice.

Il metodo spiegato nel manuale è quello più potente e flessibili, ma quando si vuole ripetere una formattazione tante volte in un documento tanta flessibilità non è proprio necessaria.

Per cominciare, e come sempre, doviamo essere sicuri che il pacchetto che c’interessa è installato e che LyX sa che è presente. La documentazione di Lettrine viene installata, in Linux e con TeXLive, in

/usr/share/texmf/doc/latex/lettrine/lettrine.pdf
/usr/share/texmf/doc/latex/lettrine/demo.pdf

Primo passo: in un documento LyX andiamo su Documento → Impostazioni → Moduli e mettiamo la spunta sul modulo Capolettere, come si vede nella seguente schermata:

capolettera-2

Clic su Applicare, non su OK, che doviamo ancora lavorare su questo menù! Ed è che, come capita in queste situazioni, doviamo andare sul Preambolo LaTeX per aggiungere qualche codice…

Il documento utilizzato per questo esempio è stato configurato per utilizzare XeTeX con il font EB Garamond per il testo e il font Goudy Initialen per le capolettere.

Sul preambolo ho scritto:

\newfontfamily{\Iniziali}[]{Goudy Initialen}
\renewcommand{\LettrineFontHook}{\Iniziali}
\setcounter{DefaultLines}{3}

La prima istruzione definisce un nuovo font da utilizzare nel documento (più informazione qui). Questa definizione viene utilizzata nella seconda riga per dire al pacchetto Lettrine quale font dev’essere utilizzato per le capolettere. La terza riga indica il numero di righe di testo che si deve prendere la capolettera.

È possibile fare degli «aggiustamenti fini» della posizione verticale della capolettera aggiungendo

\renewcommand{\DefaultLraise}{0.35}

e modificando il valore 0.35 per quello che serva. Generalmente non è necessario.

A questo punto, quando vogliamo inserire una nuova capolettera selezioniamo il primo carattere del paragrafo e clic destro → Stile testo → Capolettera, come mostrato a continuazione

capolettera-3

Quasi ci siamo. Per far si che il resto della prima parola sia in maiuscoletto doviamo selezionarla e introdurla in una «scatoletta TeX» racchiusa tra parentesi graffe. In LyX tutto si vedrà così:

capolettera-4

mentre che sul documento compilato si vedrà come nella prima schermata.

Una variante: capolettera «in su»

Per ottenere il seguente effetto:

letracapitalsubida

Dovremo modificare le istruzioni utilizzate prima nel preambolo LaTeX:

\newfontfamily{\Iniziali}[Scale=2]{Goudy Initialen}
\renewcommand{\LettrineFontHook}{\Iniziali}
\setcounter{DefaultLines}{1}

Tutto è molto simile a prima, tranne per due cose. La prima è una nuova istruzione aggiunta tra le parentesi quadre nella prima riga, dove viene definito il font da utilizzare nelle capolettere: l’istruzione Scale=2 da un font due volte la grandezza di uno normale (certamente si può giocare con il valore). La seconda differenza è nell’ultima riga dove viene indicato che la capolettera deve prendere soltanto una riga di testo.

Tutto pronto!

Distanza tra linee di testo in un documento LaTeX/LyX

In LyX risulta semplice scegliere la distanza tra le righe di testo, tanto per il documento in generale

lyxinterlinea1

come per un paragrafo particolare

lyxinterlinea2L’ «1.5» che si vede nella schermata è quello che nell’altra si chiama «uno e mezzo». Questo risulta importante perché vedremo a continuazione cosa succede quando si scrive 1,5 in «personalizzato»…

«Semplice», «uno e mezzo» e «doppio» sembrano piuttosto semplici da capire ma solo fino a quando non ci rendiamo conto di non avere la più pallida idea di cosa vuol dire «semplice».

E questo risulta anche importante per capire cosa fa «personalizzato».

Adesso faremo tutto addirittura più complicato.

Chiedo al lettore di fare il seguente esercizio in LyX: creare un paragrafo in «uno e mezzo» facendo clic destro  → Impostazione paragrafo e scegliendo 1.5 per Interlinea mentre che  a continuazione creiamo un altro con spazio personalizzato da 1.5 facendo clic destro  → Impostazione paragrafo, scegliendo Personalizzato per Interlinea e scrivendo 1,5 nel campo a destra. Vedete la stessa cosa? Vero che no? Personalizzato da 1.5 ci da delle righe più separate che l’opzione «uno e mezzo»! Adesso, tornate alla configurazione del paragrafo, scegliete ancora Personalizzato e scrivette 1,25: vedrete che al premere Applica l’opzione cambia da sola a «1.5», cioè, «uno e mezzo». Per ultimo scegliete ancora Personalizzato e scrivette 1,667: adesso passa a «doppio».

E questo??!!

Un po di teoria

I font moderni (OpenType, per esempio) includono la definizione di cos’è una «interlinea semplice»: chi sviluppa il font sceglie qual’è lo spazio minimo tra le righe per far si che queste non si sovrappongano. Questa grandezza dipende dal disegno dei caratteri (la sua altezza, la forma in cui gli accenti vengono aggruppati —e sì, ci sono lingue dove lo stesso carattere può avere più di un accento simultaneamente), le preferenze personali del autore… Processori di testo come Writer utilizzano questo parametro interno del font come base dell’interlineato.

Per esempio, OpenOffice Writer usa questo interlineato semplice in modo predefinito mentre che LibreOffice Writer nel suo modello predefinito usa per lo stile «corpo del testo» un interlineato «proporzionale» del 120%, il che vuol dire un 20% in più del interlineato semplice definito dal font.

Questo chiaramente ci dice cosa significa «semplice», «uno e mezzo» e «doppio» in Writer, ma questo articolo è su di LaTeX, cosa succede lì?

Interlineato in LaTeX

Bene, quello che succede è che LaTeX fu creato decenni prima che unicode e OpenType. Ed è proprio per questo che LaTeX calcola la distanza tra righe in un modo tutto suo.

The Dangerous Bend Sign of Donald Knuth

Attenzione! Curve LaTeX pericolose!

La cosa va più o meno così (al meno fino a dove la capisco). LaTeX definisce la altezza «basica» della riga come la grandezza in punti del font: un font di 10 punti avrà perciò associata una altezza di riga di 10 punti e per quello la «riga e mezza» sarà da 15 punti e quella doppia sarà di 20… MA, l’interlinea semplice non sarà di 10 ma di 12!

Infatti, dato che avere una distanza tra righe uguale alla grandezza del font darà un testo troppo compatto e illeggibile dove i caratteri più alti di una riga finiranno sovrapposti a quelli più bassi della riga precedente LaTeX aggiunge un 20% alla altezza di base, ma solo all’interlinea semplice, quella «uno e mezzo» e la «doppia» vengono calcolate dal valore senza correggere!

Facendo un piccolo sforzo di memoria per riprendere il lavoro fatto a scuola con delle proporzioni e percentuali riusciremo a vedere come funziona tutto questo in realtà. Infatti, se si sa che una quantità (la distanza tra due righe consecutive con «interlinea semplice») è il 120% di una incognita e vogliamo calcolare il 150% di quell’incognita, quale sarà il fattore che rimane? Sarà

\displaystyle \frac{1}{1,2} \cdot 1,5 = 1,25

E se quello che si vuole è avere il doppio della distanza di base,

\displaystyle \frac{1}{1,2} \cdot 2 = \frac{5}{3} \approx 1,667

E sì, LaTeX può essere strano…

Come si vede la confusione sorge dal fatto che le opzioni «uno e mezzo» (o 1.5, nella configurazione del paragrafo) e «doppio» vengono calcolate a partire di un valore diverso di quello utilizzato per definire «personalizzato». Perché, certamente, «personalizzato» applica un fattore all’interlineato semplice, quello che ha la correzione!

E prima che qualcuno lo chieda, sì, questo è così anche in XeTeX e LuaTeX.

Infine, spero che questo serva al lettore per capire un po come funziona questa storia dell’interlineato in LaTeX e così essere in grado di configurare i documenti con maggiore sicurezza.

Volendo, è possibile mettersi in problemi ancora più complessi: l’interlinea è dinamica (si modifica se si aggiunge qualcosa a una riga che abbia bisogno di più spazio verticale) e perciò cose come definire il suo valore massimo e minimo sono certamente possibili in LaTeX… ma meglio non entrare, che di solito non è necessario.

Alcuni (pochi) vincoli

http://wiki.lyx.org/FAQ/Spacing

http://tex.stackexchange.com/questions/13742/what-does-double-spacing-mean

https://en.wikipedia.org/wiki/Leading

Sulle note a piè pagina in LaTeX/LyX

Oggi parleremmo su alcuni trucchetti per modificare la presentazione delle note a piè pagina in un documento LaTeX/LyX. Per utilizzare quello che viene presentato qui è necessario istallare il pacchetto «yafoot», che in Linux e con TeXLive si ottiene istallando

texlive-yafoot

Note a piè in colonne con testo principale senza colonne

In un documento con tante note a piè, ma tutte brevi di soltanto un paio di parole, inserire tutte le note nel modo «normale» sarebbe uno spreco di spazio e perciò potrebbe essere utile avere le note a piè distribuite in colonne anche se il documento principale non si presenta in questo modo.

Come al solito, Documento → Configurazione → Preambolo LaTeX. Lì doviamo scrivere

\usepackage{dblfnote}

e tutto funzionerà perfettamente. L’unica cosa a tener presente è che se la pagina è mezzo vuota le note a piè si raggruppano riempiendo la prima colonna: non c’è un modo semplice di «spingerle in giù».

Numerare le note a piè per pagina

È sufficiente aggiungere nel preambolo LaTeX lo seguente

\usepackage{perpage} 
\MakePerPage{footnote}

Risulta importante notare che nell’interfaccia grafica di LyX la numerazione sarà ancora correlativa, però nel documento compilato tutto sarà giusto.

Numero delle note senza apice

In modo predefinito, in LaTeX e derivati non solo il numero che identifica la nota a piè nel testo sarà presentato come un apice, ma anche quello della nota in se. Un modo di cambiare questo è aggiungere, ancora nel preambolo LaTeX, lo seguente:

\makeatletter
\renewcommand\@makefntext[1]{%
  \noindent\makebox[0pt][r]{\@thefnmark.\space}#1}
\makeatother

«Numerare» le note con simboli

Un’alternativa classica alla numerazione delle note a piè è utilizzare simboli, seguendo il seguente schema:

1 → ∗      (comando LaTeX: \ast)

2 → †      (comando LaTeX: \dagger)

3 → ‡      (comando LaTeX: \ddagger)

4 → §      (comando LaTeX: \S)

5 → ∗∗

eccetera. È importante tener presente che «numerare con simboli» ha senso soltanto se la numerazione riparte in ogni pagina e se si tengono poche note in ogni pagina, altrimenti il tutto diventerebbe un caos.

Detto questo, ancora nel preambolo LaTeX doviamo scrivere:

\def\mysymbols#1{\@mysymbols{\@nameuse{c@#1}}}
\def\@mysymbols#1{\ifcase#1\or $\ast$\or $\dagger$\or $\ddagger$\or $\S$\or $\ast\ast$
\def\thefootnote{\mysymbols{footnote}}

\usepackage{perpage} 
\MakePerPage{footnote}

La prima riga definisce una nuova istruzione chiamata \mysymbols, la seconda stabilisce la configurazione di quest’istruzione definendo le sostituzioni commentate prima mentre che la terza riga modifica la definizione dell’istruzione \thefootnote per far si che alla numerazione venga applicata la sostituzione precedente. Le ultime due righe applicano il pacchetto perpage del quale aviamo già parlato e devono essere applicati alla fine.

È importante notare che si tentiamo di utilizzare in una pagina più note del numero di simboli definiti LaTeX darà errore: meglio definirne di più (anche di troppo), aggiungendo semplicemente un altro «\or $\simbolo$» nella lista della seconda linea di codice LaTeX.

Conclusione

Quasi tutti i comandi indicati qui accettano più parametri, dei quali non parlerò. Nella maggioranza dei casi fare quello commentato in queste righe è più che sufficiente, perciò rimane alla curiosità del lettore chiedere al suo motore di ricerca preferito cosa fare se si vuole andare oltre.


Ispirato a questo messaggio per i simboli e a quest’altro per il pacchetto perpage.

Disponibile LyX 2.2.2

lyxBreve notizia per questo sabato: Anche se si trova già da qualche giorno nel repositorio Publishing di openSUSE, oggi si annuncia la disponibilità della versione 2.2.2 di questa magnifica interfaccia grafica per  LaTeX e derivati (XeTeX, LuaTeX, eccetera):

Public release of LyX version 2.2.2

Questa è soltanto una versione di correzione di errori e perciò aldilà del (necessario) indicatore dello «zoom» nella finestra di edizione (il quale si vede soltanto al fare Ctrl-Ruota del mouse) e che Inserisci → Didascalia si presenterà come menù soltanto quando ci siano più di una opzione, non ci sono altre novità.

Le correzioni di errori sono presenti nella documentazione, negli strumenti per compilare il programma, al importare e esportare documenti, nell’interfaccia grafica, eccetera.

Per quei poveri sfortunati che non usano Linux è possibile scaricare questa nuova versione dalla pagina principale del progetto.

Modificare il formato dei titoli in LaTeX/LyX

Come commentato nel corso introduttivo a LaTeX/XeTeX/LyX, il documentclass scelto determina il formato generale del documento e questo certamente include il formato dei titoli dei capitoli, sezioni, eccetera.

Nella maggior parte dei documentclass viene utilizzata per i titoli lo stesso font che per il corpo del testo. Questo generalmente è una buona idea ma, se vogliamo cambiare questo formato? O al meno il colore del testo? O aggiungere degli «effetti speciali»? Come si fa per ottenere quello che si vede nella seguente schermata? (scusate che sia in spagnolo)

titlesec

Come si riesce a vedere, non solo il capitolo e la sezione utilizzano un font diverso al corpo del testo, il capitolo ha una cornice e il colore dei titoli e diverso!

Esistono varie forme di modificare il formato dei titoli e qualche documentclass come per esempio Koma Script offrono strumenti per ottenere alcune di questi «effetti» ma l’opzione che presento in questo articolo e forse la più generale (anche se non risulta completamente generale: non funziona con Memoir).

I pacchetti a utilizzare

Generalmente viene installato in modo predefinito, però non guasta confermare che i pacchetti xcolor y titlesec ci siano disponibili nella nostra distribuzione LaTeX.

La documentazione di xcolor di solito s’installa, in Linux e con texlive, in

/usr/share/texmf/doc/latex/xcolor/

mentre che la documentazione di titlesec s’installa in

/usr/share/texmf/doc/latex/titlesec/

In questo articolo darò delle indicazioni generali su questi pacchetti che risulteranno più che sufficienti nella maggior parte dei casi. Per più informazione e altri usi sempre si può leggere il maledetto manuale… 😉

xcolor

Il pacchetto xcolor serve per definire colori. La forma più semplice di utilizzarlo è dichiararlo nel preambolo LaTeX con

\usepackage{xcolor}
\definecolor{AzzurroChiaro}{rgb}{.3,.5,.7}

La prima riga dichiara che vogliamo utilizzare il pacchetto mentre che la seconde definisce un colore: i parametri tra le parentesi graffe sono, in ordine, il nome del colore, il metodo per definirlo e i «valori» di ogni colore basico nella forma di tre numeri tra zero e uno (quanto rosso, quanto verde e quanto blu), separati da virgole.

titlesec

Questo pacchetto offre tante istruzioni per realizzare le modifiche dei titoli. Si può utilizzare in due modi, uno «semplificato» e l’altro «completo».

La forma semplificata solo può essere utilizzata nelle sezioni, sottosezioni e livelli più bassi, mentre che per gli ambienti Parte e Capitolo (o per fare di tutto e di più negli altri) bisogna prendere la forma completa.

Una questione di «dimensione»

Esistono istruzioni in LaTeX per definire la dimensione del testo in funzione di quella di base. Questi sono, dal più piccolo al maggiore:

\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge

Un esempio completo

Per creare quello che si vede nella schermata di sopra, ho scritto lo seguente in Documento → Impostazioni → Preambolo LaTeX:

\usepackage{titlesec}
\usepackage{xcolor}

\definecolor{AzzurroChiaro}{rgb}{.3,.5,.7}
\definecolor{Veeerde}{rgb}{.3,.7,.3} 

\newfontfamily{\coral}{TeX Gyre Chorus} 

\titleformat{\chapter}[frame] 
{\LARGE\coral\color{AzzurroChiaro}}{\filright\chaptertitlename\ \thechapter}{20pt}{\Huge} 

\titleformat*{\section}{\Large\bfseries\sffamily\color{Veeerde}}

Le prime due righe dichiarano l’uso dei pacchetti titlesec e xcolor.

Le seguenti due definiscono due colori, AzzurroChiaro e Veeerde (no, non fu un’errore di scrittura 😉 ).

La quinta riga definisce una nuova famiglia tipografica da utilizzare in tutto il documento.

Nel esempio può vedersi sia la forma semplice che quella completa dell’istruzione \titleformat, parte del pacchetto titlesec.

La forma col asterisco (ultima riga) è la «versione riassuntiva» dell’istruzione e fu utilizzata per definire velocemente il formato della sezione: applica l’ambiente \section, usa un font in \Large, in grassetto (\bfseries, con \mfseries sarebbe «media»), con il font senza grazie definito per il documento (\sffamily) e li assegna il colore Veeerde.

La forma completa dell’istruzione usata per modificare l’ambiente \chapter (capitolo) si prende due righe. Nella prima s’indica che si deve creare una cornice in torno al titolo ([frame]). Nella seconda riga si ha la grandezza \LARGE per il testo dell’etichetta (la parola Capitolo seguita dal numero), che si usa il font definito con \coral, che si usa il colore AzzurroChiaro. Dopo vengono una serie di istruzioni di formato che iniziano con «allineare a destra», seguono dando la struttura della informazione presentata (compreso uno spazio di separazione tra etichetta e testo del titolo) e finiscono indicando che il testo del titolo deve grande quanto indicato da \Huge che è decisamente molto di più che quello usato nell’etichetta.

Ebbene, gli ingredienti di base ci sono perciò resta soltanto compilare il documento. Como indicato prima le istruzioni utilizzate in questo articolo offrono molto di più ma non entrerò nei dettagli: per quello esiste già la documentazione di ogni pacchetto.

LyX: Cambiare lo stile di pagina del ambiente «Parte»

In un articolo precedente aviamo visto come si creano e applicano stili di pagina in LaTeX per riuscire così a cambiare il contenuto della riga d’intestazione o del piè di pagina d’una parte del documento. Oggi affronteremo un problema simile ma di soluzione più complessa: cambiare lo stile di pagina associato all’ambiente Parte.

L’ambiente Parte, utilizzato per aggruppare capitoli nelle documentclass per libri, ha associato uno stile di pagina particolare il quale potrebbe mostrare, a dipendenza della classe di documento scelta un piè di pagina con il numero di pagina. Come si fa a eliminare questo numero?

Sfortunatamente quello visto nell’altro articolo non funziona qui. Il problema è che l’ambiente Parte sta anche associato con delle interruzioni di pagina, perciò qualsiasi istruzione del tipo \thispagestyle inserita prima o dopo dell’ambiente sarà applicata alla pagina precedente o posteriore e non a quella che c’interessa. Non si può neanche utilizzare l’istruzione \thispagestyle dentro dell’ambiente Parte perché quest’istruzione non può essere annidata. Dunque? Si dovrà ridefinire l’ambiente Parte.

Ho trovato il seguente codice in questo argomento del forum LaTeX Community e in sostanza quello che fa è cambiare la definizione dell’ambiente \part (Parte) assegnandole lo stile di pagina chiamato empty che non ha ne riga d’intestazione ne piè di pagina.

La complessità del codice viene da tentare di «coprirsi» per qualsiasi eventualità, tenendo conto che il documento può essere a singola o doppia faccia, in una o più colonne: per quello ci sono così tanti comandi «if».

Per utilizzarlo in LyX come al solito apriamo Documento → Impostazioni → Preambolo LaTeX per scrivere:

% per lasciare le pagine di \part senza piè o intestazione di pagina

\makeatletter
\renewcommand\part{%
  \if@openright
    \cleardoublepage
  \else
    \clearpage
  \fi
  \thispagestyle{empty}%
  \if@twocolumn
    \onecolumn
    \@tempswatrue
  \else
    \@tempswafalse
  \fi
  \null\vfil
  \secdef\@part\@spart}
\makeatother

Fatto! E sì, LaTeX può essere strano…

LyX: Creare (e utilizzare) stili di pagina

Proviamo a immaginare un documento con righe d’intestazione e piè di pagina elaborati e con la seguente struttura

  1. Indice con pagine numerate con numeri romani
  2. Un «capitolo» non numerato che contenga un’introduzione all’opera
  3. Prima parte
  4. Primo capitolo numerato

In questo sito ci sono già degli articoli parlando del modo in cui si può numerare le pagine dell’indice con numeri romani e dei passi necessari per lavorare sulla configurazione della riga d’intestazione e piè di pagina. Consiglio vivamente di leggere questi due articoli prima di continuare!

Per ottenere gli ambienti Parte e Capitolo è necessario utilizzare una documentclass per libri. Un capito non numerato si crea selezionando l’ambiente Capitolo* (con l’asterisco), perciò fino a qui tutto sembra semplice…

Il problema con tutto questo, perché un problema ci dev’essere altrimenti non ci sarebbe un articolo, ha diverse parti. Per cominciare l’introduzione creata con il capitolo non numerato non risulta inclusa nell’indice e per continuare l’informazione disponibile per la riga d’intestazione o piè di pagina dell’introduzione farà vedere «Indice generale» invece d’«Introduzione». Questo secondo problema è d’aspettarsi considerato il primo: la riga d’intestazione non sarà aggiornata perché essendo il capitolo «non numerato» (e perciò non presso in considerazione per l’indice) in realtà non ci sarà nuova informazione disponibile.

Per risolvere tutto questo sarà necessario creare uno stile di pagina con l’informazione che ci serva e dirle manualmente a LaTeX che deve aggiungere una nuova voce nell’indice. Tutto questo dev’essere fatto con codice LaTeX puro e duro. Peccato…

Creando e usando stili di pagina… e correggendo l’indice

Dando per sicuro che il lettore si ricorda di come lavorare con le righe d’intestazione e piè di pagina dirò semplicemente d’andare a Documento → Impostazione → Preambolo LaTeX e scrivere quello che segue

% lo stile di pagina normale, con la sua riga d'intestazione
\pagestyle{fancy}
\fancypagestyle{normal}{%
    \fancyhead{} % pulisce la riga d'intestazione
    \fancyhead[RO,LE]{\thepage}
    \fancyhead[LO]{\nouppercase{\leftmark}}
    \fancyhead[RE]{\nouppercase{Nuestro gran libro}}
    \fancyfoot{}
}

% lo stile di pagina speciale 
\fancypagestyle{speciale}{%
\fancyhead{} % pulisce la riga d'intestazione
    \fancyhead[RO,LE]{\thepage}
    \fancyhead[LO]{\nouppercase{Introduzione}}
    \fancyhead[RE]{\nouppercase{Il nostro gran libro}}
    \fancyfoot{}
}

Questo ridefinisce lo stile di pagina del corpo del testo e crea uno nuovo chiamato «speciale» che sarà quello utilizzato nel capitolo non numerato, dandogli a entrambi gli stili l’informazione necessaria.

Adesso, proprio nel punto in cui vogliamo l’indice di contenuti si inserisce una «scatoletta TeX»

LyX-TeX

e al suo interno

\frontmatter 
\setcounter{page}{1}
\pagestyle{normal}

Con questo diciamo a LaTeX che quello che viene a continuazione è lo spazio dedicato all’indice. Sotto della scatoletta TeX Inserisci → Elenco/Indice → Indice generale e a continuazione una seconda scatoletta TeX con

\mainmatter 
\setcounter{page}{1}

ambientiQuest’ultimo codice indica che a questo punto inizia l’argomento principale del libro.

A questo punto s’inserisce l’ambiente «capitolo non numerato» (mostrato nell’immagine a sinistra), scrivendo il titolo che ci serva, per esempio «Introduzione». Ricordatevi d’utilizzare lo stesso titolo definito per lo stile di pagina «speciale»! 🙂

Immediatamente sotto questo titolo si deve inserire una nuova scatoletta TeX con il seguente contenuto

\pagestyle{speciale}
\addcontentsline{toc}{chapter}{Introduzione}

La prima riga assegna lo stile di pagina «speciale» a quello che segue mentre che la seconda aggiunge una linea nell’indice dei contenuti puntando a quella pagina, assegnando un livelo (chapter) e il contenuto scelto (Introduzione, anche qui risulta importante il ricordarsi di mantenere la coerenza…)

Finita la stesura dell’introduzione è il momento d’andare avanti con il libro. Dopo applicare (se ci serve) l’ambiente «Parte» e a continuazione l’ambiente «Capitolo» (Senza l’asterisco!) s’inserisce un’altra scatoletta TeX con il seguente codice

\pagestyle{normal}

così tutto torna «alla normalità».

Per il resto del documento si procede normalmente senza altre scatolette TeX… al meno per questi problemi 😉

Vincoli

Creare e utilizzare stili di pagina in LaTeX

http://tex.stackexchange.com/questions/37574/different-headers-for-different-chapters

Aggiungere all’indice un capitolo non numerato:

http://wiki.lyx.org/FAQ/TOC#addcontentsline

LyX: pagine automatiche e numerazione pagina del indice

Prima di continuare a scrivere sull’argomento degli stili di pagina mi permetterò una piccola deviazione che risulterà però di grande importanza.

Pagine automatiche in bianco

Creando un documento «a due facce» con qualcuna delle classi di documenti book inevitabilmente ci troveremo ad avere alcune pagine in bianco inserite in modo automatico: i capitoli iniziano in pagine «destre» (dispari), perciò se il capitolo precedente finisce pure in una pagina dispari in mezzo ci sarà per forza una pagina «pari» per riempire il buco.

Il problema è che in modo predefinito LaTeX usa per le pagine automatiche lo stesso stile di pagina usato per il corpo del testo, cioè, la pagina non starà veramente in bianco, mostrando la riga d’intestazione o il piè di pagina da noi configurato.

Per far si che le pagine automatiche siano veramente bianche (cioè, completamente vuote), doviamo istallare il pacchetto emptypage. In TeXLive questo pacchetto si chiama

texlive-emptypage

Una volta istallato, in Documento → Impostazioni → Preambolo di LaTeX doviamo scrivere:

\usepackage{emptypage}

Fatto!

Numerare le pagine dell’indice con numeri romani

Se la nostra idea è quella d’inserire l’indice di contenuti dopo la pagina del titolo del documento e vogliamo anche che le pagine che contengono l’indice stiano numerate con numeri romani iniziando da I (un romano… 😉 ) per poi avere il corpo principale del documento numerato con numeri arabici che iniziano ancora in 1 nel primo capitolo… come si fa?

Al «corso introduttivo» ne parliamo velocemente: bisogna utilizzare i codici \frontmatter prima dell’indice e \mainmatter dopo, però se avete provato quei codici sicuramente un problema vi risulterà evidente: i numeri romani compaiono in minuscole!

Dopo usare gli ambienti del titolo e del autore, inseriamo una «scatoletta TeX»

LyX-TeX

con i seguenti comandi:

\frontmatter
\pagenumbering{Roman}
\setcounter{page}{1}

NOTA: nella maggior parte dei documentclass il comando \setcounter che reinizia il contatore del numero di pagina non è necessario… ma per essere sicuri…

A continuazione, Inserisce → Elenco/Indice → Indice generale. Immediatamente dopo in un altra scatoletta TeX:

\mainmatter
\pagenumbering{arabic}
\setcounter{page}{1}

NOTA 2: Nella maggior parte dei documentclass LaTeX con la prima riga sarà sufficiente: le altre due non sono veramente necessarie.

In LyX questo vi vedrà così

indice

Fatto pure! Soltanto un ultimo commento: Roman indica numeri romani normali, in maiuscole, roman indica numeri romani completamente anormali, in minuscole (i, ii, eccetera, se i romani lo sapessero…) mentre che arabic indica numeri arabici normali.