Skip to content

Commit d360633

Browse files
committed
add an index
1 parent e45eaee commit d360633

17 files changed

+60
-34
lines changed

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,8 @@ tmp.lua
1919
guidalua.bbl
2020
guidalua.bcf
2121
guidalua.blg
22-
guidalua.run.xml
22+
guidalua.run.xml
23+
# index ausiliary files
24+
*.idx
25+
*.ilg
26+
*.ind

app-registro/01.tex app-reg/01.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% !TeX program = LuaTeX
2-
% filename: app-registro/01.tex
2+
% filename: app-reg/01.tex
33
\directlua{
44
register = {}
55
function register.append(filename, line)

app-registro/02.tex app-reg/02.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% !TeX program = LuaTeX
2-
% filename: app-registro/02.tex
2+
% filename: app-reg/02.tex
33
\directlua{
44
register = {
55
start = os.clock(),

app-registro/03.tex app-reg/03.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% !TeX program = LuaTeX
2-
% filename: app-registro/03.tex
2+
% filename: app-reg/03.tex
33
\directlua{register = require "mod-history"}
44

55
Testo

app-registro/doc.tex app-reg/doc.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% !TeX program = LuaLaTeX
2-
% filename: app-registro/doc.tex
2+
% filename: app-reg/doc.tex
33
\documentclass{article}
44
\usepackage{fontspec}
55
\setmainfont{Libertinus Serif}

app-registro/doc2.tex app-reg/doc2.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
% !TeX program = LuaLaTeX
2-
% filename: app-registro/doc2.tex
2+
% filename: app-reg/doc2.tex
33
\documentclass{article}
44
\usepackage{fontspec}
55
\setmainfont{Libertinus Serif}

app-registro/historylog.sty app-reg/historylog.sty

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% filename: app-registro/historylog.sty
1+
% filename: app-reg/historylog.sty
22
\NeedsTeXFormat{LaTeX2e}[2000/06/01]
33
\ProvidesPackage{historylog}[2020/06/07 Compile task logger]
44
% load the Lua module

app-registro/lib-logger.lua app-reg/lib-logger.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- filename: app-registro/lib-logger.lua
1+
-- filename: app-reg/lib-logger.lua
22

33
local register = {
44
_iArchive = {},

app-registro/logger.sty app-reg/logger.sty

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% filename: app-registro/logger.sty
1+
% filename: app-reg/logger.sty
22
\NeedsTeXFormat{LaTeX2e}[2000/06/01]
33
\ProvidesPackage{logger}[2021/04/12 Compile task logger]
44
% load the Lua module

app-registro/mod-history.lua app-reg/mod-history.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- filename: app-registro/mod-history.lua
1+
-- filename: app-reg/mod-history.lua
22
local register = {
33
start = os.clock(),
44
sep = ", ",

guidalua.tex

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
\usepackage[backend=biber,style=alphabetic]{biblatex}
1919
\addbibresource{guidalua.bib}
2020

21+
%\indexsetup{noclearpage,level=\section*,toclevel=section}
22+
\makeindex[options={-s guidatematica.ist},title=Indice Analitico]
23+
2124
\fvset{
2225
fontsize=\small,
2326
numbers=left,
@@ -214,5 +217,10 @@ \part{Applicazioni Lua in \LuaTeX}
214217

215218
% bibliografia
216219
\input{section/Z-90-biblio.tex}
220+
221+
% indexes
222+
\printindex
223+
%\printindex[lua]
224+
217225
\end{document}
218226

guidatematica.ist

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
headings_flag 1
2+
heading_prefix "\\section*{"
3+
heading_suffix "}"
4+
symhead_positive "Simboli"
5+
symhead_negative "simboli"
6+
numhead_positive "Numeri"
7+
numhead_negative "numeri"
8+
delim_0 ",\~"
9+
delim_1 ",\~"
10+
delim_2 ",\~"

guidatematicafiles.ist

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
headings_flag 1
2+
heading_prefix "\\section*{"
3+
heading_suffix "}"
4+
symhead_positive "Estensioni"
5+
symhead_negative "estensioni"
6+
numhead_positive "Numeri"
7+
numhead_negative "numeri"
8+
delim_0 ",\~"

section/0-01-intro.tex

+5-5
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ \section{Contribuire e collaborare}
6969

7070
\section{Altre risorse}
7171

72-
La risorsa principale per imparare Lua, a cui si rimanda per tutti gli
73-
approfondimenti, è certamente il PIL \cite{PIL} acronimo del titolo del libro
74-
\emph{Programming In Lua} di Roberto Ierusalimschy, principale Autore di Lua.
72+
La risorsa principale per imparare Lua, a cui rimando per tutti gli
73+
approfondimenti, è certamente il PIL \cite{PIL}, acronimo del titolo del libro
74+
\emph{Programming In Lua} di Roberto Ierusalimschy il principale Autore di Lua.
7575
Questo testo non solo è completo e autorevole ma è anche ben scritto e
7676
composto\footnote{Tra l'altro il libro ufficiale su Lua viene composto in
7777
\LaTeX{} e commercializzato per contribuire allo sviluppo del linguaggio
@@ -80,7 +80,7 @@ \section{Altre risorse}
8080
La seconda importante risorsa su Lua si trova in rete all'indirizzo
8181
\href{https://www.lua.org/manual/5.3/}{\texttt{www.lua.org/manual/5.3/}} ed è il
8282
\emph{reference} del linguaggio \cite{web:luaref} con le specifiche di sintassi,
83-
metametodi, funzioni di libreria, C API eccetera.
83+
metametodi, funzioni di libreria, C API, eccetera.
8484

8585
Quanto a \LuaTeX{} il riferimento è il suo manuale \cite{prg:luatex} che, come
8686
quasi tutta la documentazione nel sistema \TeX{}, può essere visualizzato a
@@ -117,7 +117,7 @@ \section{Note di lettura}
117117
efficienti, più accurati, più completi di riscriverne il codice.
118118

119119
Auguro buona e proficua lettura nell'esplorare l'avampost%
120-
\begin{tikzpicture}[scale=0.0375]
120+
\begin{tikzpicture}[scale=0.0378]
121121
\guidalualogocmd
122122
\end{tikzpicture} lunare.
123123

section/I-02-tab.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ \subsection{Composizione finale}
502502
\end{tabular}
503503
\end{lines}
504504
505-
Il progetto completato si trova nel file \file{app-star/E0-006-tab.tex}, dove ho
505+
Il progetto completato si trova nel file \file{app-start/E0-006-tab.tex}, dove ho
506506
aggiunto alla tabella la colonna con il calcolo della superficie laterale delle
507507
barre.
508508

section/III-01-registro.tex

+13-17
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ \section{Scrivere sul registro}
4444

4545
La funzione \fn{append} può essere provata in un sorgente plain \LuaTeX{}
4646
compilabile come in questo:
47-
\sourcecode{file = [[app-registro/01.tex]]}
47+
\sourcecode{file = [[app-reg/01.tex]]}
4848

4949

5050
\section{Dati di compilazione}
@@ -66,7 +66,7 @@ \section{Dati di compilazione}
6666
del termine del sorgente. Come prima istruzione invece, inseriremo il blocco di
6767
codice Lua che definirà alcuni parametri come il nome del file del registro e il
6868
separatore di campo testuale, e la funzione \fn{append}:
69-
\sourcecode{file = [[app-registro/02.tex]]}
69+
\sourcecode{file = [[app-reg/02.tex]]}
7070

7171

7272
\subsection{La variabile \code{jobname}}
@@ -151,7 +151,7 @@ \section{Creare il modulo e il pacchetto}
151151
l'accesso alle funzionalità da parte degli utenti indipendentemente dal formato.
152152

153153
Allo stato attuale dello sviluppo del codice, il modulo Lua è il seguente:
154-
\sourcecode{file = [[app-registro/mod-history.lua]]}
154+
\sourcecode{file = [[app-reg/mod-history.lua]]}
155155

156156
Tutte le funzionalità sono incluse in un unica tabella Lua chiamata
157157
\code{register}. Dall'esterno, caricando il modulo con la funzione \fn{require}
@@ -165,7 +165,7 @@ \section{Creare il modulo e il pacchetto}
165165
incremento delle prestazioni per includere il riferimento alla tabella stessa.
166166

167167
Il sorgente in plain \LuaTeX{} si semplifica in questo:
168-
\sourcecode{file = [[app-registro/03.tex]]}
168+
\sourcecode{file = [[app-reg/03.tex]]}
169169

170170
Per compilarlo correttamente il file Lua del modulo chiamato
171171
\code{mod-history.lua} deve essere nel percorso di ricerca. La soluzione più
@@ -174,12 +174,12 @@ \section{Creare il modulo e il pacchetto}
174174
A questo punto è facile creare un pacchetto per \LaTeX{}. Non ci sarà alcuna
175175
macro utente ma un aggiunta al codice di chiusura del documento con la macro
176176
\cs{AtEndDocument}. Ecco il codice:
177-
\sourcecode{file = [[app-registro/historylog.sty]]}
177+
\sourcecode{file = [[app-reg/historylog.sty]]}
178178

179179
Basta caricare il pacchetto e tutte le compilazioni del sorgente verranno
180180
registrate come per questo file sorgente per Lua\LaTeX{}. Compilatelo più volte
181181
e controllate poi il file locale \file{history.log}:
182-
\sourcecode{file = [[app-registro/doc.tex]]}
182+
\sourcecode{file = [[app-reg/doc.tex]]}
183183

184184
Il file di registro conterrà informazioni simili a queste:
185185
\begin{Verbatim}[numbers=none,xleftmargin=0pt]
@@ -195,19 +195,16 @@ \section{Sviluppo}
195195
informazioni sulle compilazioni dei sorgenti. Le funzionalità sono minime ma si
196196
tratta di un buon punto di partenza per dare risposta a nuove domande: quale
197197
struttura dovremo dare al modulo in modo che sia semplice aggiungere nuove
198-
funzionalità, come permettere all'utente di modificare le informazioni
199-
registrabili.
198+
funzionalità o modificare la lista delle informazioni registrabili.
200199

201200
A poco a poco prende forma e si precisa la struttura di un \emph{framework}
202-
grazie all'attività di progettazione del software a passi successivi. Ciò che
203-
era molto meno evidente con lo sviluppo dei pacchetti \LaTeX{} è invece chiaro
204-
con i moduli Lua: la necessità di ricercare soluzioni convenienti ai problemi di
205-
organizzazione del codice.
201+
grazie all'attività di progettazione in passi successivi. Ciò che era molto meno
202+
evidente con lo sviluppo dei pacchetti \LaTeX{} è invece chiaro con i moduli
203+
Lua: la necessità di ricercare soluzioni con l'organizzazione del codice.
206204

207205

208206
\subsection{Dati per descrivere dati}
209207

210-
211208
Nel registro ogni linea contiene informazioni ma nel codice non ne esiste una
212209
rappresentazione di alto livello, un oggetto che si possa aggiungere o
213210
eliminare, o stampare in un diverso formato.
@@ -223,8 +220,7 @@ \subsection{Dati per descrivere dati}
223220
\end{compactitemize}
224221

225222
Il costruttore di tabelle è una struttura in grado di rappresentare ogni tipo di
226-
dato e la seguente è la diretta descrizione dei componenti di questo tipo di
227-
dato:
223+
dato e la seguente è la diretta descrizione dei componenti di \code{Info}:
228224
\begin{lines}
229225
{
230226
id = "EngineName",
@@ -280,7 +276,7 @@ \subsection{Nuova implementazione del registro}
280276

281277
Non spiegherò tutti i dettagli per non eccedere con la descrizione del codice,
282278
tratterò solo i punti salienti lasciando libero il lettore di consultare il
283-
codice completo nel file \file{app-registro/lib\_logger.lua}.
279+
codice completo nel file \file{app-reg/lib-logger.lua}.
284280

285281
Di base, la possibilità di selezionare l'insieme di informazioni da registrare
286282
comporta il dover distinguere la lista di oggetti disponbili che chiameremo
@@ -697,7 +693,7 @@ \subsection{Il punto di vista dell'utente}
697693
l'opportuno codice Lua.
698694
699695
Si possono fare esperimenti scaricando il pacchetto di seconda generazione
700-
\file{app-registro/logger.sty} e il file di prova \file{app-registro/doc2.tex},
696+
\file{app-reg/logger.sty} e il file di prova \file{app-reg/doc2.tex},
701697
secondo le istruzioni della sezione~\ref{secIntroNote}.
702698
703699
Una terza iterazione di sviluppo, potrebbe porsi lo scopo di minimizzare il

section/Z-01-notefinali.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\chapter{Note finali}
44

55
I miei ringraziamenti vanno a Claudio Beccari per aver scritto la classe
6-
\class{guidatemaica.cls} con cui è stata composta la guida e per avermi dato
6+
\class{guidatematica.cls} con cui è stata composta la guida e per avermi dato
77
risposte come sempre precise e complete alle mie domande.
88

99
Ringrazio Gianluca Pignalberi che mi ha proposto un uso avanzato del pacchetto

0 commit comments

Comments
 (0)