Risposte nei forum create
-
AutoreRisposte
-
25 Giugno 2012 alle 5:01 in risposta a: Concatenare file .tex multipli come unico file finale #75399::
Dr Spencer Reid” post=74633grazie per la risposta… anche se vedo che si è andati un pò off topic e ho dovuto leggere ben 3 pagine (2 e mezza per la precisione) per correttezza , per evitare risposte non pertinenti alla mia domanda 😉
io lascerò i file .tex dei capitoli nella stessa cartella, per una questione di comodità!
In realtà la prima risposta pertinente alla tua domanda era già tra le prime due 😉
Ciao
Tommaso
23 Giugno 2012 alle 5:34 in risposta a: Concatenare file .tex multipli come unico file finale #75396::lorenzo.pantieri” post=74596
Il punto della mia osservazione in ogni caso, non era tanto sul numero di file impiegati, ma sull’estensione. Dal mio punto di vista l’utente finale non ha la necessità di sapere cosa sia un [tt].sty[/tt]: per caricare le impostazioni può usare, come nel mio intervento precedente, uno o più [tt].tex[/tt].
Tommaso e io abbiamo discusso se sia meglio una struttura del tipo:
`\documentclass{…}
\usepackage{…}
\usepackage{…}
\usepackage{…}
\usepackage{impostazioni}
\begin{document}
\input{…}
\input{…}
\input{…}
\end{document}`
dove impostazioni.sty è un pacchettino (messo nella cartella di lavoro) che contiene impostazioni e comandi personali, oppure del tipo
`\documentclass{…}
\usepackage{…}
\usepackage{…}
\usepackage{…}
\input{impostazioni}
\begin{document}
\input{…}
\input{…}
\input{…}
\end{document}`
dove impostazioni.tex è un file (messo nella cartella di lavoro) che contiene impostazioni e comandi personali.L’unico vantaggio di avere il .sty al posto del .tex è che nel .sty non è necessario scrivere (eventuali) \makeatletter e \makeatother, ma ora che ci penso il gioco non vale la candela. Difficilmente l’utente avrà bisogno di quei comandi (che peraltro nell’Arte non spieghiamo). Se ne avesse bisogno, peraltro, scriverli non è questa gran fatica.
Tommaso, sono per modificare l’Arte consigliando la seconda soluzione. Così vengono ribaditi due principi:
a) l’utente “normale” non scrive i pacchetti, ma li usa;
b) i .sty non si modificano mai.La prossima revisione dell’Arte conterrà questa modifica.
Grazie,
L.E siamo alla modifica numero 62, Presidente 🙂
Ciao
Tommaso
22 Giugno 2012 alle 16:09 in risposta a: Concatenare file .tex multipli come unico file finale #75387::DirkPitt” post=74569
Ciò che non mi torna invece (torno a dire) è;Pensare di separare i pacchetti necessari per ogni capitolo si può fare, naturalmente, anche se occorrerebbero ore. Ma a che pro?
Dato che è la procedura migliore, se si può fare, va fatta 🙂
Chiedo perdono, ma non mi sembra di aver letto in nessun intervento di questo filone che sia la procedura migliore. Mi indicate il luogo esatto, per piacere? 🙄
Ciao
Tommaso
22 Giugno 2012 alle 16:04 in risposta a: Concatenare file .tex multipli come unico file finale #75386::DirkPitt” post=74550
[quote=”DirkPitt” post=74545]Non so se è deformazione professionale mia, ma sono abituato che scrivere codici minimali (ma sufficienti!) è sempre la cosa migliore e mi sembrava logico farlo anche con latex. Mi fido di voi se mi dite che non costa nulla caricare cose in più in fase di compilazione, ma sicuramente non è l’ottimo 🙂
È vero che usando un preambolo minimale per ciascun capitolo risparmieresti forse un paio di secondi nel processo. Ma ogni volta che aggiungi qualcosa dovresti assicurarti che non dipenda da qualche pacchetto che non carichi per quel capitolo: in tal caso la perdita di tempo sarebbe nettamente superiore al guadagno ottenuto in un paio di centinaia di compilazioni. Interrompere la compilazione, correggere il preambolo e ripartire richiede probabilmente più di due minuti.
Per non dire poi quando alla fine devi integrare tutti i preamboli in uno solo. No, non funziona. 🙂
Ciao
EnricoDiciamo che sto scrivendo un libro composto da 3 capitoli.
Tutti i capitoli contengono almeno una tabella e almeno una figura. Allora creo il seguente file
`
% file direttive-comuni.tex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{graphicx}
`Il primo capitolo contiene sicuramente un estratto di testo ”riempitivo” e una longtable. Allora creo un altro file:
`
%file direttive-cap1.tex
\usepackage{lipsum}
\usepackage{longtable}
`Il secondo capitolo contiene figure disegnate in pgf. Per cui:
`
%file direttive-cap2.tex
\usepackage{tikz}
`Il terzo capitolo usa due macro m1 ed m2:
`
%file direttive-cap3.tex
\newcommand{\m1}{….}
\newcommand{\m2}{…}
`Il documento finale sarà quindi
`
\documentclass{book}
\input{direttive-comuni}
%\input{direttive-cap1} eventualmente da decommentare
%\input{direttive-cap2}
%\input{direttive-cap3}\begin{document}
%\input{capitolo1}
%input{nonfatemeliscriveretuttie3}
\end{document}
`Poi dopo qualche mese devo aggiungere un quarto capitolo. Sfortunatamente esso non conterrà tabelle, per il resto gli bastano le direttive comuni. Potrei lasciare \usepackage{booktabs} nelle direttive comuni. Preferisco toglierlo da li e fare un nuovo file
`
%file direttive-comuni-1-2-3
\usepackage{booktabs}
`E quindi il main:
`
\documentclass{book}
\input{direttive-comuni}
%input{direttive-comuni-1-2-3} %lasciare commentato se compili solo il 4
%\input{direttive-cap1} eventualmente da decommentare
%\input{direttive-cap2}
%\input{direttive-cap3}\begin{document}
%\input{capitolo1}
%input{nonfatemeliscriveretuttie4}
\end{document}
`Quanto si complicano le cose con troppi pacchetti? Non lo so 🙂 Probabilmente non ne vale la pena (?)
Ciao[/quote]
Diciamo che stai procedendo nella direzione sbagliata. Io, al tuo posto, farei una cosa del genere:
`
\documentclass{book}
\input{direttive-comuni}
\input{direttive-comuni-1}
\input{direttive-comuni-1a} % decommentare la riga precedente se il pacchetto booktabs non serve
\input{direttive-cap1} % eventualmente da decommentare se il primo paragrafo ha bisogno solo di graphicx
\input{direttive-comuni-1.1} % per l'unico pacchetto in più del primo sottoparagrafo
\input{direttive-cap2}
\input{direttive-cap3}
\input{direttive-cap4} % se anche il terzo non vuole makeidx ma lo vuole il quinto\begin{document}
%\input{capitolo1}
%input{paragrafo2}
%input{paragrafo3}
%input{paragrafo4}
%input{paragrafo5}
%input{paragrafo6}
%input{capitolo2}
%input{paragrafo2}
%input{paragrafo3}
%input{paragrafo4}
%input{paragrafo5}
%input{paragrafo6}
\end{document}
`Trovo che in questo modo compilare anche una sola riga alla volta sia molto più facile, no?!
Fidati, ti stiamo dicendo che la tua strada è impercorribile. A meno che i due secondi di Enrico non ti facciano la differenza 🙂
Ciao
Tommaso
22 Giugno 2012 alle 15:57 in risposta a: Concatenare file .tex multipli come unico file finale #75384::cfiandra” post=74555
[…] dove impostazioni.sty è un pacchettino personale che contiene le impostazioni dei singoli pacchetti, i comandi e gli ambienti personali, e le impostazioni del documento.
Onestamente non vedo la necessità di un pacchetto per caricare le impostazioni. Io per la mia tesi ho creato una cartella “personalizzazioni” con due files: [tt]comandi.tex[/tt] e [tt]pacchetti.tex[/tt]. Come dice il nome in [tt]comandi.tex[/tt] ci sono i vari [tt]\newcommand[/tt] mentre in [tt]pacchetti.tex[/tt] i pacchetti che mi servono. Nel main richiamo con:
`
\input{personalizzazioni/pacchetti.tex}
\input{personalizzazioni/comandi.tex}
`
e il gioco è fatto.Ciao
ClaudioE che differenza c’è tra quello che hai fatto tu e quello che ho detto io? Due: la prima è l’estensione del file, la seconda è che tu carichi due file, io uno solo 🙂
Ciao
Tommaso
21 Giugno 2012 alle 19:20 in risposta a: Concatenare file .tex multipli come unico file finale #75373::DirkPitt” post=74540
Favoleggi. Leggiti con attenzione la sezione 3.14 dell’Arte e la pagina 11 dello stesso manuale.
Ciao
TommasoSi ma non mi pare risolva il problema. Nel file che chiamate impostazioni-tesi ci saranno inevitabilmente chiamate non necessarie a produrre un qualche capitoloX.
Io uso un preambolo unico dove carico tutti i pacchetti, anche se qualche macro la uso solo in qualche file. Ma francamente non capito bene la tua domanda.
Ciao
Orlando
[\quote]Invece hai capito benissimo e la tua soluzione (peraltro anche la mia) ha il problema che hai detto.
Ciao
Non ci siamo capiti. Guarda il codice qui sotto:
`\documentclass[…]{…}
…
\usepackage{impostazioni-documento}\begin{document}
…
\input{capitolo1}
\input{capitolo2}
…
\input{capitolon}\end{document}`
Nel file [tt]impostazioni-documento[/tt], che salverai con estensione [tt].sty[/tt] metterai tutte le definizioni di comandi e ambienti personali e le impostazioni dei pacchetti particolarmente configurabili, lasciando nel preambolo del documento principale solo le chiamate ai pacchetti per le codifiche, le lingue e poco altro.
Vuoi lavorare solo al primo capitolo? Commenti tutti gli altri [tt]\input[/tt] e ci lavori tranquillamente. Quando è a posto, lo commenti e decommenti il capitolo successivo da lavorare.
Nel file di impostazioni ci sono anche cose che non servono strettamente al primo capitolo? Che te ne importa, scusa? L’importante è che servano per il documento nel suo complesso: devi ragionare sul documento, non su ciascun capitolo. Se non servono strettamente per comporre il primo capitolo, sta’ sicuro che LaTeX le ignora e si prende quello che gli serve.
Ciascun capitolo comincia con un semplice [tt]\chapter[/tt] senza dover chiamare nessun pacchetto. Questo significa lavorare con codice pulito e in modo razionale.
Io sto scrivendo un libro lungo quasi 500 pagine, e qua e là uso un comando [tt]\latino[/tt] che mi sono definito per scrivere in latino. Non lo uso in tutti i capitoli, ma l’ho messo nel preambolo del documento in modo che quando serve LaTeX sa dove andarlo a cercare. Non vorrai mica che scriva la definizione di [tt]\latino[/tt] in ogni capitolo in cui ce n’è bisogno, no? Con LaTeX si fanno le cose in modo da dover fare i minori cambiamenti possibili. Metti caso che quel comando, che ho definito per produrre il proprio argomento in corsivo, non vada più bene e io voglia le parole latine in neretto: mi basta andare nel preambolo e fare UNA SOLA modifica anziché andare a modificare il comando in tutti i capitoli in cui lo uso. Nell’Arte si dice anche questo, nella parte sui comandi personali.
Ciao
Tommaso
21 Giugno 2012 alle 18:33 in risposta a: Concatenare file .tex multipli come unico file finale #75370::DirkPitt” post=74537Riguardo la questione sollevata, mi sono chiesto alcune volte qual è la maniera migliore di organizzare gli \usepackage nei documenti spezzati in più file .tex.
Cerco di spiegarmi:
se sto scrivendo la tesi e la logica suddivisione dei file è-capitolo1.tex
-capitolo2.tex
…
(ed i nomi sono significativi!)allora credo che questi file saranno prima compilati uno per uno, letti, corretti, rivisti e poi accantonati in attesa che siano completati gli altri. Sorge quindi il problema di quali pacchetti richiamare per la compilazione di ciascun sotto-file.
O forse non sorge e sono io che favoleggio 🙂Suggerimenti?
Ciao
Favoleggi. Leggiti con attenzione la sezione 3.14 dell’Arte e la pagina 11 dello stesso manuale.
Ciao
Tommaso
::egreg9″ post=74509
[quote=”egreg9″ post=74499]Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live
http://tug.org/pipermail/tex-live/2012-June/031757.html
I think the file
texmf-dist/doc/latex/lgrx/lgrenc.dfu
(for UTF8 Greek support in LGR font encoding) should rather be in the
TEXINPUTS path.Ciao
EnricoE dunque? Dovrebbe essere, ma non lo è, no?
Ciao
TommasoÈ solo per far notare che l’ha visto. Infatti Karl Berry ha risposto che metterà il file al posto giusto non appena sarà possibile (siamo nella fase in cui la 2012 è ferma per le ultime verifiche prima dell’uscita ufficiale). Il trucco di [tt]\input{…/…/…lgrenc.dfu}[/tt] non servirà più.
Ciao
Enrico[/quote]Ottima notizia, allora. Per ricapitolare, se tutto va in porto basteranno queste righe
`\usepackage[LGRx,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polutonikogreek,italian]{babel}`per scrivere in greco antico (traslitterato ε νον τρασλιττερατο 🙂 ) con [tt]pdflatex[/tt] e [tt]xelatex[/tt], e le righe
`\usepackage[LGRx,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[greek,italian]{babel}`per scrivere in greco moderno con gli stessi due programmi e le stesse modalità.
Naturalmente con XeLaTeX bisognerà impostare polyglossia, però. Ricordo che con XeLaTeX si può scrivere il greco traslitterandolo grazie al pacchetto lgreek.
[OT]
Segnalo anche un’altra buona notizia, da prendere con le dovute cautele: da quanto mi ha comunicato OldClaudio, anche il file [tt]babel.def[/tt] dovrebbe ricevere quella famosa modifica per non avere lo spazio indesiderato quando si scrive il latino con le quantità e il modo *normale*, diciamo.
Ovviamente il pacchetto newunicodechar e quelle poche righe di codice con cui ci si definisce il set di vocali lunghe e brevi risolverebbe ogni problema, ma come il mondo dei computer se la deve vedere con più di un sistema operativo, così LaTeX se la deve vedere con chi ha una tastiera italiana, e non può scrivere troppo facilmente rosā e rosă.
[/OT]
L’Arte verrà dunque semplificata. Meglio 🙂
Ciao
Tommaso
::MaurizioD” post=74508
Io sapevo che caricando siunitx bastava scrivere
`\num{12500}`
per avere i numeri spaziati ogni tre. Mi sembra più semplice.
Ciao
TommasoInfatti è così, ma come opzione predefinita siunitx applica il raggruppamento solo a numeri con 5 o più cifre. 1000, ad esempio, verrebbe scritto senza raggruppamenti. Lo scopo della riga con \sisetup è ovviare a ciò.
Bisogna capire se i numeri di quattro cifre possono stare così senza spazi in mezzo. Qual è la dottrina giusta?
Ciao
Tommaso
21 Giugno 2012 alle 9:41 in risposta a: Concatenare file .tex multipli come unico file finale #75367::Dr Spencer Reid” post=74514Leggevo l’arte di scrivere con latex […]
– come è possibile realizzarla? soprattutto il collegamento tra file… mi sembra un pò confusa e poco chiara 😕Mi sembra che nell’Arte la procedura sia chiarissima! Potresti, per piacere, dire dove e perché non ti è chiara?
Non è detto che tutti i file debbano stare nella stessa cartella.
Ciao
Tommaso
::egreg9″ post=74499Messaggio di oggi di Werner Lemberg sulla mailing list di TeX Live
http://tug.org/pipermail/tex-live/2012-June/031757.html
I think the file
texmf-dist/doc/latex/lgrx/lgrenc.dfu
(for UTF8 Greek support in LGR font encoding) should rather be in the
TEXINPUTS path.Ciao
EnricoE dunque? Dovrebbe essere, ma non lo è, no?
Ciao
Tommaso
::egreg9″ post=74497
[quote=”ansys” post=74494][quote=”MaurizioD” post=74493]Grazie per la risposta, ma c’è un problema.
Sulla riga relativa a:
`\sisetup{group-minimum-digits = 4}`ricevo un warning, ma non mi viene detto nulla, se non il numero di riga dell’errore. In effetti, i numeri di 4 cifre non vengono raggruppati (come se il comando non fosse riconosciuto).
Devi riportare l’errore che ti esce. Che distribuzione hai?
Ciao
OrlandoMacTex-2011, come editor uso Latexian (v1.2.2). Ho controllato se fossero disponibili aggiornamenti per siunitx, ma Tex Live Utility non ne ha trovati.
In allegato lo screenshot degli errori.
[attachment=361]Schermata06-2456099alle21.19.37.png[/attachment]
Ne approfitto per chiedere se la posizione delle chiamate \usepackage{} possa influire in qualche maniera su questo errore. È preferibile farle tutte all’inizio del preambolo ed in seguito definire i vari parametri? Sono alle prime armi, è evidente :roll:[/quote]
Suppongo che tu non abbia scritto \usepackage{siunitx}, perché di certo \sisetup è definito da quel pacchetto.Prova a riportare il tuo preambolo.
Ciao
Enrico[/quote]Io sapevo che caricando siunitx bastava scrivere
`\num{12500}`
per avere i numeri spaziati ogni tre. Mi sembra più semplice.
Ciao
Tommaso
::Alb” post=74496È meglio scrivere
[…] dell’“oggetto indeterminato di una intuizione empirica” […]
senza spazio tra l’apostrofo e le aperte virgolette, oppure
[…] dell’~“oggetto indeterminato di una intuizione empirica” […]
con uno spazio tra l’apostrofo e le aperte virgolette?
Grazie del suggerimento e ciao
AlbertoMeglio lo spazio sottile, se proprio apostrofo e virgolette collidono:
`[…] dell'\,“oggetto indeterminato di un'intuizione empirica'' […]`
E scrivi un’intuizione e non una intuizione.
Ciao
Tommaso
-
AutoreRisposte