- Questo topic ha 12 risposte, 7 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 5 mesi fa da
francesco.biccari.
-
CreatoreTopic
-
10 Aprile 2010 alle 10:19 #43970::
Ho letto da molte parti su internet dell’utilizzo di \include e \includeonly per spezzare documenti lunghi in più file. Tutti ne parlano dicendo “sono comodi”, ma non ho capito esattamente in cosa consiste questa comodità. Mi sembra che tenere tutto nello stesso file sia meno faticoso, a patto di avere un editor decente.L’idea che mi sono fatto (da non-esperto, non ho mai scritto niente di più di una trentina di pagine in Latex) è che siano una reliquia del passato che era utile quando compilare un file era molto più lento, ma con i computer di oggi siano superflui. Voi li usate? Mi sapreste dire se sono davvero utili, e che cosa rendono più facile fare?
Questo non con l’intento di aprire una polemica o una guerra di opinioni, ma per capire davvero se valga la pena di usarli o no. 😀
Grazie,
–federico
-
CreatoreTopic
-
AutoreRisposte
-
-
10 Aprile 2010 alle 10:47 #43971::
Ho letto da molte parti su internet dell’utilizzo di \include e \includeonly per spezzare documenti lunghi in più file. Tutti ne parlano dicendo “sono comodi”, ma non ho capito esattamente in cosa consiste questa comodità. Mi sembra che tenere tutto nello stesso file sia meno faticoso, a patto di avere un editor decente.
L’idea che mi sono fatto (da non-esperto, non ho mai scritto niente di più di una trentina di pagine in Latex) è che siano una reliquia del passato che era utile quando compilare un file era molto più lento, ma con i computer di oggi siano superflui. Voi li usate? Mi sapreste dire se sono davvero utili, e che cosa rendono più facile fare?
Questo non con l’intento di aprire una polemica o una guerra di opinioni, ma per capire davvero se valga la pena di usarli o no. 😀
Grazie,
–federicoDa non-esperto brevemente rispondo. 🙂 Sono utili? Dipende da quanto e cosa devi scrivere. Per documenti lunghi e articolati come può essere una tesi, un libro, un manuale, una rivista, eccetera, avere il materiale ordinato in cartelle, secondo logica, fa sì che il sorgente rimanga leggibile e che le varie parti del documento siano facilmente gestibili.
Per altre considerazioni ti rimando alle guide disponibili in cima alla pagina (nelle quali troverai qualcosa pure su \input{…}) e al parere degli esperti.
Benvenuto sul forum!
Ciao
Antonio
-
10 Aprile 2010 alle 10:50 #43972::
io lo trovo molto utile. quando scrivo qualcosa di lungo suddivido sempre il tex nei vari capitoli.
e’ molto piu’ comodo quando hai bisogno di trovare qualcosa, stesso principio adottato in qualsiasi linguaggio di programmazione. inoltre aiuta la fase di revisione e il lavoro collaborativo (oignuno puo’ lavorare su un file separato senza pericolo di sovrascritture di parti modificate da altri).
-
10 Aprile 2010 alle 11:44 #43973::
fa sì che il sorgente rimanga leggibile e che le varie parti del documento siano facilmente gestibili.
Cosa intendi? Mi fai un esempio di cosa risulta più facile da gestire? Non per essere polemico ma proprio non riesco a capire.
e’ molto piu’ comodo quando hai bisogno di trovare qualcosa, stesso principio adottato in qualsiasi linguaggio di programmazione.
Anche qui non capisco. Quando devo trovare qualcosa all’interno di un file io uso la funzione “cerca” del mio editor, e mi trovo più comodo a cercare del testo in un file solo che non all’interno di dieci file diversi. Quando mi devo spostare a breve distanza uso pagsu/paggiu o le frecce, e non cambia nulla se ho un file o dieci.
inoltre aiuta la fase di revisione e il lavoro collaborativo (oignuno puo’ lavorare su un file separato senza pericolo di sovrascritture di parti modificate da altri).
Scusa se mi metto a dare consigli non richiesti, ma secondo me se usi questo approccio per il lavoro collaborativo andrai incontro ad un mare di guai. Succederà prima o poi che due persone lavorano contemporaneamente sullo stesso capitolo, e allora sei fritto. Dividendo il file in più parti riduci la frequenza con cui incontri i problemi, ma non li elimini. Secondo me l’unica soluzione vera è usare un sistema di controllo versione (per esempio uno tra CVS, Subversion, Mercurial, Git).
-
10 Aprile 2010 alle 12:03 #43974::
Anche qui non capisco. Quando devo trovare qualcosa all’interno di un file io uso la funzione “cerca” del mio editor, e mi trovo più comodo a cercare del testo in un file solo che non all’interno di dieci file diversi. Quando mi devo spostare a breve distanza uso pagsu/paggiu o le frecce, e non cambia nulla se ho un file o dieci.
immagina di dover cercare una cosa di cui non sai il nome, tipo il terzo paragrafo nella seconda sezione del quarto capitolo.
Scusa se mi metto a dare consigli non richiesti, ma secondo me se usi questo approccio per il lavoro collaborativo andrai incontro ad un mare di guai. Succederà prima o poi che due persone lavorano contemporaneamente sullo stesso capitolo, e allora sei fritto. Dividendo il file in più parti riduci la frequenza con cui incontri i problemi, ma non li elimini. Secondo me l’unica soluzione vera è usare un sistema di controllo versione (per esempio uno tra CVS, Subversion, Mercurial, Git).
non e’ la soluzione definitiva, ma funziona con un po’ di comunicazione. se A dice a B di stare lavorardo sul cap. 2, B evitera’ di apportare modifiche a quel capitolo. I sistemi di controllo versione sono piu’ potenti, ma possono incorrere in problemucci quando applicati al TeX. sono nati per la programmazione e non per lunghi blocchi testuali, infatti, e sono piu’ macchinosi nel capire le differenze applicate in un testo.
-
10 Aprile 2010 alle 12:48 #43975::
fa sì che il sorgente rimanga leggibile e che le varie parti del documento siano facilmente gestibili.
Cosa intendi? Mi fai un esempio di cosa risulta più facile da gestire? Non per essere polemico ma proprio non riesco a capire.
Intendo semplicemente dire che per me è più facile lavorare su documenti corposi, dividendoli in sub-file .tex.
`\documentclass[a4paper]{book}
\usepackage[italian]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
%altri pacchetti e comandi personalizzati
\begin{document}
\input{capitoli/introduzione}
\input{capitoli/obiettivilavoro}
\input{capitoli/materialimetodi}
eccetera
\end{document}`
Mi pare abbastanza ordinato, rispetto a: http://freepdfhosting.com/f3d40ef4ae.pdf, che tra l’altro è pure un documento “semplice”, di poche pagine, senza personalizzazioni, senza bibliografia, o altro. Faccio meno fatica seguendo il primo metodo.Probabilmente c’è chi si trova meglio a lavorare con migliaia di righe di codice (dove c’è un po’ di tutto: testo, comandi, dichiarazioni, figure, tabelle, eccetera) in un solo file; non è il mio caso. 😉
Ciao
Antonio
-
10 Aprile 2010 alle 14:03 #43976::
HL’idea che mi sono fatto (da non-esperto, non ho mai scritto niente di più di una trentina di pagine in Latex) è che siano una reliquia del passato che era utile quando compilare un file era molto più lento, ma con i computer di oggi siano superflui. Voi li usate? Mi sapreste dire se sono davvero utili, e che cosa rendono più facile fare?
In effetti, \include e \includeonly servono se hai un calcolatore molto vecchio.
Invece \input è utile per suddividere il materiale. Se hai un libro con 20 capitoli, è più comodo avere un .tex per ogni capitolo che avere un unico gigantesco .tex. Per la stessa ragione, se hai un preambolo molto lungo è meglio avere un .sty personalizzato con tutte le impostazioni che stipare tutto in un unico .tex. Non è una questione di velocità di ricerca o di compilazione, è proprio una questione di ordine del sorgente, di fruibilità anche futura del codice e, in ultima analisi, di organizzazione del lavoro.
Cerca nell’Arte, qualcosa trovi.
Ciao e benvenuto sul forum,
L.
-
10 Aprile 2010 alle 14:14 #43977::
fa sì che il sorgente rimanga leggibile e che le varie parti del documento siano facilmente gestibili.
Cosa intendi? Mi fai un esempio di cosa risulta più facile da gestire? Non per essere polemico ma proprio non riesco a capire.
Un semplice esempio: immagina di dover invertire l’ordine di due capitoli (se gli argomenti trattati sono sostanzialmente scollegati non è del tutto improbabile che si possa verificare un’eventualità del genere). Se hai tutto in un documento devi selezionare tutto un capitolo stando attento a non sbagliare, tagliare, metterlo al posto giusto, fare la stessa cosa con tutto l’altro capitolo. Se hai i capitoli suddivisi in file che includi nel principale, nel file principale devi semplicemente invertire i due righi che contengono `\input{}’.
Di certo questo non è un problema che ti cambia la vita, ma ti fa capire quali possono essere i vantaggi del suddividere il lavoro in più file. Inoltre se non hai un computer molto potente il tuo editor di testo ti potrebbe ringraziare perché non lo fai lavorare su un unico file molto grande (anche se difficilmente i file di testo puro raggiungono dimensioni spropositate) ma solo su pochi molto più piccoli (penso sia difficile che si debbano avere aperti tutti i capitoli contemporaneamente).inoltre aiuta la fase di revisione e il lavoro collaborativo (oignuno puo’ lavorare su un file separato senza pericolo di sovrascritture di parti modificate da altri).
Scusa se mi metto a dare consigli non richiesti, ma secondo me se usi questo approccio per il lavoro collaborativo andrai incontro ad un mare di guai. Succederà prima o poi che due persone lavorano contemporaneamente sullo stesso capitolo, e allora sei fritto. Dividendo il file in più parti riduci la frequenza con cui incontri i problemi, ma non li elimini. Secondo me l’unica soluzione vera è usare un sistema di controllo versione (per esempio uno tra CVS, Subversion, Mercurial, Git).
Su questo sono d’accordo con te. Per esempio, stanno scrivendo un manuale per Ubuntu con LaTeX e per permettere a tutti i collaboratori di scrivere contemporaneamente stanno utilizzando bazaar (https://code.launchpad.net/ubuntu-manual)
-
10 Aprile 2010 alle 14:24 #43978::
Oppure, immagina di avere un documento con 20 capitoli, in cui il decimo si chiama “Introduzione alle funzioni” e il ventesimo “Introduzione alle distribuzioni”. Ti accorgi che c’è qualcosa da modificare nel capitolo 20. Puoi cercare nell’editor
`\chapter{Introduzione alle d`
oppure (più comodamente) aprire il relativo .tex e iniziare a correggere.Oppure ancora, di avere un libro con tutte le sue parti (frontespizio, dedica, capitoli interni, …) e di volerne preparare un altro. Se hai il sorgente strutturato in tanti .tex, fare la conversione è un gioco da ragazzi, più comodo che sforbiciare un unico gigantesco .tex con il rischio di dimenticare qualcosa, o di sforbiciare qualcosa che non andava tolto.
Ciao,
L.
-
10 Aprile 2010 alle 16:25 #43979
-
10 Aprile 2010 alle 22:06 #43980::
In effetti, \include e \includeonly servono se hai un calcolatore molto vecchio.
So che questa idea va per la maggiore ma credo che passeranno anni prima che si avveri.
Compilare documenti di cento pagine o più, ricchi di immagini e tabelle, richiede in una
macchina abbastanza recente almeno 10 secondi.
(La precompilazione del preambolo può essere usata, che io sappia, solo da
AUCTeX e da latexdaemon e comunque aiuta relativamente)Ci sono momenti in cui si ha bisogno di compilare con una certa frequenza
(per esempio equazioni complicate, tabelle non banali, controllo del layout) e in quei casi
aspettare 20 o 30 secondi diventa a dir poco irritante.Finché non ci saranno editor con funzionalità di preview e composizione
veramente avanzate (Emacs + AUCTeX, LyX) che potranno risolvere almeno
i primi due punti detti prima (equazioni complicate e tabelle non banali)
la situazione credo non cambierà e l’uso di include sarà sempre molto comodo.Ciao ciao.
Fra
-
10 Aprile 2010 alle 22:24 #43981::
In effetti, \include e \includeonly servono se hai un calcolatore molto vecchio.
So che questa idea va per la maggiore ma credo che passeranno anni prima che si avveri.
Compilare documenti di cento pagine o più, ricchi di immagini e tabelle, richiede in una
macchina abbastanza recente almeno 10 secondi.
(La precompilazione del preambolo può essere usata, che io sappia, solo da
AUCTeX e da latexdaemon e comunque aiuta relativamente)Ci sono momenti in cui si ha bisogno di compilare con una certa frequenza
(per esempio equazioni complicate, tabelle non banali, controllo del layout) e in quei casi
aspettare 20 o 30 secondi diventa a dir poco irritante.Finché non ci saranno editor con funzionalità di preview e composizione
veramente avanzate (Emacs + AUCTeX, LyX) che potranno risolvere almeno
i primi due punti detti prima (equazioni complicate e tabelle non banali)
la situazione credo non cambierà e l’uso di include sarà sempre molto comodo.La composizione “visiva” di un’equazione complicata o di una tabella non banale si fa su un file a parte che carichi il minimo di pacchetti.
Ciao
Enrico
-
10 Aprile 2010 alle 22:49 #43982::
La composizione “visiva” di un’equazione complicata o di una tabella non banale si fa su un file a parte che carichi il minimo di pacchetti.
Hai ragione Enrico, infatti ho un po’ barato nel mio post precendente.
Per ovviare al problema prima usavo strumenti quali latexeqedit che lanciavo dal mio editor.
Attualmente invece TexMakerX mostra l’anteprima di parti di sorgente selezionate
e quindi non ho più bisogno di uno strumento esterno 🙂Ritengo però che questo non sia sufficiente per considerare obsoleti
i comandi include e includeonly. Quando si va di fretta è fastidioso perdere
tempo a compilare capitoli che tanto non controlleremo, senza contare
che chi si è affacciato al mondo LaTeX da poco, per esempio i vari tesisti,
ha un bisogno fisiologico di compilare spesso i proprio documenti 😀Inoltre secondo me non bisogna sottovalutare neanche il fatto che
usando includeonly si possono lasciare i riferimenti inalterati.
A volte può risultare utile avere l’indice completo, la bibliografia completa
e avere solo i capitoli che interessano (correzioni di singoli capitoli al
proprio relatore di tesi per esempio).Ciao ciao.
Fra
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.