Risposte nei forum create
-
AutoreRisposte
-
31 Maggio 2007 alle 7:26 in risposta a: Difficoltà con interfootnotelinepenalty e raggedbottom #14822::
Se devi stampare un libro d’arte (nel senso ampio della parola), sì.
Con trucchi di questo genere, è possibile fare in modo che il richiamo alla nota spezzata vada un po’ più in alto o un po’ più giù, in modo da evitare questo inestetismo.
Se proprio non ce la fai, almeno che la seconda parte della nota sia sulla pagina affacciata, cioè non occorra girare pagina per leggerla.
Ciao Enrico, grazie per i tuoi suggerimenti, preziosissimi come sepre. Alla fine ho optato per non intervenire sul paramentro interfootnotelinepenalty (LaTeX mi sembrava davvero in difficoltà con quella soluzione), modificando leggermente qualche frase dei paragrafi “problematici” (sono in fase di revisione finale dello scritto). Il risultato è che ora non ho più alcuna nota su due pagine!
La revisione è la parte più difficile, ma anche più affascinante. Risolvere grandi problemi di impaginazione con piccole modifiche è un’arte complicata, che però dà soddisfazioni.
È un lavoro (un po’) certosino, e LaTeX riserva addirittura più “sorprese” di Word (spero che nessuno si offenda…): mi è capitato -giuro- di eliminare qualche parola e di avere che il paragrafo risultante fosse addirittura più lungo (l’avevo sentito dire da Mittelbach sull’ultimo numero di ArsTeXnica, e non ci volevo credere).
L’algoritmo di composizione dei capoversi è una meraviglia e permette grandi libertà purché si scrivano capoversi abbastanza lunghi.
Anche le note a margine danno qualche problema: penso che siano carine (“danno vitalità alla pagina”, dice Brighhurst) e anche utili, ma quando si fanno delle modifiche (anche piccole) al documento, rischiano di andare fuori dal bordo veriticale della pagina, e sono necessari opportuni aggiustamenti, stressanti come quelli di un software WYSIWYG.
Le note a margine sono, in certi libri, molto belle. Ma è ovvio che sono complicate da gestire: poco spazio per la giustificazione, problemi con la disposizione sulla pagina, …
Insomma, un documento del tutto “elastico”, nel quale non debba essere fatto alcun aggiustmento in sede di revisione finale, è forse un “concetto asintotico”, al quale avvicinarsi il più possibile (con LaTeX), ma impossibile da raggiungere al 100%…
Nessun software può, al momento attuale, evitare di lavorare sulla forma definitiva, se si desidera un prodotto finale di alta qualità. Il computer non ha gusto, fa solo ciò per cui è programmato: e le variabili, in tipografia, sono troppe e troppo varie perché si possa tener conto di tutte con un programma. Se guardi in giro per le librerie, ti accorgi facilmente di come la maggior parte dei libri stampati al giorno d’oggi sia di qualità infima per quanto riguarda la tipografia.
Ma stiamo andando OT.
Ciao
Enrico
31 Maggio 2007 alle 7:15 in risposta a: Formula spezzata su + righe/problemi con le parentesi graffe #14857::Elimina quei \left e \right che sono inutili.
A dire il vero è TeXnic Center che mi inserisce \left e \right quando clicco sulla graffa sinistra e destra nella barra dei mathematical symbols…
Cambia quelle preferenze. Adesso capisco perché tanto spesso ci sono quei \left e \right del tutto superflui e, spesso, dannosi. 👿
Mai usato TeXnic Center prima delle ultime due settimane, lo trovo veramente terribile.
Ciao
Enrico
30 Maggio 2007 alle 20:39 in risposta a: Formula spezzata su + righe/problemi con le parentesi graffe #14854::Dear all,
vi sottopongo come mio solito un quesito: ho una formula lunga che devo spezzare su più righe e quindi utilizzo multline o align o split… il problema è che nella prima riga scrivo una parentesi graffa che chiudo solamente in una riga successiva e Latex me lo segna come errore!
Come fare?
Vi riporto qui sotto un esempio.
Grazie in anticipo, O.`\begin{multline*}
\Omega=\left\{(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),\\
(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),\\
(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(6,1),(6,2),(6,3),(6,4),(6,5),(6,6)\right\}
\end{multline*}
`Elimina quei \left e \right che sono inutili.
Ciao
Enrico
30 Maggio 2007 alle 20:37 in risposta a: Difficoltà con interfootnotelinepenalty e raggedbottom #14820::Ponendo
`\interfootnotelinepenalty=9999`
la situazione migliora. Tuttavia, come dici, trovo che la soluzione migliore sia proprio lasciar stare questo parametro: in questo modo LaTeX sembra molto più a suo agio, nel riempire le pagine, e il risultato è davvero uniforme e gradevole.Effetto collaterale: ho due note spezzate in due pagine. Ma è davvero così grave, secondo te, che una nota a piè pagina sia spezzata in due pagine?
Se devi stampare un libro d’arte (nel senso ampio della parola), sì.
Quando hai la versione definitiva, puoi provare a vedere se, accorciando o allungando una coppia di pagine affiancate, il problema si risolve. Il comando \enlargethispage serve proprio a questo: i comandi
`\enlargethispage{-\baselineskip}
\enlargethispage{\baselineskip}`
rispettivamente accorciano o allungano di una riga la pagina in cui compaiono. Puoi provare anche con \looseness=1 per allungare di una riga un capoverso abbastanza esteso: va dato, per esempio, alla fine del capoverso, prima della riga vuota. È un parametro locale al capoverso in cui compare, quindi il suo effetto non si propaga.Con trucchi di questo genere, è possibile fare in modo che il richiamo alla nota spezzata vada un po’ più in alto o un po’ più giù, in modo da evitare questo inestetismo.
Se proprio non ce la fai, almeno che la seconda parte della nota sia sulla pagina affacciata, cioè non occorra girare pagina per leggerla.
Ciao
Enrico
30 Maggio 2007 alle 15:42 in risposta a: Difficoltà con interfootnotelinepenalty e raggedbottom #14818::Se una nota a piè pagina continua nella pagina successiva, questo è un segnale di fallimento del progetto tipografico.
Così Robert Bringhurst, nel suo classico Gli elementi dello stile tipografico. Convinto di questo, ho modificato il preambolo del mio documento (che ha una ventina di note a piè pagina in tutto, la maggior parte di poche righe, un paio più lunghe -una ventina di righe), in questo modo:
`\documentclass[…]{scrreprt}\usepackage{classicthesis-ldpkg}
\usepackage[…]{classicthesis}
\usepackage[bottom]{footmisc}\raggedbottom
\interfootnotelinepenalty=10000
`
Noto però che ora LaTeX fa una gran fatica nel riempire le pagine correttamente: non potendo più spezzare le note su due pagine, ci sono pagine che non sono riempite uniformemente: date due pagine una di fianco all’altra, càpita che una delle due sia più “lunga” (nel senso verticale) di un paio di righe dell’altra, e l’effetto si nota benissimo ed è sgradevole.Ho provato a modificare un po’ il testo, ma ho visto che accorciando qualche capoverso di una riga (o anche due o tre) il problema si presenta lo stesso: esistono coppie di pagine non riempite uniformemente (chiaramente, non mi sto riferendo al caso delle ultime due pagine di un capitolo!).
Se elimino l’opzione
`\raggedbottom
`
le pagine vengono riempite uniformemente, ma i paragrafi delle pagine “incriminate” sono distaccati da spazi verticali bianchi esagerati: inaccettabile. Non ho mai visto LaTeX annaspare così. Avete idea di dove eventualmente sbaglio e quali soluzioni posso adottare?Non invio un documento minimale perché il problema si presenta due volte in un documento piuttosto lungo, ed è difficile riprodurlo.
Proverei con \interfootnotelinepenalty=9999. Dare una penalità infinita non è una buona idea. E forse lascerei stare quel parametro, a meno che non sia proprio necessario lavorarci su in sede di revisione finale.
Anche un uso appropriato di \enlargethispage può aiutare, naturalmente agendo su entrambe le pagine affacciate.
Ciao
Enrico
::Sto provando così
`\usepackage[bottom,flushmargin]{footmisc}
\footnotemargin=1em
\interfootnotelinepenalty =10000
\makeatletter
\let\orig@makefnmark\@makefnmark
\def\@makefnmark{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi}`e mi sembra di avere dei risultati soddisfacenti. Mi spiegheresti il significato delle varie parti della magia?
Il comando \@makefnmark viene usato per comporre il numero della nota sia nel corpo del testo che prima della nota al piede. Sfrutto il fatto che nel corpo del testo il comando è usato in modo orizzontale normale, nel quale il test \ifinner risulta falso, mentre per comporre il numerino prima della nota è usato in una \hbox, dove \ifinner è vero.
Dunque definisco il comando \orig@makefnmark in modo che abbia il significato originale di \@makefnmark e ridefinisco quest’ultimo. Da qualche parte di footmisc c’è il comando che compone il numero in testa alla nota al piede che è qualcosa come
`\hbox to{\@makefnmark\hss}`
doveè una dimensione che non ci riguarda. Quindi il numerino è in una scatola orizzontale larga , all’inizio, e lo spazio rimanente è bianco. Con la modifica, il comando viene espanso come
`\hbox to{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi\hss}`
e, siccome \ifinner risulta vero, ciò che si ottiene è
`\hbox to{\hfill\orig@makefnmark\thinspace\hss}`
Qui il comando \hfill annulla \hss, perché produce uno spazio espandibile “più infinito” di \hss, ma non annulla \thinspace.Ciao
Enrico
::Sto provando così
`\usepackage[bottom,flushmargin]{footmisc}
\footnotemargin=1em
\interfootnotelinepenalty =10000
\makeatletter
\let\orig@makefnmark\@makefnmark
\def\@makefnmark{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi}`e mi sembra di avere dei risultati soddisfacenti. Mi spiegheresti il significato delle varie parti della magia?
Il comando \@makefnmark viene usato per comporre il numero della nota sia nel corpo del testo che prima della nota al piede. Sfrutto il fatto che nel corpo del testo il comando è usato in modo orizzontale normale, nel quale il test \ifinner risulta falso, mentre per comporre il numerino prima della nota è usato in una \hbox, dove \ifinner è vero.
Dunque definisco il comando \orig@makefnmark in modo che abbia il significato originale di \@makefnmark e ridefinisco quest’ultimo. Da qualche parte di footmisc c’è il comando che compone il numero in testa alla nota al piede che è qualcosa come
`\hbox to{\@makefnmark\hss}`
doveè una dimensione che non ci riguarda. Quindi il numerino è in una scatola orizzontale larga , all’inizio, e lo spazio rimanente è bianco. Con la modifica, il comando viene espanso come
`\hbox to{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi\hss}`
e, siccome \ifinner risulta vero, ciò che si ottiene è
`\hbox to{\hfill\orig@makefnmark\thinspace\hss}`
Qui il comando \hfill annulla \hss, perché produce uno spazio espandibile “più infinito” di \hss, ma non annulla \thinspace.Ciao
Enrico
::E’ possibile mettere una nota a pie’ di pagina subito dopo il nome dell’appendice? Mi spiego: se volessi scrivere ad esempio “Appendice D1” dove 1 sarebbe ovviamente la nota e l’ambiente appendix, come potrei fare? Ho provato con vari tentativi ma tutti miseramente falliti. Probabilmente latex considera questa evenienza IMPROBABILE e io stesso devo ammettere che ho cercato altre soluzioni alternative ma forse in questo caso specifico avrebbe senso una tale operazione.
In LaTeX standard non esiste alcun ambiente appendix.
`\appendix
\chapter{Pippo}
…
\chapter[Pluto\footnote{Nota}]{Pluto}
…`
Ciao
Enrico
::ok, pero’ non riesco ad intervenire sulla distanza tra la nota e il suo numerino. Ho provato ad inserire uno spazio sottile e va gia’ molto meglio. Esiste un modo piu’ elegante o almeno un sistema per farlo introdurre in automatico prima del testo di ogni nota?
Sostituisci la riga corrispondente
`\def\@makefnmark{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi}`
Ciao
Enrico
29 Maggio 2007 alle 9:43 in risposta a: inputenc, latin1, ISO-8859- 1, kile: lettere accentate #14804::Ragionando (magari sto delirando):
kile è già in codifica ISO-8859-1 (l’ho letto su uno dei posto precedenti e affermato da e.vavassori)
ubuntu è un misto (un misiot come si direbbe nel mio dialetto) fra ISO-8859-1 e utf8…Quindi io non capisco più un tubo…
facendo
`ivan@ivan-desktop:~$ printenv | grep LANG
LANG=it_IT.UTF-8
LANGUAGE=it_IT:it:en_GB:en
`quindi l’encoding di tetex è utf-8…ma io vorrei cambiare in ISO-8859-1…piano piano risolverò l’enigma: come si fa a dire a tetex di mettersi in codifica ISO-8859-1?
TeX è indipendente dalla codifica. Se Kile usa ISO-8859-1, basta specificare nel preambolo del tuo documento LaTeX
`\usepackage[latin1]{inputenc}`
Ciao
Enrico
::mmm…. enrico, non ho capito…
ho provato a scrivere quello che hai suggerito con e senza il \! e non mi è cambiato nulla…
Non guardi abbastanza bene. La prima volta non l’avevo messo e la piccola differenza si nota. È vero che sapevo dove guardare. 🙂
e perchè hai messo il [t]?
Il [t] serve per dire che il contenuto dell’ambiente “aligned” deve essere allineato secondo la linea di base della riga superiore. Puoi vedere che succede usando [c] (che equivale a non metterci niente) o .
e soprattutto…. perchè non mi ha dato errore? non doveva essere qualcosa tipo [numero]?
Ti aspettavi un errore? E perché mai? Guarda che mi offendo. 😀 😉 (Nota: non sono sveglio prima delle sei per risponderti, sono in un fuso orario a -7 dall’Italia. Ancora per poco.)
Ciao
Enrico
::stavo stimando una funzione, perciò avevo scritto una cosa del tipo
f(x) < ......... __ <......... __ <........ __ <........ __ <........ allineando i "<" con align. il fatto è che in alcune righe dovrei adnare a capo, tipo f(x) < ......... __ <........ __ <........+ ___+........ __ <........ __ <........ + ___ +........ __ <........ ad ora sono andato a capo manualmente, e mi chiedevo se c'era un modo di usare split o chissà cos'altro senza rinunciare all'ambiente align. ( i "_" sono spazi vuoti).
-
AutoreRisposte