Risposte nei forum create
-
AutoreRisposte
-
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).
::Perché non lo faresti?
E’ un caso molto particolare. Si tratta di un libro che contiene dei capitoli molto diversi. Il terzo è un testo liturgico, con sezioni e formattazioni particolari che mi sto inventando, tra cui i titioli di un lezionario… Sto usando il più possibile le sezioni standard …
altrimenti c’è una alternativa?
Se a te va bene, perche’ no? Come ti ho indicato funziona.
Ciao
Enrico
24 Maggio 2007 alle 22:52 in risposta a: Incompatibilità tra Classicthesis, mathtools e francese (!) #14708::Forse non ha niente a veder con il tuo problema ma chiamare babel con l’opzione french è equivoco, infatti puo’ caricare o frenchb o frenchle e credo che sia il primo dei due quello che fa pasticci con i : Credo pero’ sia possibile disattivare i : attivi quando si usa mathools ma al momento non trovo più dove l’ho letto.
Che io sappia babel non carica affatto frenchle (cioe’ le robe di Bernard Gaulle). Con le opzioni french, frenchb o francais carica sempre frenchb.ldf.
Ricordavo una faccenda del genere e infatti Morten aveva promesso di darci un’occhiata. Per ovviare all’inconveniente si deve caricare mathtools prima di babel. A questo punto, occorre caricare babel dopo classicthesis e sperare in bene.
Ciao
Enrico
24 Maggio 2007 alle 22:24 in risposta a: Incompatibilità tra Classicthesis, mathtools e francese (!) #14706::C’entra molto. Anche mathtools, come l’opzione francese di babel, rende attivo il carattere :, dandone ovviamente definizioni diverse. Prova questo:
`\documentclass{scrreprt}
\usepackage[french,german,english,italian]{babel}
\usepackage{classicthesis-ldpkg}
\usepackage[eulerchapternumbers,subfigure,beramono,eulermath]{classicthesis}
\let\babelcolon:
\usepackage{mathtools}
\begin{document}
\let:\babelcolonProva.
\end{document}`Ecco, se non altro ho capito il perché del conflitto! Ho compilato il tuo codice, ma purtroppo non funziona:
`! Missing \endcsname inserted.
\mathrel
l.27 \mph@setcol{ii:1}{\mph@nr}?
`
Credo che anche Classicthesis c’entri: infatti se compilo uno “standard”
`\documentclass{book}
\usepackage[french,german,english,italian]{babel}
\usepackage{mathtools}
\begin{document}
Prova.
\end{document}
`
non c’è alcun errore.Ringraziamenti perplessi,
LorenzoOccorre capire quale pacchetto causa l’errore. Dal messaggio direi che non e’ mathtools.
Ciao
Enrico
-
AutoreRisposte