Risposte nei forum create
-
AutoreRisposte
-
::
Il consiglio migliore è quello di leggere la documentazione, perché le tue domande per lo più mostrano che ti manca qualche base.Allora dovresti sapere che ilcmando \chapter, come tutti i ocmandi di sezionamento contiene accetta due argomenti, ilprimo dei quali è facoltativo e se non vine specificato assume lo stesso contenuto dell’argomento obbligatori, il concetto è che i comandi di sezionamento da \part a \subparagraph channo la sintassi seguente (che ti esemplifico con \chapter)`\chapter[,titolo breve>]{titolo lungo}`dove il
è quello che viene scritto all’inizio del capitolo e il è quello che viene messo nell’indice e nelle testatine. Inoltre la rideifnizione di \chaptermark e di \sectionmark è globale, non specifico per un particolare stile della pagina, non contiene comandi condizionali di nessun genere e quindi ti stampa lo zero nella testatina Forse potresti aggiustare le cose con una ridefinizione di questo tipo:`\renewcommand{\chaptermark}[1]{%
\markboth{\ifnum\value{chapter}>0\thechapter\ \fi #1}{}}% tolti anche i due punti dopo il numero; magari una lineetta spaziata starebbe meglio
\renewcommand{\sectionmark}[1]{% #1 % ma perché vuoto? Anche le sezioni possono avere un titolo breve
}` Infatti l’indice compone da solo il titolo con \chapter*{\tocname} e mandando nelle testatine solo la parola contenuta in \tocname. Ma con la tua ridefinizione del \chaptermark il numero del capitolo è zero, perché \chapter* non numera i capitoli.Non dico che studiando a fondo la documentazione si diventi onniscienti e si risolvano questi problemi, ma studiare come funziona l’intero meccanismo di LaTeX serve appunto per non commettere gli errori che hai commesso (che tutti abbiamo commesso quando eravamo principianti; la nostra esperienza ci dice che non si raccomanda mai abbastanza di leggere e capire la documentazione, così si impara prima e non si fa la fatica che abbiamo fatto noi vecchi, quando 30 o 40 anni fa non disponevamo di nessuna documentazione…)
::
Il comportamento strano con lines-37 o =38 non riesco a replicarlo, anche perché, senza andare a leggere attentamente il codice di suftesi, e quello di geometry, non saprei dove mettere quell’impostazione.Tuttavia se con il tuo ultimo EMC si esegue la compilazione così come l’hai mandato, non appaiono underful vbox; se commenti da \normla font, fino alla riga che contiene geometry; le pagine lasche compaiono di nuovo; in questo secondo caso le impostazioni di geomery non vengono eseguite, ma \linespread viene usato in un punto in cui geometry, internamente a suftesi, ha già eventualmente impostato la geometria della pagina per supercompanct.
Per evitare tutto ciò, che effettivamente se non è un bug, è almeno un glitch ( ❗ ), devi procedere per altra via dentro a suftesi:
a) carichi suftesi senza opzioni dove lo carichi adesso; e metti \normalfont e \geometry{…, opzioni, …} tutto dentro l’argomento di \AtBeginDocument, in modo da ritardare la definizione della geometria della pagina quando il \linespread è già stato definito nel preambolo. Se poi, come nel tuo esempio non chiami il pacchetto geometri con le opzioni, ma usi solo \geometry con le opzioni dopo \begin{document}, dovresti avere la geometria della pagina ricalcolata con le nuove misure con il valore di \linespread usato nel preambolo e senza bisogno di ri-specificare \normalfont prima di \geometry.Probabilmente puoi mettere la seconda impostazione delle dimensioni con \geometry dentro il preambolo, ma anche questa dentro l’argomento di un secondo \ArBeginDocument, che accoda le nuove specifiche alle precedenti e le ultime sono quelle che valgono; così, concettualmente lasi nel preambolo tutte le impostazioni del documento e dentro l’ambinete document, nel copro del documento, metti solo quello che verrà comosto nel file di uscita.
Se non bastasse, il pacchetto etoolbox (che mi pare sia già stato caricato in suftesi, ti permette di usare altri hook per ritardare il codice, compreso un \AfterEndPreamble, che ti assicura che il suo codice ritardato sia eseguito nella seconda ed ultima parte di quanto viene eseguito quando viene espansa l’istruzione \begin{document}; le spiegazioni di questi hook sono ben fatte nella documentazione di etoolbox.
Il problema, quindi, non è tanto il glitch che giustamente lamenti, ma nell’uso ripetuto delle specifiche per geometry.
16 Febbraio 2020 alle 17:10 in risposta a: Alla ricerca dell’altezza perfetta (con geometry) #117270::
È vero che con il tuoe EMC vengono gli avvisi di Underful vbox.Tuttavia la cosa dipende dal fatto che \linespread viene usato solo se si specifica un qualsiasi font, di qualunque corpo, cosa che avviene solodurante l’esecuzione dell’istruzione \begin{document}. Però se \mettin \normalsize fra \linespread e geometri, il baco sparice; infatti`% !TEX encoding = UTF-8 Unicode
% !TEX engine = pdfLaTeX
\documentclass[
11pt,
]{book}
%\usepackage{scrextend}
\usepackage{lipsum}
\usepackage{cochineal}
\usepackage[fontsize=11.5pt]{scrextend}
\linespread{0.95}
\normalfont
\usepackage{geometry}
\geometry{
paperwidth= 140mm,
paperheight= 210mm,
textheight= 162mm,%159mm
textwidth= 100mm,
marginratio= 1:1,
ignoreall,
heightrounded
}\hfuzz=10000pt
\begin{document}
\lipsum\lipsum
\end{document}`non dà più l’errore.
::
Di fatto, @mattiaca, è quello che gli ho consigliato di fare, ma privatamente gli ho mandato il codice, perché lui vuole girare anche la didascalia insieme alla figura; Non solo ma il codice che gli ho mandato calcola più o meno da solo le dimensioni per mettere la figura nello spazio disponibile, che nella pagina del titolo del capitolo dipende dalla classe usata, dal formato della carta usata, eccetera. Il codice che suggerisci non ruota la didascalia; ci può stare, ma non va poi d’accordo con le figuredelle pagine successive inserite con l’ambiente sidewaysefigure del pacchetto rotating.Inoltre l”OT, come ho detto, usa sidewaysfigure per le figure delle pagine successive; cosa che va bene, salvo che di default questo ambiente ruota le figure con le rispettive didascalie in senso antiorario nelle pagine di destra, e in senso orario nelle pagine di sinistra, solo quando si compone twoside. Si può specificare un’opzione al pacchetto perché ruoti sempre in un verso solo, ma la documentazione di rotating non è aggiornata con il codice effettivamente contenuto nel pacchetto, quindi bisogna saper leggere i codice per sapere come fare, cioè quale opzione usare. Non è facile per un neofita gestire queste cose.
16 Febbraio 2020 alle 7:10 in risposta a: Alla ricerca del corpo perfetto (suftesi, microtype et al.) #117246::
Mi pare di ricordare di aver letto una cosa del genere nella tremenda guida scrguien in inglese. Di solito prima di usare pacchetti altrui, ne leggo il codice e li collaudo, ma con i file della collezione Koma Script è un po’ una manifestazione di masochismo (almeno per me), quindi mi limito a collaudare. Se funziona, OK, altrimenti non cerco nemmeno di capire che cosa ci sia che non va. È un atteggiamento snob? forse, ma mi risparmia un mucchio di tempo.
Ma mi pare di ricordare che venisse consigliato/imposto di usare scrextend solo quando si usa una classe diversa da quelle della collezione Koma Script.Devo dire che personalmente mi sono fatto un piccolo comando di due sole righe, col quale altero il corpo all’interno di un ambiente o un gruppo, o una scatola; di solito lo faccio er far stare blocchi di testo in teletype (che esclude la cesura) dentro margini precisi, alterando il copro di frazioni piccole o piccolissime, ma trovo che sia utilissimo — naturalmente se e solo se il font è continuamente scalabile.
Nel tuo caso invece alterare tutte le impostazioni compresi gli spazi, in relazione a tutti i corpi da \tiny a \Huge è decisamente preferibile.
::
Evidentemente puoi apportare le modifiche che vuoi con geometri.
Ti consiglio la lettura della Guida Tematica sul Page Design, così ti fai un’idea migliore di quello che si può fare e quello che è sconsigliabile fare.Mi permetto di suggerirti anche una via alternativa; componi in B5 e impagina mediante pdfpages in modo che ci sia due facciate per ogni faccia di un fogli A4 in panoramico. La formazione del fascicolo avviene nello stesso modo, ma sebbene il tutto si riduca un poco, si riducono sia i font sia i margini.
Non disprezzare i margini grandi, perché garantiscono che la lettura non sia faticosa a causa di righe troppo lunghe, nello stesso tempo sono utili anche a te, come rilegatore , per rifilare le pagine in modo conveniente, specialmente se sono 40 facciate, che andranno fronte retro quattro per foglio, il fascicolo piegato a metà ha il bordo esterno del foglio centrale che sporge in teoria di un millimetro rispetto al bordo esterno del foglio più esterno; quindi devi rifilare e per fare le cose bene devi rifilare più di un millimetro, anche nei bordi superiore e inferiore.
14 Febbraio 2020 alle 14:11 in risposta a: Alla ricerca del corpo perfetto (suftesi, microtype et al.) #117241::
Lo so che ho detto e ripetuto che i file della collezione Koma Script sono da evitare per mancanza di una buona documentazione; quella in tedesco forse lo è ma non conosco il tedesco abbastanza bene; quella in inglese è abbastanza mal fatta.Tuttavia c’è un pacchetto che con un unico comando ti imposta il corpo normale giusto a qualunque valore, anche 10.5pt se vuoi, ma pou specificare anche 3mm, o 15dd, o…
Non mi ricordo come si chiamai, perché, come diccevo, consultare la documentazione di komascript è una pena. ma l’ho incorporato in TOPtesi, per cui puoi copiare da lì. consiste in un solo usepackage e nelle realizzazione dell’opzione “corpo=”. Funziona alla grande, bene inteso solo con font continuamente scalabili; non funziona, per esempio coni font Computer Modern; non funziona con i font CM-Super; i primi nati per generare i font bitmapped con METAFONT, i secondi per rendere vettoriali i font CM latini e cirillici. Funziona anche con i Latin Modern, sebbene la scalabilità continua, segue una legge di proporzionalità la cui pendenza è costante a tratti (font ottici) e con i Latin modern, grazie ai corpi ottici, si ottengono certamente i risultati migliori. Funzona alal grande con gli altri font che non derivano da METAFOTN, e generalmente sono creati in un solo corpo; rimpicciolendo l’unico corpo i font di corpo minore risultano troppo esili e si possono perdere i dettagli più fini; ingrandeli i font appiaiono troppo neri. E questo succede con tutti i font.
Certo se in un formato piccolo tipo supercompact hai una gabbia per la quale il corpo 10.5pt vada meglio del corpo 11pt, credo che tu lo possa fare tranquillamente anche con un Cochineal, per esempio, ma il risultato va bene per il testo normale; probabilmente la cosa non cambia molto quando componi un titolo in corpo Huge, ma se scrivi una noticcina in corpo 5pt, vai nei guai comunque sia che usi il 10pt ingrandito normalmente a 11pt sia che tu prenda il 10pt e lo ingrandisca a 10.5pt. In entrambi i casi la nota in corpo5pt viene troppo esisle e con i tratti sottili ridotti quasi a niente.
::
Te l’ho detto, mettere solo immagini in un capitolo o in un’appendice è molto difficile da spiegare perché é difficile da fare.
Se vuoi, trovi il mio indirizzo di posta elettronica in una delle varie guide tematiche e mi mandi un link ad un sito da cuoi pe possa scaricare, in modo che io possa vedere se riesco a farti quell’appendice. Poi metterci anche non tutto il file della tua tesi, ma il main file con il preambolo, e il solo capitolo/appendice con in tuoi tentativi. Mandami il tutto (il link al tutto) e un messaggio di posta elettronica.
13 Febbraio 2020 alle 21:35 in risposta a: Modificare localmente lo spazio interparola con microtype #117238::
Io mi regolo in un altro modo Lascio che LaTeX faccia il suo lavoro, ma gli specifico localmente valori di tolerance maggiori di quelli di default; così`{\tolerance = 1000 Lorem ipsum…. \par}`Ovviamente ono ci scrivo dentro Lorem ipsum e quel che segue, ma il testo che fa i capricci; In questo modo posso aggiustare il valore1000 come voglio, arrivando fino a 9999 (oltre per LaTeX, da 10000 in poi si tratta di una tolleranza “infinita”) Quel particolare capoverso potrebbe avere qualche cesura in più ma scegliendo il valore più piccolo di \tolerance che eviti gli overful hbox, il risultato e generalmente ben accettabile; Volendo si può lavorare anche con \looseness-N, dove N di solito basta che valga 1; In questo modo il capoverso viene nella sua interezza allungato di una riga, a meno che la bruttezza del capoverso non peggiori troppo; il capoverso, dunque, deve essere sufficientemente lungo per poter ottenere dei buoni risultati.Il tuo metodo di moltiplicare localmente i parametri del font in uso con il comando che hi definiti, che ne specifica lo spazio interparola e il suo allungamento e accorciamento, funziona bene e non fa il tracking: i migliori book designer, come per esempio Robert Bringhurst dicono che chi fa il tracking per giustificare le righe, deve essere punito come un ladro di pecore; l’espressione viene dai tempi in cui l’abigeato in Inghilterra e nel domini di Sua Maestà Britannica veniva punito con l’impiccagione.
::
Non è mai conveniente usare la chiave scale=… specialmente quando giri le figure di 90 gradiÈ sempre preferibile usare le parole chave width e height mettendo il valore della larghezza o dell’altezza non in temini di millimetri o centimetri, o pollici, o quel che ti pare, purché LaTeX lo capisca, ma in termini di frazioni di larghezza (\textwidth} e altezza (\textheight) della gabbia del testo. Ma prima di farlo bisogna capire che cosa fa sidewaysfigure; eccolo spiegato alla buona
a) per prima cosa esso mette includegraphics e la didascalia dentro una scatola; nel far questo \textwidth e \textheight sono le grandezze valide all’interno della scatola e la larghezza è identica a quella della gabbia del testo, così come l’altezza, ma l’altezza veda della scatola che contiene figura e didascalia è quello che è in base alla figura e alle righe della didascalia,
b) poi sidewaysfigure ruota la scatola di 90 gradi, quindi la nuova scatola ha l’altezza e la larghezza scambiate rispetto a prima della rotazione.Perciò devi tenere presente questo fatto quando specifichi la frazione di altezza e di larghezza della tua figura. Non è una cosa banale da fare; quando io ti ho suggerito questa procedura nel precedente messaggio non sapevo che ruotavi le figure.
Perciò usa pure sidewaysfigure, ma mettile espressamente con il posizionamento [p] dentro i capitoli dove ne parli, usa \label e \ref per fare riferimento ai tuoi diagramma e non metterli nell’appendice.
::
In teoria si potrebbe notare qualche differenza nel codice, ma poi è difficilissimo vere delle differenze nel risultato; confronta due file già disponibili, per esempio quelli dei Latin Modern (che sono quelli di default con la codifica T1) con quello di URWGaramond per esempio, vedrai che i numeri non sono gli stessi, ma ricordati che quei numeri sono millesimi di un em, se ben ricordo, quindi 10 millesimi in più o in meno sono veramente difficili da vedere nel risultato finale. Io mi sono sempre “accontentato” dei file di configurazione di default e sono sempre stato contento. sia per le protrusioni sia per le espansioni/compressioni. Lo stesso vale per i comandi necessari per il tracking, anche se in teoria la differenza ci sarebbe, ma è difficilmente visibile a occhio nudo, meno che mai su uno schermo con una densità di pixel che generalmente non supera i 110pixel al pollice.
::
Sì, in effetti ala riga 187 del file comment.sty di Victor Eikout c’è quel codice, Ora ^^M rappresenta il codice ASCII del ritorno/fine di riga, ma probabilmente dalla fine del 2018, quando la codifica utf8 è diventata quella ufficiale anche per pdflatex, forse bisognerebbe cambiare quell’assegnazione, che assegna al carattere decimale 13, o esadecimale ^^0e (attento alle minuscole) a coi una volta corrispondeva la scrittura `\^^M un codice diverso;
prova a copiarti dal definizione dell’ambiente comment, dalla riga 181 alla riga 194 del file comment.sty, nel tuo preambolo; a prima vista mi sembra che quel codice non contenga nessun glifo @, quindi non hai bisogno di racchiudere quel codice nel tuo preambolo fra \makeatletter e \makeatother; poi prova a cambiare \la stringa \catocde `\^^M=12 in \catcode^^0e=12 e poi riprova a compilare.
Tieni present che il pacchetto comment.sty è del 1998, quindi è vecchissimo. personalmente io non l’ho mai usato, ance se mi rendo conto che un ambiente rende la marcatura del testo più efficace e visibile; Personalmente i brani di file sorgente che voglio escludere dalla compilazione, ma non li voglio cancellare dal file sorgente, o li commento con % (TeXShop: evidenzio il brano da commentare e poi o uso la voce del menu Source Comment, oppure premo command+shift+{ mentre per de=commentare o scelgo Uncomment da quel menù Source, oppure premo command+shift+} — queste scorciatoie sono molto comode). Oppure non uso i commenti ma racchiudo tutto il brano fra \iffalse e \fi. Se procedi in questo modo non hai bisogno di caricare il pacchetto comment.sty.
::
Benvenuto nel forumQuello che ti succede è normale, ma la cosa sfugge alla maggior parte degli utenti.
LA posizione degli oggetti flottanti o mobili, come figure e table, avviene seguendo delle regole tipografiche codificate dentro il nucleo di LaTeX e dentro la quasi totalità delle classi. Lorenzo Pantieri non è sceso nei dettagli perché, se vogliamo, si tratta di andare a cercare il pelo nell’uovo.
Però, nel tuo caso il “pelo” si rivela non una cosina da niente, ma di un baobab attraverso la tua strada.
Le regole tipografiche codificate sono molte e difficili di raccontare in poche parole. Nel tuo caso direi che la regola che costituisce il tuo ostacolo è che LaTeX non mette mai una figura dopo un titolo, quindi siccome nella tua appendica A non hai nessun testo, il poveretto (!) è costretto ad aspettare la fine dell’appendice per sputare fuori gli oggetti flottanti, le tue figure, che ha conservato nelle sue memorie interne.
Come risolvere? Ti indico due vie.
1) Devi innanzi tutto scrivere anche solo due righe di testo dopo l’inizio (il titolo) dell’appendice. Poi almeno la prima figura deve contenere i codici di posizionamento [!tb] in questo modo:`\chapter{Le figure del testo}
In questa appendice vengono raccolte alcune figure un po' ingombranti che non trovano posto nei capitoli dove sono citate.
\begin{figure}[!tb]
\includegraphics[…]{…}
\caption[…\{…]\label{fig:…}
\end{figure}`Contemporaneamente devi curare che la figura, compresa la didascalia non occupi troppo spazio verticale, diciamo solo l’80%, ma è indicativo.2) L’alternativa più pulita, secondo me, non è quella dell’appendice di sole figure, ma quella di mettere le figure all’interno dei capitoli dove ne parli; e di inserirle a piena pagina con il codice di posizione seguente`\begin{figure}[p]
…`Una figura a piena pagina di questo tipo esce subito nella prima pagina che NON cominci con un titolo di capitolo o di sezione, sempre che NON ci siano altre figure in coda che ne blocchino l’uscita.
::
Il file .log che hai allegato (in formato pdf, perché?) sembra incompleto, perché non contiene il dettaglio del tuo errore, sembra trocato prima.Tuttavia, permettimi un’osservazione; Sarebbe desiderabile che ogni file sorgente predisposto in passato rimanga sempre compilabile anche in futuro; tempo però che LaTeX non andrebbe avanti se questa forma di conservazione fremasse ogni sviluppo. Ma se leggi l’articolo do Frank Mittelbach su ArsTeXnica di aprile 2019 o di aprile 2018 (non ricordo bene in quale anno, anche se l’articolo l’ho tradotto in italiano io stesso) parla di “ritorno al passato; spiega come modificare qualche riga del preambolo per usare il nucleo di LaTeX com’era anni prima.
Personalmente io uso MAcTeX e lo aggiorno settimanalmente; l’ultima vola questa mattina, e non ho riscontrato nessun fallimento o errori strani; Non ho provato a compilare miei vecchi documenti di 20 o 30 anni fa, anche eprché in questo lasso di tempo li ho rivisti e ora il contenuto è lo stesso, meno qualche refuso che ho corretto, quindi non sono nemmeno in grado di ripescare qualcosa che ia davvero così vecchio e sul quale non abbia mai rimesso le mani. Mi spiace, perché potrei darti una mano migliore se se avessi ancora qualche vecchio file.
Ma il mio consiglio resta sempre quello di lavorare con l’ultima versione, speciamente ora che molte parti vengono sostituite con funzioni in linguaggio L3, che spesso e volentieri, essendo in grado di fare molto di più delle macro TeX e LaTeX tradizionali, talvolta sono però anche più delicate.
Vedi di trasmettere qui sul forum quelle poche righe di codice che contengono la riga 187; se poi alleghi non tutto il file .log in formato test, ma solo dove c’è il messaggio d’errore che hai segnalto con almeno 20 righe prima e, se ci sono, altrettante righe dopo.
-
AutoreRisposte