- Questo topic ha 16 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 3 mesi fa da
OldClaudio.
-
CreatoreTopic
-
11 Ottobre 2012 alle 6:52 #79774::
Salve a tutti,
Sto cercando (per ora invano) di capire se c’è un modo per customizzare lo spazio che separa la footnoterule dalla prima footnote, senza con ciò andare a toccare né lo spazio tra le note né la distanza tra la footnoterule e la fine del corpo del testo.
In poche parole devo aggiungere 6 mm sotto la linea del pie’ di pagina, tra questa e l’inizio della prima nota
Ho guardato il Companion, la documentazione di geometry e di fancyhdr più varie altre cose ma per ora nessun risultato.
Quale idea?
-
CreatoreTopic
-
AutoreRisposte
-
-
11 Ottobre 2012 alle 8:34 #79775::
Teodoro Studita” post=78965Salve a tutti,
Sto cercando (per ora invano) di capire se c’è un modo per customizzare lo spazio che separa la footnoterule dalla prima footnote, senza con ciò andare a toccare né lo spazio tra le note né la distanza tra la footnoterule e la fine del corpo del testo.
In poche parole devo aggiungere 6 mm sotto la linea del pie’ di pagina, tra questa e l’inizio della prima nota
Ho guardato il Companion, la documentazione di geometry e di fancyhdr più varie altre cose ma per ora nessun risultato.
Quale idea?`\addtolength{\skip\footins}{6mm}
\renewcommand{\footnoterule}{%
\kern-6mm \hrule width .4\columnwidth \kern\dimexpr 6mm-.4pt\relax
}`
Ciao
Enrico
-
11 Ottobre 2012 alle 19:16 #79776
-
11 Ottobre 2012 alle 19:20 #79777
-
12 Ottobre 2012 alle 12:16 #79778::
Eccomi!1. Non ho la minima idea del perché tu voglia questa bruttura.
Perché dopo che Ivan su questo post mi ha risposto che una cosa veramente immonda “è corretta”, rivendico anch’io il diritto a fare ogni possibile esiziale porcata, specialmente se turba il senso estetico della moltitudine.
In realtà alla fine di mm ne ho messi meno di due, ovviamente.2. Se usi ancora parolacce come nel primo messaggio, non ti rispondo più. 😉
Vuoi per caso customizzare i miei post?
Guarda che gli eccessi di Crusca hanno effetti intestinali indesiderati!Ciao mitico 😉
-
11 Giugno 2014 alle 20:13 #79779::
egreg9″ post=78966
`\addtolength{\skip\footins}{6mm}
\renewcommand{\footnoterule}{%
\kern-6mm \hrule width .4\columnwidth \kern\dimexpr 6mm-.4pt\relax
}`Chi mi spiega nel dettaglio queste istruzioni? Sto impazzendo!
In generale non capisco il perchè, per tracciare la linea delle note, si usano due kern, il primo con valore negativo per sottrarre spazio, il secondo con valore positivo: a che scopo? Che senso ha? Qual è il ragionamento di Latex nel tracciare la footrulenote? Ed idealmente dov’è il cursore quando Latex traccia la linea? (Quando si gioca con gli spazi io, per capirci qualcosa, immagino sempre un cursore lampeggiante nel punto in cui mi trovo con la stesura del documento e immagino che questo si muova a seconda delle istruzioni).
Non si potrebbe usare un unico kern che abbia come argomento la somma algebrica dei due kern?Inoltre, oltre al discorso generale riguardante “kern” e “footrulenote”, non arrivo proprio alla comprensione di ciò che ha scritto Enrico.
Grazie a chi mi voglia aiutare!
Andrea
-
12 Giugno 2014 alle 6:47 #79780::
AD” post=94314
`\addtolength{\skip\footins}{6mm}
\renewcommand{\footnoterule}{%
\kern-6mm \hrule width .4\columnwidth \kern\dimexpr 6mm-.4pt\relax
}`Chi mi spiega nel dettaglio queste istruzioni? Sto impazzendo!
In generale non capisco il perchè, per tracciare la linea delle note, si usano due kern, il primo con valore negativo per sottrarre spazio, il secondo con valore positivo: a che scopo? Che senso ha? Qual è il ragionamento di Latex nel tracciare la footrulenote? Ed idealmente dov’è il cursore quando Latex traccia la linea? (Quando si gioca con gli spazi io, per capirci qualcosa, immagino sempre un cursore lampeggiante nel punto in cui mi trovo con la stesura del documento e immagino che questo si muova a seconda delle istruzioni).
Non si potrebbe usare un unico kern che abbia come argomento la somma algebrica dei due kern?Inoltre, oltre al discorso generale riguardante “kern” e “footrulenote”, non arrivo proprio alla comprensione di ciò che ha scritto Enrico.
Grazie a chi mi voglia aiutare!
Andrea
La spiegazione e’ nella guida tematica Il LaTeX Reference Manual commentato e tradotto in italiano. Sembra complicato, ma non e’ terribilmente incomprensibile. Il concetto e’ che nello spazio di separazione fra testo e prima nota, personalizzabile con la prima assegnazione che Enrico ha scritto, ci si puo’ mettere qualunque cosa che NON occupi spazio verticale. Ogni spaziatura esplicitamente indicata va compensata con spazitura negativa che tenga conto anche dell’altezza dell’oggetto.
Il cursore e’ un concetto da word processor e LaTeX (I programmi che lo usano), come tutti sanno, non e’ un word processor.
-
12 Giugno 2014 alle 7:02 #79781::
[tt]\skip\footins[/tt] è la dimensione che regola la distanza fra l’ultima riga del testo della pagina e la prima riga delle note a piede. In questo caso Teodoro voleva che questa distanza aumentasse di 6 mm, senza però modificare la distanza fra l’ultima riga di testo e la linea. Usando solo `\addtolength{\skip\footins}{6mm}` ti accorgi che tutto il blocco delle note a piede (compresa la linea) viene spostato verso il basso.
Pertanto è necessario giocare con gli spazi prima e dopo la linea, ricordandosi che la somma totale degli spazi verticali usati nel comando [tt]\footnoterule[/tt], compreso lo spessore della linea, deve dare zero.
Quindi prima si aggiunge uno spazio verticale negativo di 6 mm per riportare la linea là dove era prima, poi si stampa la linea (spessa 0,4 pt di default) e poi si dà una spaziatura verticale che bilanci i 6 mm +0,4 pt
-
12 Giugno 2014 alle 12:33 #79782::
Grazie a tutti per i chiarimenti.Nel Latex Reference Manual ho trovato ciò che mi avete detto:
“Si noti l’espediente per fare sembrare il filetto di altezza nulla […] complessivamente
non si è avanzato in verticale di nessuno spazio. Gli spostamenti in avanti
o all’indietro […] sono messi strategicamente in modo che lo spostamento positivo separi il filetto da ciò che esso segue o precede”.La cosa che mi sfugge è proprio la logica che c’è dietro al Latex nel tracciare, ad esempio, questa linea.
Chi ha programmato il Latex come ha ragionato?
Ci saranno dei comandi di basso livello che segnino l’inizio del pie’ di pagina, i margini del foglio, ecc.Supponiamo che io scelga il formato A4, dei determinati margini, e così via.
Il programmatore non poteva semplicemente “dire”, ad esempio: “bene, in base alle specifiche dell’utente l’inizio del pie’ di pagina è a X cm dal margine inferiore, stampa quindi la footrulenote da X in poi (es. X+Y, dove y magari è personalizzabile)”.Perchè invece fare tutto ‘sto gioco: “sali di tot, poi scendi di una quantità tale che sommata allo spessore di riga che disegni mi dia sempre tot”?.
E cosa significa: “espediente per far sì che il filetto sia di altezza nulla”? Non colgo il significato nascosto dietro a ciò, qual è il vantaggio rispetto, ad esempio, al ragionamento che ho “proposto”?
Sicuramente il tutto si rifà a ciò che ha scritto prima OldClaudio: “il concetto e’ che nello spazio di separazione fra testo e prima nota, personalizzabile con la prima assegnazione che Enrico ha scritto, ci si puo’ mettere qualunque cosa che NON occupi spazio verticale.”Mi sfugge sicuramente il modo in cui “ragiona” Latex.
Io penso (o almeno pensavo) ragionasse nella fattispecie così:
“bene, so che il pie’ di pagina in base alle specifiche dell’utente è a X mm dal margine inferiore.
Ora l’utente ha deciso che vuole la prima nota a X+6mm.
Dato che la prima istruzione di Enrico mi sposta di 6 mm anche la footrulenote, posso riprogrammare il comando affinchè questa venga tracciata ad X+Y (valore predefinito)”.
Ma perchè la scelta dei kern indietro, kern avanti, quando il programmatore poteva semplicemente decidere di tracciare la footrulenote semplicemente ad X+Y (dove sia X sia Y sono specificati in qualche modo dall’utente)?Mi sfugge il senso, mi sfugge il concetto di “non occupare spazio verticale”.
Scusate per il ragionamento confuso e contorto.
Grazie!
-
12 Giugno 2014 alle 16:00 #79783::
Teodoro Studita” post=79004Eccomi!
1. Non ho la minima idea del perché tu voglia questa bruttura.
Perché dopo che Ivan su questo post mi ha risposto che una cosa veramente immonda “è corretta”, rivendico anch’io il diritto a fare ogni possibile esiziale porcata, specialmente se turba il senso estetico della moltitudine.
Ex falso quodlibet 😉
Ciao
Ivan
-
13 Giugno 2014 alle 14:36 #79784::
Torniamo ad @AD e al suo quesito circa il modo di ragionare di LATeX.Forse chiedi troppo, ma molte spiegazioni sono contenute nel documento Appunti di programmazione in TeX e LaTeX di Enrico. è un testo da leggere con calma e a picocle dosi per volta.
Comunque l’idea è che LaTeX mette insieme le lettere e ogni altro oggetto sostanzialmente in tre modi distinti: in modo orizzontale (Left-right mode), in modo verticale (vertical mode) o in modo matematico (math mode); ognuno di questi modi ha delle varianti, quindi non scendo nei dettagli; pensa che i modi matematici (le varianti del modo matematico) sono 8; se non fosse così LaTeX non sarebbe così bravo nel comporre.
Ora TeX e LaTeX sono nati quando s usava il formato DVI e le stampanti erano quelle che erano; lente, rumorose e spesso lavoravano a foglio perforato continuo; Io ho cominciato con una di queste stampanti quando TeX era ancora in “mente Dei” o meglio “in mente Knuthi”.
LaTeX nelle sue prime versioni è nato nel 1984, sei anni dopo, ed aveva il concetto di altezza del foglio di carta, ma essenzialmente per dimensionare lo specchio di stampa, non per costruire la pagina a cui pensava la routine di uscita, una cosa di complessità terribile a cui pochissimi osano apportare modifiche; io non sono tra quelli, anche se più o meno riesco a leggerne e a capirne il codice, ma non mi sognerei mai di metterci mano.
Dunque LaTeX non sa quanto sia alta la pagina, ma sa quanto sia alta la gabbia del testo, \textheight, e dentro a questa gabbia mette il corpo del documento; testatina e piedino sono ralivi alla gabbia, ma, in particolare l’insieme di tutti questi elementi, assemblati un on unico blocco, viene collocato sul foglio di carta con riferimento allo spigolo superiore sinistro di ogni pagina; quanto sia effettivamente grande il foglio di carta non ha importanza.
Tutto sommato non è un male, perché ci permette di stampare sulla pagina fisica della carta da stampante che possiamo comprare in negozio, senza badare alle dimensioni della pagina logica, perché la carta si può sempre mettere in una taglierina con cui eliminare l’eccesso.
Quindi tutto ciò che sta dentro la gabbia è importante, perché il piedino viene messo in posizione con la base della sua prima (e spesso unica riga)alla distanza \footskip dalla base dall’ultima riga di testo del testo vero e proprio o dell’ultima nota che compare nella gabbia di quella pagina.
Ecco questo è il punto; le note non sono composte insieme al testo, ma sono messe in posizione dopo che il testo è stato diviso in righe; la routine di uscita si occupa di tutto ciò, ma quando questa routine deve mettere il filetto fra testo e prima nota, sa che la prima nota deve essere distanziata della quantit“ specificata con \skip\footins dal testo sovrastante essa non sa se il filetto ci sia o non ci sia, non sa quanto sia spesso, semplicemente lo mette, perché le misure le ha già prese chi ha costruito la classe o chi modifica le impostazioni della classe; allora le istruzioni che la routine di uscita dà implicitamente all’utente che vuole personalizzare quegli spazi sono: “vuoi una decorazione fra testo e prima nota? bene definisci \footnoterule in modo che io non debba prendere misure, perché non so che decorazione vuoi mettere, quindi pensa ci tu e dammi un comando \footnoterule che inserisca materiale da comporre in modo verticale e che abbia altezza complessiva nulla”.
Questa è la logica che sta dietro tutto questo lavorio; LaTeX ti mette a disposizione una serie di comandi per misurare oggetti di vario genere (nel LaTeX Reference Manual sono descritti), quindi, dice la routine di uscita, pensaci tu e non farmi ripetere gli stessi conti ad ogni pagina con note da comporre.
Forse ora è più chiaro, forse non lo è, ma ci ho provato.
-
14 Giugno 2014 alle 5:33 #79785::
Ti ringrazio OldClaudio,
qualche lampadina mi si è accesa in testa, devo comunque dormirci su perchè la questione è complessa.Dico solo una cosa: non è quindi poi così sbagliato, per un principiante come me, immaginare la presenza di un “cursore immaginario”.
Mi spiego.
Da quel che ho capito, la routine di uscita sa che testo e prima nota sono separati da una distanza \footins.
Una eventuale decorazione (es. filetto) sarà piazzata nell’ambito di tale spazio.
Si tratta in pratica di un terreno già delimitato in partenza da solchi in cui muoversi con attenzione tra essi.
Supponiamo che in condizioni “standard”, quindi in assenza di personalizzazioni, chi abbia composto la routine abbia scelto di tracciare un filetto spesso 2 mm il cui margine inferiore sia ad X mm al di sopra della prima nota: nella mia testa quindi immagino che questa routine, in fase di creazione, porti questo cursore immaginario prima ad X, poi ad X-2 mm, quindi faccia agire tale cursore tracciando il filetto spesso 2 mm, cosicchè il suo margine inferiore coinciderà proprio con gli X mm predefiniti della classe.Volendo concedere una personalizzazione agli utenti, da quel che ho capito, il programmatore avrà pensato:
“io ti permetto di scegliere il tipo di decorazione, ma non ti sognare che cambi il modo in cui la inserisco (naturalmente non volendo stravolgere i risultati): la mia routine farà partire questo “cursore immaginario” sempre alla distanza X sopra alla prima nota (qualunque sia il valore di \footins), POI tu puoi decidere quanto eventualmente salire, se eventualmente tracciare il filetto, a che altezza tracciarlo nell’ambito di \footins, e così via, a patto che alla fine dei conti questo “cursore” torni sempre idealmente ad X per evitare casini”.Forse è banale, ma è l’unico modo che mi permette di “afferrare” anche il significato di quei \kern:
– programmatore: “in virtù di tutti i casini che ho fatto per misurare distanze, c**i e mazzi, consiglio a voi utenti di fare in modo che tale cursore torni sempre ad X anche con l’aiuto del \kern finale compensatorio: in tal modo eviterete che ci siano ‘rotture’ del documento proprio in quei punti e io potrò piazzare tranquillamente le mie note a \footins senza paura”.
Grazie ancora!
Andrea
-
14 Giugno 2014 alle 5:57 #79786::
Be’, in un certo senso il tuo modo di rigionare a cursori non è così strano, solo che quando si parla di cursore si pensa ad un oggetto di solito rappresentato con una sbarretta verticale, ma che potrebbe anche non essere rappresentato, che si muove slungo il testo fra una lettere a l’altra o alla fine del testo finora introdotto nel documento; cioè si associa il nome di cursore al “modo orizzontale” (LaTeXniamente parlando) perché si muovoe lungo la riga.
Per il problema dello spazio fra testo e prima nota, nel quale mettere una decorazione, volendo continuare a immaginare un cursore, questo si muove in “modo verticale”, non in “modo orizzontale”; quindi si muove in una maniera che è estranea al concetto solito di cursore, come siamo abituati a vederlo quando usiamo un editor qualunque.
-
14 Giugno 2014 alle 6:46 #79787::
Sì, esattamente!
Nella mia mente infatti, più che un cursore immagino un qualcosa di invisibile, in grado di spostarsi e puntare laddove lo richieda una determinata procedura.
Forse, più che cursore, bisognerebbe usare il termine “puntatore”, un qualcosa in grado di “puntare” appunto ad un determinato punto del foglio (un po’ come i puntatori di memoria, address:offset).Grazie ancora!
-
14 Giugno 2014 alle 14:50 #79788::
Ecco, ogni paragone ha i sui limiti; certo il concetto di puntatore sembra più adatto di cursore, ma entrambi si spostano a piacere/volere dell’utente; invece TeX procede sempre in un’unica direzione, perché legge ed esegue delle sequenze di istruzioni nell’oridne in cui sono codificate.
Quendao tu prepari un file .tex, prepari solo un testo con del mark-up, e l’interprete TeX non fa nulla, non lavora nemmeno, non l’hai nemmeno invocato. Quendo clicchi il pulsante dell’editor per eseguire la composizione, l’interprete TeX (in realtà si tratta sempre di pdftex, oppure xetex, oppure luatex, oppure uno degli altri programmi meno noti e meno usati) legge sequenzialmente il file .tex che gli hai dato in pasto, ed esegue da buon programma di calcolo esattamente quello che gli hai detto di fare tu stesso, oppure quello che i file di classe e i pacchetti di estensione gli dicono di fare. per quel che riguarda il famoso filetto di separazione tra il testo e la prima nota le cose vanno più o meno così:TeX ha composto i capoversi in una “galley proof” (bozza non impaginata); esamina le righe di questa galleu=y proof e vede se ci stanno nella paigna che sta mettendo insieme; quando ha riempito la gabbia del testo, ci aggiunge testaina e piedino e spedisce uori, nel file di uscita, questa pagina composta e toglie il materilate spedito fuori dalla galley proof.
Se una riga contiene un richamo di nota, TeX va a vedere il registro dove ha salvato quella nota; il registro contiene la nota già composta in righe. Tex misura l’altezza della nota, vede se ci sta nella pagina e se ci sta la mette in fondo alla pagina in costruzione accorciando lo spazio disponibile per il testo e per il separatore. Se non ci sta o se non ci sta tutta, fa calcoli terribili e difficili da raccontare in due arole epr decidere dove mettere al nota e se eventualmente la deve spezzare, oppure se deve rimeire la gabbia del tsto di spazio estensibile per giustificare verticalmente la pagina; insomma fa cose difficili, che qui non interessano.
Se si tratta della della prima nota, dopo aver scorciato lo spazio destinato al testo, lo scorcia ancora dello spazio di separazione poi esegue i comandi per il filetto, poi mette le righe della nota. Quindi evidentemente le operazioni che esegue sequenzialmente sono:
1) avanza dello spazio di separazione fra testo e prima nota;
2) decifra i comandi contenuti nella macro \footnoterule; nel tuo caso:
a) torna indietro dello spazio che ha già messo;
b) mette la decorazione scelta;
c) avanza di quanto basta per tornare nella posizione che aveva alla fine del punto 1).
3) mette le righe della prima nota.Va da sé che ho semplificato molto; si vede anche che il linguaggio che ho usato, “torna indietro”, “avanza” sembra far riferimento ad un puntatore; le cose non stanno proprio come ho detto (per esempio “torna indietro” non vuol dire di spostare nessun puntatore, ma di togliere un elemento dalla lista verticale che sta costruendo; ma queste sono cose che richiederebbero la lettura attenta dell circa 500 pagine del TeXbook…) ma credo che rendano l’idea, anche se fanno riferimento a un linguaggio adatto ai movimenti di un puntatore.
Per chi è informatico merita leggere il TeXbook perché contiene cose incredibili di astuzia e di arte programmatoria. Tuttavia averne qualche concetto non guasta per nessuno, ma andare a fondo nei minimi dettagli può essere eccessivo.
-
14 Giugno 2014 alle 22:22 #79789::
Ti ringrazio OldClaudio,
sei un grande,
da una parte son contento di aver “azzeccato” il ragionamento, anche se un po’ adattato, dall’altra sono sereno perché ho capito che le cose son talmente approfondite e complicate…che per me che son del mestiere conviene non farsi troppe domande e accettare che una data cosa “si fa così”.Grazie!
PS. Ma tu sei del mestiere, sei un informatico o sei solo un appassionato?
Ciao!
-
15 Giugno 2014 alle 5:46 #79790::
Sono un vecchietto che usa LaTeX da quasi 30 anni; sono in ingegnere, ma non sono un informatico; mi è sempre piaciuto sapere come funzionano le cose. Nel particolare ho imparato ad usare LaTeX in tempi così lontani che non esistevano ancora le guide, i forum, le documentazioni on line, e compagnia. In pratica ho dovuto capire come funziona LaTeX leggendone il codice; poi leggendo il TeXbook per capire come funziona ‘interprete, poi leggendo una quantità di cose che via via diventavano disponibili, poi scrivendo dei libri per i corsi che insegnavo al PoliTO, poi scrivendo classi e moduli di estensione; insomma mi sono fatto un po’ di esperienza da appassionato. Ora che sono in pensione da diversi anni mi considero solo un appassionato con una certa esperienza; ci sono persone che scrivono qui sul Forum che hanno una competenza e una conoscenza degli intimi misteri del sistema TeX molto maggiore della mia.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.