Risposte nei forum create
-
AutoreRisposte
-
24 Giugno 2016 alle 10:34 in risposta a: L’eterna lotta contro le pagine bianche a fine capitolo #11727::
Sì, lo so benissimo che cosa fa oneside e che cosa dovrebbe far openany. Il punto è che senza preambolo è difficile dargli dei consigli validi.
Invece mi stupirebbe se volesse usare oneside per avere tutte le pagine con la gabbia spostata a sinistra come nelle pagine dispari di twoside.
La tua osservazione, Gustavo, è corretta, ma continuo a stupirmi che volesse le pagine oneside con il margine interno minore del margine esterno; anche stampando oneside, si suppone che quanto si stampa sia piuttosto informale, per il quale una “legatura” a spirale o ad anelli in un raccoglitore, richiederebbe casomai un aumento del margine interno.Quello che ho capito io dal messaggio dell’OT è che gli da fastidio la pagina bianca tra un capitolo e l’altro, quando il rpimo finisce su una pagina dispari. La tipografia vule così. Punto, non ci sono altre discussioni da fare.
Si potrebbe obbiettare che nella front matter e nella back matter l’impostazione di default è openany, per cui i capitoli iniziano anche sulle pagine pari. Ma quei capitoli, oltre a non essere numerati, sono parti tecniche del libro, non il corpo del documento, nel quale è tassativo che i capitoli (numerati) inizino sempre in una pagina dispari.
24 Giugno 2016 alle 8:52 in risposta a: L’eterna lotta contro le pagine bianche a fine capitolo #11724::
La tipografia vuole così; mi pare strano che l’opzione openany non ti “corregga” questo comportamento, ma può dipendere dalla classe o dai pacchetti che hai caricato. Mi stupisce che oneside ti sposti la gabbia del testo; di solito stampndo da un lato solo la gabbbia del testo rimane centrata. Di nuovo può dipendere dalla classe che usi e dai pacchetti che hai caricato.
Un patch (una pezza) molto rozzo potrebbe essere quello di ridefinire il comando \cleardoublepage (usato da \chapter) in modo che sia solo equivalente a \clearpage.
Un modo meno rozzo, sarebbe quello di ridefinire il comando \chapter.Il modo più corretto è quello di lasciare le cose come stanno, perché la tipografia vuole che sia così.
::
Se ben ricordo, tu usi un Mac; quindi usi l’applicazione TeX Live Utility.app per aggiornare; da poco tempo è prorpio il programma strutturale tlmgr che deve essere aggiornato prima di aggiornare qualsiasi altro pacchetto; TeX Live Utility.app te lo richiede espressamente e non procede se prima non aggiorni l’infrastruttura.
::
Suppongo che tu sappia leggere la documentazione dei pacchetti che usi, compreso gregoriotex; casomai te lo ricordo; apri un terminale, ci scrivi dentro il comando texdoc gregoriotex poi premi il tasto Invio; ti si apre una finestra dove puoi leggere la documentazione.
Ciò fatto, vai al paragrafo 2.2.8 e leggi tutte le indicazioni per definire ed usare i simboli barrati A, V e R.Sarà lungo leggere quella documentazione; contiene tutto lo scibile su gregoriotex; e siccome gregoriotex è un insieme di pacchetti molto complesso, anche la documentazione è molto ocmplessa. L’indice gerale all’inizio e l’indice analitico alla fine aiutano nella navigazione, ma bisogn prendere un po’ di dimestichezza nell’usare questa complessa documentazione, come occorre prendere dimestichezza nel redigere i file gabc, e via di questo passo.
::
Quasi corretto, salvo che la prima frase ti viene numerata con il numero zero…:shock:
Io farei così:`\newcounter{versetto}
\setcounter{versetto}{0}
\newcommand\versetto{\par\refstepcounter{versetto}\textsuperscript{\arabic{versetto}}\,}`in modo che il comando \versetto prima incrementa il contatore, poi scrive il numero a esponente. Ma \versetto (e qui devi decidere tu) prima si assicuar di iniziare un nuovo capoverso (\par) e dopo aver inserito il numerino mette uno spazio fine, per non avere il numerino attaccato all’iniziale maiuscola del nuovo capoverso. Se non ti interessa numerare i capoversi, ma le singole frasi, togli \par; se non ti importa che il numerino sia attaccato alla prima lettera che lo segue, togli \,Così è un filino più automatico; nota \refstepcounte ti permette di mettere un \label{etichetta} dentro alla frase numerata con adeguata etichetta, in modo che tu possa usare il comando \ref{etichetta} per riferiti al numero del versetto e \pageref{etichetta} per riferirti al numero della pagina dove si trova il versetto. Ovviamente l’etichetta deve essere univoca per ogni versetto in tutto il documento.
::
Mi sono riferito alle tabelle, ma vale anche per le figure o interi capitoli.
Tuttavia, ti confesso, io ho sempre usato il metodo \includeonly + \include, riservando \input solo all’introduzione nel flusso di elaborazione di file decisamente secondari o che non possono venire inseriti mediante \include.
Sono sempre riuscito ad evitare di fare tabelle troppo grandi; basta pensarci prima e una grande tabella può spesso essere evitata con alcune tabelle piccole, oppure con una enumerazione strutturata.
Per il resto, gli inconvenienti descritti dall’autore del pacchetto subfiles a me non hanno mai dato fastidio.
Tieni presente che quando (ri)compilo la guida Introduzione all’arte della composizione tipografica con LaTeX contenente 30 capitoli, sei indici analitici, e un numero elevato di disegni e di tabelle, più qualche fotografia, per un totale di circa 800 pagine divisi in tre tomi, ho sempre usato \includeonly e \include, senza dovermi addormentare davanti al calcolatore per aspettare che finisca il suo compito; infatti ci mette un po’ meno di 30 secondi per essere compilato sul mio Mac, ma raramente lo compilo per intero, ma compilo solo i capitoli che necessitano di correzioni o di modifiche, finite le quali compilo il tutto.
::
Intanto hai specificato cinque colonne di tipo X, mentre il corpo della tabella ne contiene solo quattro.
Nel caso delle celle con le parole più spaziate, agginugi \raggedright; non è che la tabela sia bellissima, ma quattro colonne in una tabella larga \textwidth sono decisamente strette: la giustezza \textwidth può ragionevolmente valre 120mm, quindi ogni colonna è larga 30mm compresi gli spazi bianchi ai lati. Con colonne di 30 mm c’è poco da fare se non comporre in bandiera, ma il margine destro non giustificato potrebbe essere sgradevole. Questo codice funziona abbastanza bene, ma si notano le celle non giustificate.`% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}
\usepackage{booktabs,tabularx}
\newcommand*\ang[1]{\ensuremath{#1^\circ}}\begin{document}
\begin{table}
\caption{Confronto tra cella di riferimento e piranometro}
\label{tab:3} \bigskip\begin{tabularx}{\textwidth}{XXXX}
\toprule
& \textbf{Cella di riferimento} & \textbf{Piranometro} & \textbf{Confronto} \\
\midrule
Scopo &\raggedright Misura della quota di irraggiamento convertibile in energia elettrica & Misura dell'intera radiazione solare & \\
\midrule
Errori di misura & Errore >5\% per inclinazione superiore a \ang{50} & Errore < 5\% fino a \ang{80} & La cella di riferimento sottostima la risorsa solare disponibile \\ \midrule Irraggiamento globale su piano orizzontale & Non misurabile & Misurabile &\raggedright Il piranometro può misurare l'irraggiamento sia su superficie inclinata che orizzontale \tabularnewline \midrule Mismatch Spettrale & Alta variabilità, incertezza >5\% & Bassa variabilità, incertezza entro l'1\% & \\
\midrule
Comparazione delle misure & Le misure della cella di riferimento possono essere comparate solo con misure acquisite da celle con tecnologie simili & Le misure acquisite dal piranometro sono sempre comparabili & L'utilizzo dei piranometri garantisce la comparabilità delle misure acquisite su diversi siti \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}`Un consiglio; quando invii del codice cerca di inviare un esempio minimo compilabile, come quello che ti ho allegato io; chiunque deve poterlo copiare e incollare in un nuovo file .tex, salvarlo con il nome che crede, e compilarlo senza perdere tempo a scoprire quali pacchetti sono necessari e senza dover definire nuovi comandi. L’esempio minimo compilabile deve contenere tutto il minimo indispensabile per mettere in evidenza il problema lamentato.
::
Il metodo subfiles serve per compilare pezzi difficili del documento come entità a se stanti, importando il preambolo del mainfile; una volta a punto, compilando il mainfile il solo codice “difficile” viene usato durante la compilazione, ma viene usato sempre non c’è un meccanismo per escluderlo.
Per escludere i subfiles io userei l’opzione draft e un comando apposito; infatti l’opzione draft imposta la grandezza \overfullrule ad un valore di 5pt,mentre quando l’opzione draft non è in vigore \overfullrule vale 0pt; basta quindi testare se \overfullrule è o non è maggiore di zero; perciò nel main file il scriverei:`\documentclass[…,draft]{classe}
…
\begin{document}
…
\ifdimen\overfullrule=0pt \subfile{sottofile}\fi
…
\end{document}`In questo modo quando e solo quando draft non è attiva, il file subalterno viene usato e compilato. Evidentemente questo non ha nessuna effetto sul sottofile in se stesso. Siccome non ho collaudato il codice, non so se l’opzione draft espressa fra le opzioni della classe del mainfile produca effetti indesiderati quando si compila il file subalterno. Credo di no, ma caso mai faccelo sapere, perché esisterebbe un altro modo semplice per liberarsi dall’uso di draft, che però resta comunque il più semplice.
::
Forse esiste un pacchetto che lo fa già, ma la soluzione è semplice se ti basta una cosa manuale, un comando da mettere all’inizio di ogni fraz=se da numerare; difficile per una cosa automatica. In ogni caso, anche la prima potrebbe essere fuori portata di un principiante, non di un utente con un minimo di esperienza a definirsi nuovi contatori e nuovi comandi.
Tutta la teoria che ti serve per realizzare quello che vuoi si trova nella guida tematica Il LaTeX Reference Manual commentato, liberamente scaricabile dalla sezione Documentazione di questo forum. Si tratta di definire tre cose:
1) un nuovo contatore, diciamo [tt]versetto[/tt]
2) un comando che incrementi il contatore di una unità e ne scriva il valore come se fosse l’apice usato per le note, diciamo [tt]\versetto[/tt].
3) un comando per riportare a zero il contatore se non ritieni che potresti aggiungere il contatore [tt]versetto[/tt] alla reset list di un altro contatore gerarchicamente superiore; per riazzerare a mano potresti definirti il comando [tt]\resetversetto[/tt].
Devi solo usare comandi di base del linguaggio LaTeX, quindi la guida che ti ho indicato ti serve proprio per approfondire, se non li conoscessi già, i comandi di base con le loro particolarità.
Non ti scrivo io i tre comandi, perché non impareresti niente se ti fai fare le cose (semplici) dagli altri. Per le cose complicate è un’altra storia.:smile:
::eugenio92″ post=106878Caro OldClaudio,
ci ho provato ma non riesco proprio a far funzionare il pacchetto abstract. Non e’ neanche installato nella mia versione di texlive, che alternative posso usare?
Forse hai una installazione TeXLive/Debian? oppure ti sei instatlato una TeXLive di base?
La TeXLive completa dispone del pacchetto abstract in`/usr/local/texlive/2016/texmf-dist/tex/latex/abstract/abstract.sty`Per le macchine Windovs cambia gli slash in backslash e sostituisci [tt]/urs/local/[/tt] con [tt]C:\ [/tt]
Ma se è vero che hai una texlive priva di abstract, hai la “prova provata” che non hai una installazione completa.
Io, fossi in te, provvederei a installarmi una distribuzione completa di TeXLive. Oggi hai scoperto che ti manca abstract, domani che ti manca ncccomma, un’altra volta che ti manca…, eccetera. Con una installazione completa non ti manca niente.
::
@Dorian, non usare mai preamboli scritti da altri che usano pacchetti di cui non conosci l’origine e le funzionalità.
Per esmpio:`\usepackage{amssymb,amsmath,amsthm,amscd,amsfonts,mathtools}`contiene il richiamo al pacchetto amsfont, che non serve perché quai font sono già richiamanti da amssymb; inoltre sei sicuro di comporre diagrammi commutativi” se sì, bne altrimenti amscd non ti serve.
Per esempio:`\usepackage{color}`casomai usi xcolor, ma non serve perché ci pensa tikz.
Per esempio:`\usepackage{multirow`non è da usare mai, beamer o non beamer; ci sono modi più corretti per inserire oggetti che occupano più celle in verticale, in particolare il metodo migliore è quello di non usare in nessuna tabella oggetti che impegnano più celle in verticale; questo è specialmente vero in una presentazione con beamer, visto che la schermata è piccola e può contenere solo tabelle piccole.
Per esempio:`\usepackage{eso-pic}`che ha delle difficoltà con beamer che rende fragili molti comandi; visto che carichi tikz e che @cfiandra ti ha detto come usarlo per lo sfondo, usa quella via.
Per esempio:`\usepackage{ifxetex,ifluatex}`servirebbero se avessi un file sorgente che fosse possibile comporre sia con pdf(la)tex sia con xe(la)tex sia con lua(latex) che richiedono alcune impostazioni diverse, in particolare quelle che riguardano i font perché xetex e luatex gestisocno i font OpenType, che pdftex non può gestire; ma tu carichi i font lmodern con l’apposito pacchetto e questi servono solo per pdflatex; beamer, poi, di suo userebbe font diversi, senza grazie, e per usare con pdflatex+beamer questi font dovresti specificare che si tratta di “professionalfonts”.
Per esempio:`usepackage{qrcodes}`a cosa ti serve? il pacchetto serivrebe per codificare jyperlink in quei codici a quadratini che vengono oggi usati spesso su molti prodotti e sono ua estensione dei codici a barre bidimensionale; vengono letti con dispositivi hand-held come smatphone e simili, ma… Se sicuro che qualcuno voglia leggere da lontano con il suo tablet o smartphone un codice QR inserito nella tua presentazione beamer?Ecco, non ho scritto tutto questo per il gusto di criticarti, ma per farti toccare con mano l’importanza di sapere quello che si sta facendo con i programmi del sistema TeX; per sottolineare l’importanza di documentarsi circa ogni pacchetto che viene invocato; per evitare di caricare pacchetti inutili, perché potrebbero causare conflitti che producono poi errori difficili da scovare; perché caricando pacchetti già caricati dalla classe o da altri pacchetti si potrebbero specificare opzioni incompatibili, eccetera.
::
Sul Mac, TeXShop, il suo editor di default, può essere configurato altrettanto bene, tanto che io lo uso non solo per gregoriotex, ma anche per altri job per i quali ho bisogno di usare lo shell escape.
Tuttavia mi pare di avere letto che con la distribuzione TeXLive 2016, l’uso di luatex per convertire i file gabc in file gtex non sia più necessario attivare l’opzione shell escape; confesso di non aver verificato espressamente questo fatto.
Con Ubutu e TeXLive/Debian forse non è così, ma con l’installazione di TeXLive 2016 ufficiale potrebbe funzionare anche su Ubuntu.
::
Stai facendo un po’ di confusione?
[tt]babel[/tt] con l’opzione italian serve per scrivere in italiano; per esempio per scrivere Capitolo invece di Chapter, per quando inizio un nuovo capitolo con il comando \chapter.
È vero che quell’opzione di babel definisce alcuni shortcuts per facilitare l’immissione dei caratteri che mancano dalla tastiera italiana, per esempio [tt]’””[/tt] permette di inserire le doppie virgolette alte (quelle che spesso chiamiamo inglesi), visto che per inserire il backtick con la tastiera italaiana bisogna intrecciare le dita usando contemporanieamente il tasto Alt e alcuni tasti del tastierino numerico; con un portatile senza tastierino numerico bisogna intrecciare ancora di più perché bisogna usare contemporaneamente anche il tasto Fn…Ma… ho il sospetto che tu non unsi un preambolo adatto per l’italiano; questo preambolo dovrebbe essere di questo tipo`\documentclass[opzioni]{classe}
\usepackage[T1]{fontnenc}% per usare font che usano segni speciali e letttere già accentate non presenti fra i caratteri ASCII
\usepackage{lmodern}% font conformi alla codifica T1
\usepackage[utf8]{inputenc}% per immettere con la tastiera ogni possibile carattere, anche quelli che richiedono l'uso del tastierino
\usepackage[italian]{babel}% per gestire le lingue; in questo caso l'italiano
% altri pacchetti indicando solo quelli che si usano veramente
\begin{document}`
Usando la codifica utf8, naturalmente, bisogna che il tuo editor salvi il file con quella codifica — oggi tutti o quasi gli editor moderni usano quella codifica per impostazione predefinita, ma è meglio verificare ed eventualmente impostare l’editor perché la usi.
Usando font codificati con la codifica T1, disponi delle virgolette caporali. Se non usi font con quella codifica ottieni i segni spagnoli…
Usando babel con l’opzione italian, se attivi le scorciatoie (comando \setactivedoublequotes nel preambolo dopo aver caricato babel), oltre a disporre delle varie funzionalità legate alle doppie virgolette alte diritte (che possono servire a molti scopi, tranne che a inserire le virgolette alte) disponi anche delle sequenze “< e "> che oltre a inserire le virgolette caporali, tolgono eventuali spazi dopo le virgolette aperte e prima delle virgolette chiuse.Letture consigliate:
1) L’Arte di scrivere con LaTeX che, se non l’hai già fatto, si scarica dal link contenuto nella sezione Documentazione di questo forum.
2) babel-italian che si legge direttamente dal tuo calcolatore, aprendo una finestra comandi, terminal, prompt dei comandi, comunque si chiami ocn il tuo sistema operativo, scrivendoci dentro il comando texdoc babel-italian, eseguendo il comando mediate la pressione del tasto Invio” e, infine, leggendo questa documentazione nella finestra che si apre automaticamente.
3) la documentazione di ogni pacchetto di cui non conosci in dettaglio le funzionalità.
::
Sì, certo; la classe report ha già definito l’ambiente abstract; mentre la classe book richiederebbe un pacchetto esterno.
D’altra parte è lecita la domanda se un libro abbia bisogno di un riassunto; un rapporto/relazione molto probabilmente ne ha bisogno, anche perché viene letto da persone con diversi interessi, e quindi alcuni hanno bisogno di leggere un sommario tale da capire se il contenuto della relazione sia essenziale, o se bastino le poche cose riassunte nel sommario.
Però ci si può domandare perché la classe book disponga anche dei comandi di “supersezionamento” \frontmatter, \mainmatter e \backmatter mentre la classe report non ne dispone.
Io in certe circostanze non potrei fare a meno di questi supersezionamenti, per cui preferisco sempre usare la classe book; ciò non toglie che io abbia scritto una classe per tesi di laurea basata sulla classe report, nella quale, però ho definito io i comandi di suersezionamento.
Perché dunque questa alternanza di classi simili e nello stesso tempo molto diverse?
direi che i motivi sono questi.
1) un libro è molto più strutturato di un rapporto; non è inusuale in un libro trovarsi di fronte ad una parte iniziale formata da diverse strutture: occhiello, pagine del titolo, retrofrontespizio con le informazioni legali, magari una dedica; forse una presentazione, spesso una introduzione, sempre l’indice, utili gli elenchi delle tabelle e delle figure; la nomenclatura o la lista dei simboli è spesso necessaria.
2)La parte centrale non differisce molto da quella di un rapporto, salvo, forse nel nuero die capitioli.
3)La parte finale contiene la bibliografia, spesso divisa per argomenti in diverse bibliografie tematiche; spesso l’indice analitico; e queste sono parti presumibilmente presenti anche in un rapporto, ma possono essere precedute da una o più appendici, note finali ed altre sezioni, spesso molto ingombranti.Attualmente il comando \frontmattter imposta la numerazione romana, ma è uno sfizio di altri tempi; o meglio una necessità dei tempi andati quando non esisteva la tipografia elettronica e la parte iniziale veniva composto dopo aver composto la parte centrale; quindi per non dover rinumerare questa parte per tenere conto della parte iniziale, quest’ultima veniva numerata in modo autonomo.
Oggi numerare la parte iniziale con numeri romani è una cosa non necessaria, e che richiederebbe di ridefinire lo stile delle pagine al fine di evitare i numeri romani in tondo minuscolo, veramente molto poco romani. Io mi ridefinisco sempre il comando \frontmatter perché usi le cfre arabe, e ridefinisco il comando \mainmatter perché non ricominci da uno, sempre in cifre arabe.Ma le cose sostanziali dalla parte iniziale e finale sono queste.
1) In entrambe queste parti anche se sono impostate l’opzioni twoside e openright, i sezionamenti a livello di capitolo possono iniziare su pagine di qualunque parità.
2) I capitoli e le sue parti interne non vengono numerati nemmeno se si usano i comandi NON asteriscati.
3) tutti i comandi di sezionamento dai capitoli fino alle sue parti minime interne vanno a finire nell’indice generale senza bisogno di artifici; così come le testatine vengono riempite con le stesse modalità che si usano nella parte centrale, senza bisogno di usare \markboth e \markright. Solo i capitoli iniziati con \chapter* non vanno a finire nell’indice; questi capitoli asteriscati, ovviamante, devono essere sufficientemente brevi da non avere bisogno di sezionamenti interni.Secondo me queste sono caratteristiche delle due classi decisamente importanti, molto più importanti del fatto che dispongano dell’ambiente abstract. Sulla base di queste differenze e poche altre (per esempio le impostazioni predefinite: book twoside, report oneside; ma esplicitando le opzioni opposte le due classi possono produrre documenti molto simili) si deve scegliere se usare book o report.
Per le tesi generalmente le classi si appoggiano alla classe book, ma secondo me è una scelta non adatta; ovviamente dipende dal tipo di tesi, tuttavia… Ecco perché la classe per tesi che ho definto, pur appoggiandosi sulla classe report, contiene come sua particolarità i comandi di supersezionamento, da usarsi, appunto, a seconda del tipo di tesi.
Ho scritto questi pensieri per indicare a @eugenio92 i ragionamenti che bisogna fare per scegliere una classe; a quel punto la domanda sull’abstract diventa superflua perché avrà già scelto con ragione di causa.
-
AutoreRisposte