[RISOLTO] Iniziamo a programmare

  • Creatore
    Topic
  • #90285
    Up
    0
    Down
    ::


    Ciao, ho deciso che è giunto anche per me il momento di imparare a programmare da me pacchetti e classi 🙂 ohhh.

    Bene.

    Mi armo di curiosità e pazienza e leggo una volta il bel documento di Claudio (Introduzione alla creazione di file di classe) e scarico quello ufficiale (clsguide) e quello di Enrico (Appunti di programmazione in LaTeX e TeX).

    Passa un po’ di tempo e dimentico tutto (applicazione: zero, sul serio… messo in parte).

    L’altro giorno, non ricordo perché, dopo aver finito di scrivere un paio di documenti con la fedele Arte (di Lorenzo) sotto mano (e le documentazioni dei vari pacchetti, sotto video). Decido che sì, almeno una volta mi farebbe piacere leggerla tutta (l’Arte) da capo a coda. E così faccio. Successivamente scarico la nuova versione… e ricomincio la lettura dall’inizio per apprezzarne le differenze, le novità e per vedere se riesco a dare qualche contributo (ovviamente minimo) al testo trovando qualche errorino o simili (ovviamente di battitura…) e qualcuno lo trovo (ma non lo segnalo finché non l’ho finita se no rischio lo spam e credo faccia più piacere avere un documento unico con tutte le note).

    A un certo punto comincio a creare un documento in stile Arte, leggo la documentazione (arsclassica e classicthesis) e ci metto tutti i pacchetti che mi servono di solito, così, giusto per vedere le compatibilità, le differenze ecc. Provo del testo… qualche problemino lì, qualcuno là… credo di averli risolti e mi ritengo soddisfatto… ma… tutta sta roba ogni volta?! noo!!

    Mi ricordo che era giunto il momento di iniziare a programmare ma non si era mai realizzato… ebbene, sia!

    Stampo e rileggo la guida di Claudio, evidenziandola, annotandola e componendo il mio primo documento “libro.cls” che (dopo un po’ di aggiustamenti e la scoperta che a pag. 7 riga di codice 112, manca una “s”) funziona alla grande.

    Gasato a mille mi dico che se è solo per provare facciamoci sta abbinata classe-pacchetto con la struttura dell’Arte modificata (di pochissimo, Lorenzo, non volermene…) e l’aggiunta di un tot di pacchetti, senza pensare se mi servirà mai…giusto per capire se lo stadio zero l’ho compreso.

    Nel frattempo stampo la guida di Enrico e clsguide (che le ho sotto mano ora ma non ho ancora finito…cap. 1.5 per il momento :-)).

    Scrivo il mio bel codice commentato, errori, poi errori e poi ancora un po’ di errori fino a che, capisco (…ok…credo di capire!), correggo e “funziona”.

    Felice?! Certo, ma… sto “ma”, sempre in mezzo si infila… vabbè… Guardo il documento composto e noto che ha dei margini osceni stirati verso l’alto, e con le testatine quasi schiacciate in testa alla pagina… qualcosa non torna…nel modello da cui ho preso il tutto funzionava ed era bello… mi pare di non aver fatto altro che riprodurre la struttura di quel documento in una classe e un pacchetto… quindi ben prima di “programmare”! Come mai?! Ho pensato a problemi con (che va sempre caricato per ultimo) e per questo o fatto caricare il mio pacchetto (dentro la classe) prima della chiamata alla classe stessa (visto che arsclassica lo richiama). così, tra l’altro, tutti i pacchetti sono caricati anche, quasi, nello stesso ordine. E allora cosa?!

    Lo chiedo a voi, con due premesse. Se volete commentare il senso dei pacchetti è gradito ma ho semplicemente ammucchiato cose che ho usato nel tempo con le quali avevo fatto un template sul quale volta per volta commentavo o aggiungevo le cose ad hoc per quel documento specifico che stavo componendo (e anche per questo vorrei cominciare a fare un po’ di classi e pacchetti… era un lavoro brutto e… brutto :-)), quindi so che molte delle scelte di abbinamenti di pacchetti saranno infelici… volevo solo fare una prova per vedere se il livello “zero” lo avevo colto.
    In secondo luogo, se ritenente sia il caso correggete, altrimenti suggerite, o ancora scrivetemi “ciccio, studia ancora un po’ e vedrai che risolvi da solo”… mi interessa capire e imparare e, non sapendo, mi rimetto a voi per valutare la strategia migliore per progredire 🙂

    Nel frattempo… vado avanti con la guida di Enrico 🙂

    Grazie, come sempre a tutti voi e in particolare a chi perderà un po’ del suo tempo per me 🙂

    In allegato il .dtx (nel file .zip visto che il .dtx non l’ho potuto caricare :-)), il .tex minimo di prova che riproduce l’errore (che non produce “errori” ma non produce l’effetto desiderato :-)) e quello base (senza i miei pacchetti), che non lo riproduce (l’effetto indesiderato).

    [attachment=818]dispensa.zip[/attachment]
    [attachment=817]prova.tex[/attachment]

    [attachment=816]EsempioOK.tex[/attachment]

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #90286
      Up
      0
      Down
      ::


      Complimenti per il risultato davvero molto bello.
      Premesso che non sarei nemmeno lontanamente capace di creare un file così, mi chiedo se il pacchetto bookmark caricato in quel posto va bene.
      Essendo una implementazione di hyperref forse va caricato anch’esso per ultimo, magari dopo hyperreff che quindi diventerebbe il penultimo.

    • #90287
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        [attachment=819]dispensa.zip[/attachment]
        Ti ho corretto alcune cose, e vi ho messo dentro un paio di astuzie epr usare una data sola per i tre file (.dtx, .cls, .sty).
        L’errore più grosso è quello di mettere due volete \CheckSum come se volessi controllare la check sum di ciascun file sepratamente, e, grave, \Finale, che impediva di estrarre il file .sty.
        [attachment]dispensa.zip[/attachment]

        Non ho capito perché chiami i due file prodotti dispensacls.cls e dispensapkg.sty mentre si possono chiamare tranquillamente e senza confusioni dispensa.cls e dispensa.sty.

        Devi imparare a usare il comando \meta (controlla il file .dtx e il corrispondente dile .pdf)

        Avrei dei dubbi da esprimenre in merito alla compatibilità della classe con il pacchetto di estensione; per esempio non so se carichi certi pacchetti due volte e con opzioni diverse; Non ho avuto voglia di andare a vedere dentro i rispettivi file che cosa caricano rispettivamante ClassiThesis e arsclassica, ma ho il sospetto che ci siano dei doppioni, e come sai le due cose non vanno bene assieme, a mneo che le opzioni specificate non siano le stesse e nello stesso ordine.

        Avrei dei comenti da fare sul fatto che il pacchetto .sty carichi di tutto, non solo per la composizione della matematica.

        Ti ricordo che amssymb carica a sua volta amsfonts, ma ne rende accessibili i glifi e qualche altra cosa; caricare amsfonts senza amssymb non ha molto senso, caricarli entrambi ancora di meno, basta amssymb.

        Calligra non definisce il corsivo, ma il calligrafico, per giunta in stile Edwardiano.

        Le lettere greche minuscole corsive non hanno bisogno di amsmath per essere rese in “stile italiano secondo la tradizione”; puoi fare quel giochetto anche senza caricare amsmath & company.

        \makeatletter e \makeatother non sono necessari né nei file di classe né nei file di estensione. l’esecuzione dello statement \begin{document} finisce il preambolo ma contemporaneamente ristabilisce tutti i codici di categoria, in particolare riassegna al segno @ il codice 12, quando durante l’esecuzione del file di classe ha codice 11.

        Sono d’accordo con @Otacon sul fatto che il pacchetto bookmarks andrebbe più pulitamente caricato dopo hyperref, ma anche che può essere sostituito bellamente con l’opzione bookmarksopen fra le opzioni di hyperref. Controlla sulla documentazione di hyperref scrivendo texdoc –showall hyperref e poi digitando il numero corrispondente al “manual”.

        Detto questo hai cominciato bene; usa più spesso le due barre verticali che delimitano le cose da comporre verbatim e/o in carattere teletype; puoi rendere più scorrevole la lettura del file .dtx se lo usi sistematicamente al posto di \texttt{…}, scrivendo |…| anche se i puntino non necessitano dela composione verbatim.

        Ciao
        Claudio

        Attachments:
        You must be logged in to view attached files.
      • #90288
        Up
        0
        Down
        ::

        Otacon
        Premesso che non sarei nemmeno lontanamente capace di creare un file così, mi chiedo se il pacchetto bookmark caricato in quel posto va bene.
        Essendo una implementazione di hyperref forse va caricato anch’esso per ultimo, magari dopo hyperreff che quindi diventerebbe il penultimo.

        Se leggi la guida di Claudio vedrai che è più difficile pensare di farlo che farlo… (farlo bene poi è tutta un’altra cosa e spero che con studio ed esercizio di riuscire a fare cose utili, magari non solo a me chissà…) ma il risultato “bello” lo fa, come sempre, il caro LaTeX 🙂 riguardo l’obiezione di bookmark ho risposto sotto unitamente a quella di Claudio.

        OldClaudio” post=89833
        L’errore più grosso è quello di mettere due volete \CheckSum come se volessi controllare la check sum di ciascun file sepratamente, e, grave, \Finale, che impediva di estrarre il file .sty.
        Non ho capito perché chiami i due file prodotti dispensacls.cls e dispensapkg.sty mentre si possono chiamare tranquillamente e senza confusioni dispensa.cls e dispensa.sty.

        L’errore più grosso è stato pensare che il .dtx producesse due cose separate…avevo messo anche tutta la parte di preamble e postamble e chiamato i file diversamente per paura facesse confusione. Inizialmente infatti avevo fatto, di fatto, due codici interi nello stesso file, con gli stessi nomi e, ovviamente non andava nulla… poi ho tolto qualcosa ma credevo che i checksum li facesse comunque separatamente (e infatti lo faceva…e mi diceva i vari errori se sbagliavo di contare)

        OldClaudio” post=89833
        Devi imparare a usare il comando \meta (controlla il file .dtx e il corrispondente dile .pdf)

        quello l’ho capito di sicuro 🙂 tra le altre cose nelle guide (.pdf) vedo spesso esempi dei vari pacchetti che si caricano. Devo caricarli nel preambolo del .dtx, insieme alle opzioni, oppure dopo che gli ho “detto” di caricarlo nell’.sty posso usarlo fuori dal macrocode?

        OldClaudio” post=89833
        ho il sospetto che ci siano dei doppioni, e come sai le due cose non vanno bene assieme, a mneo che le opzioni specificate non siano le stesse e nello stesso ordine.

        avevo dato un occhio io guardando il log quando compilavo e mi pareva che l’unica cosa che avevo inserito da togliere (che avevo tolto) fosse microtype. In Ogni modo ricontrollerò meglio!

        OldClaudio” post=89833
        Avrei dei comenti da fare sul fatto che il pacchetto .sty carichi di tutto, non solo per la composizione della matematica.

        Sono perfettamente d’accordo infatti creerò più di un pacchetto..quello era solo un marasma per avere un confronto con una cosa già fatta pseudo coerente e confrontare il risultato. Credo che dall’idea di fare un pacchetto per ogni documento (che no so quanto sarebbe più utile di un .tex richiamato da un bel \input…) l’idea è crearmi dei pacchetti diciamo “tematici” che carico a seconda del tipo di documento che scrivo. Dovrò però (e non vedo l’ora) imparare bene come fare con le opzioni, e coi comandi condizionati ecc (un dubbio mi era venuto ad esempio se faccio un pacchetto coi teoremi vorrei mettere un opzione “sezioni” per indicargli il caso in cui la classe fosse di tipo article senza capitoli e quindi mettere nel contatore di \newtheorem un comando \contatore che vale se non dichiaro nulla mentre

        se dichiaro l’opzione sezione al pacchetto…mi ero inventato un modo ma non funzionava…poi ho iniziato a leggere la guida di Enrico e mi sa che ho davvero molto da imparare e sperimentare e ne sono stra felice :-))

        OldClaudio” post=89833
        Ti ricordo che amssymb carica a sua volta amsfonts, ma ne rende accessibili i glifi e qualche altra cosa; caricare amsfonts senza amssymb non ha molto senso, caricarli entrambi ancora di meno, basta amssymb.

        Grazie, hai ragione.

        OldClaudio” post=89833
        Calligra non definisce il corsivo, ma il calligrafico, per giunta in stile Edwardiano.

        lo avevo usato per i ringraziamenti nella tesi triennale, davvero molto bello! “corsivo” era un nome che gli avevo dato io, correggerò di sicuro la definizione nel commento!!

        OldClaudio” post=89833
        \makeatletter e \makeatother non sono necessari né nei file di classe né nei file di estensione. l’esecuzione dello statement \begin{document} finisce il preambolo ma contemporaneamente ristabilisce tutti i codici di categoria, in particolare riassegna al segno @ il codice 12, quando durante l’esecuzione del file di classe ha codice 11.

        Azz… sapevo che ci cascavo… devo ancora prendere familiarità… e sì che lo avevo pure letto 🙂

        OldClaudio” post=89833
        Sono d’accordo con @Otacon sul fatto che il pacchetto bookmarks andrebbe più pulitamente caricato dopo hyperref, ma anche che può essere sostituito bellamente con l’opzione bookmarksopen fra le opzioni di hyperref. Controlla sulla documentazione di hyperref scrivendo texdoc –showall hyperref e poi digitando il numero corrispondente al “manual”.

        Il pacchetto bookmark infatti è caricato dopo di arsclassica, che carica hyperref. Non ho capito l’obiezione. Riguardo alle opzioni di hyperref non saprei bene come fare perché devo stare attento a quelle caricate da arsclassica per evitare i famigerati doppioni.

        OldClaudio” post=89833
        Detto questo hai cominciato bene; usa più spesso le due barre verticali che delimitano le cose da comporre verbatim e/o in carattere teletype; puoi rendere più scorrevole la lettura del file .dtx se lo usi sistematicamente al posto di \texttt{…}, scrivendo |…| anche se i puntino non necessitano dela composione verbatim.

        Pensavo fosse meglio usare \texttt{abc} quando l’argomento era testuale mentre |\abc| quando era un comando, usare solo |questo| è di sicuro meglio anche per me e non sarà un problema abituarmici 🙂

        Grazie mille a tutti e due! Ora, tornato dall’ospedale dopo una notte in attesa di sapere che non mi ero rotto una costola cadendo come un pero in corridoio (continuando a sostenere che è il modo più bello di uscire dall’ospedale e con la sensazione di aver solo perso tempo…) vado a dormire che sono un po’ stanchino 🙂 Domani (quando mi sveglierò aggiusterò tutto :-))

        Buona notte a me e buon risveglio a tutti voi.

        Ciao ciao

      • #90289
        Up
        0
        Down
        ::


        Non ho saputo resistere…

        ho fatto proprie le correzioni modificando ancora qualcosa:
        – ho inserito un % prima del primo \endinput perché se no il pachetto non lo produceva proprio;
        – ho tolto l’estensione .sty dalla dichiarazione dei pacchetti se no mi cercava un dispensa.sty.sty;
        – ho eliminato \makeatletter e \makatother anche dalla modifica a varioref;
        – ho aggiunto una @ all’inizio del comando numberset rendendolo \@numberset così da non rischiare possa venire modificato accidentalmente;
        – ho uniformizzato i caratteri !! in luogo di \texttt{};
        – ho modificato la descrizione delle modifiche alle lettere greche [ps…non dipende dai vari ams, ok, ma come mai ho dovuto farli caricare alla fine di tutto se no mi dava errori? Vabbé in ogni modo ho risolto]

        allego il file:
        [attachment=820]dispensa.dtx.zip[/attachment]

        Il problema però non è ancora stato risolto: i margini del testo, delle testatine, e un po’ tutto, è ancora sballato rispetto all’originale che carica la stessa classe, con le stesse opzioni e con gli stessi pacchetti ma in modo esplicito senza usare la mia classe. (nota: usando il file .tex allegato in testa alla discussione, ricordarsi di modificare il nome della classe chiamata da dispensacls a dispensa!) entrambi i due .tex vengono compilati senza alcun errore ma, nonostante che venga caricato tutto allo stesso modo (evidentemente non è così..) i due pdf prodotti sono di gran lunga differenti! il problema però no può risiedere in comandi chiamati due volte o incompatibilità perché sono gli stessi, sarebbero presenti in entrambi i casi e, LaTeX, darebbe perlomeno dei warning..che non fa (i due presenti ci sono sempre e sono causati da arsclassica si qualunque compilazione di qualunque documento quindi in questo caso è come non ci fossero), dunque il problema deve risiedere necessariamente e solo nel codice .dtx, nascosto da qualche parte…

        Grazie ancora per l’aiuto, ora vado a dormire sul serio: è giorno! 🙂

        Attachments:
        You must be logged in to view attached files.
      • #90290
        Up
        0
        Down
        ::

        Dork” post=89834L’errore più grosso è stato pensare che il .dtx producesse due cose separate…avevo messo anche tutta la parte di preamble e postamble e chiamato i file diversamente per paura facesse confusione. Inizialmente infatti avevo fatto, di fatto, due codici interi nello stesso file, con gli stessi nomi e, ovviamente non andava nulla… poi ho tolto qualcosa ma credevo che i checksum li facesse comunque separatamente (e infatti lo faceva…e mi diceva i vari errori se sbagliavo di contare)

        Beh, infatti un file .dtx può produrre cose separate. Dipende tutto da come si utilizza. 🙂 Infatti autori diversi hanno prodotto .dtx con stili completamente diversi.

        Mi spiego con un esempio semplice semplice. Prendiamo ad esempio i nostri guru, Enrico e Claudio (OldClaudio) e i rispettivi pacchetti steinmetz e codicefiscaleitaliano. Se vai a leggere steinmetz.dtx troverai la charcter table mentre in codicefiscaleitaliano.dtx non è presente.

        Ora, venendo al punto, se devi produrre file diversi, come una classe, uno o più pacchetti e magari un esempio di utilizzo (che ora nel tuo caso manca, ma potresti integrare), usare i .dtx è sicuramente la scelta vincente. Per fare un esempio, il mio smartdiagram.dtx produce: un file .sty, 4 librerie in cui è effettivamente suddiviso il codice, il file di installazione .ins e il readme.

        Quello che ti consiglio quindi è di non prendere ad esempio solo un autore, ma confrontare diversi stili per capire meglio tutte le possibilità che ti offrono i .dtx. Non è assolutamente tempo perso.

        OldClaudio” post=89833
        Avrei dei comenti da fare sul fatto che il pacchetto .sty carichi di tutto, non solo per la composizione della matematica.

        Anche io esprimo lo stesso dubbio. In primo luogo per quanto riguarda la codifica di ingresso (che poi ci sono cascato anche io come Enrico mi ha fatto giustamente notare).

        Ciao
        Claudio

      • #90291
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Certo che un file .dtx pu`ø produrre cose separate; produce quello che l’autore dice di produrre; l’esempio di @cfiandra realtivo ai due .dtx composti da Enrico e da me non dice niente; Enrico ed io abbiamo abitudini diverse e produciamo file .dtx che contengono coes diverse; io per esempio non metto mai la tabella dei condici ASCII; è una abitudine che risale a tempi “antichi” quando le trasmissioni sulla rete potevano essere bacate; la presenza dei codici ASCII corretti poteva essere utile per rendersi conto se la trasmissione era avvenuta correttamente. Anch’io inserivo quella tabella anni fa; non lo faccio più, perché la trovo “oggi” un ingombro inutile; sicuramente non è dannoso ed Enrico fa benissimo a conservarla. Io invece, che ho gmail.com come provider di posta elettronico non uso più i file .ins: gmail.com li rigetta anche se sono annegati dentro un file .zip. Se invece rendo il file .dtx autoestraente come faccio di solito, come ho scritto nella guida che ha seguito @dork, come vedi in tutti i miei .dtx presenti in rete, inserisco il codice di estrazione nella prima parte; dovrebbe essere uguale (a parte i nomi diversi per i file da elaborare) a quello di Enrico, e diverso da quello che è raccontato nel tutorial dtxtut leggibile con texdoc dtxtut.


          @dork
          , ora guardo il tuo file modificato e vedo con i file d’esempio perché i margini sono diversi, ma non sono convinto che sia utile fare un file .dtx distinto per caricare ciascun pacchetto che vorresti introdurre nei tuoi preamboli: non avrebbe senso usare \input invece di \usepackage nei tuoi preamboli, anche perché \input carica indiscriminatamente il pacchetto indicato, mentre \usepackage controlla e non ricaricare i pacchetti già caricati e in particolare segnala un eventuale “option clsh” se volessi ricaricare un pacchetto con opzioni diverse.


          @cfiandra
          , come fai a generare il file .ins da dentro il file .dtx? Forse ti sei espresso male, ma non puoi estrarre un file .ins da un .dtx, se non è autoestraente; e se è autoestraente il file .ins non serve a niente. Invece potrebbe essere buona l’idea di mettere anche i file README e manifiest.txt dentro il file .dttx; senonché ho la sensazione che i gestori di CTAN rifiuterebbero un file .dtx fatto in questo modo, perché li costringerebbe ed eseguire l’estrazione, casa che non vogliono che sia fatta; i gestori di CTAN vogliono solo l’eventuale file .ins, il .dtx e la sua compilazione .pdf, il README e il manifest.txt; per questi ultimi due accettano anche un solo file, purché contenga tutte le informazioni che andrebbero poste nell’altro; le informazioni sulla costituzione di pacchetti di cui eseguire l’upload su CTAN sono cambiate da circa un anno.

        • #90292
          Up
          0
          Down
          ::

          OldClaudio” post=89840Certo che un file .dtx pu`ø produrre cose separate; produce quello che l’autore dice di produrre; l’esempio di @cfiandra realtivo ai due .dtx composti da Enrico e da me non dice niente; Enrico ed io abbiamo abitudini diverse e produciamo file .dtx che contengono coes diverse; io per esempio non metto mai la tabella dei condici ASCII; è una abitudine che risale a tempi “antichi” quando le trasmissioni sulla rete potevano essere bacate; la presenza dei codici ASCII corretti poteva essere utile per rendersi conto se la trasmissione era avvenuta correttamente.

          Il mio intento era far capire a Dork che la sua frase:

          Dork” post=89834L’errore più grosso è stato pensare che il .dtx producesse due cose separate

          è sbagliata in quanto un file .dtx può produrre cose separate. L’esempio era più per suggerire di dare uno sguardo a diversi .dtx prima di iniziare con il proprio.

          OldClaudio” post=89840

          @cfiandra
          , come fai a generare il file .ins da dentro il file .dtx? Forse ti sei espresso male, ma non puoi estrarre un file .ins da un .dtx, se non è autoestraente; e se è autoestraente il file .ins non serve a niente. Invece potrebbe essere buona l’idea di mettere anche i file README e manifiest.txt dentro il file .dttx; senonché ho la sensazione che i gestori di CTAN rifiuterebbero un file .dtx fatto in questo modo, perché li costringerebbe ed eseguire l’estrazione, casa che non vogliono che sia fatta; i gestori di CTAN vogliono solo l’eventuale file .ins, il .dtx e la sua compilazione .pdf, il README e il manifest.txt; per questi ultimi due accettano anche un solo file, purché contenga tutte le informazioni che andrebbero poste nell’altro; le informazioni sulla costituzione di pacchetti di cui eseguire l’upload su CTAN sono cambiate da circa un anno.

          Si, in effetti mi riferivo a .dtx autoestraenti. Quando ci ho messo mano la prima volta avevo letto la guida How to Package Your LaTeX Package, ma non mi era sembrata chiarissima così ho preso ad esempio alcuni autori per capirci un po’ di più.

          Per quanto riguarda CTAN non concordo. In effetti da circa un anno è attivo il nuovo sito e il nuovo form di upload http://www.ctan.org/upload/ con le regole scritte molto chiaramente. Ai gestori non interessa tanto come sia strutturato il file .dtx perché, rispettando le regole, un autore invia un file zip con 1) pkg.dtx, 2) pkg.ins, 3) pkg.pdf, 4) readme. Che sono poi i file importanti.

          La struttura del file .dtx ha influenza invece quando l’upload viene mandato al TeXLive Team o Christian Schenk, ed è una cosa che ho proprio imparato a mie spese con smartdiagram. Il pacchetto nasce più o meno lo scorso anno: il dtx originale non aveva le librerie, ma conteneva già il readme e non ci sono stati problemi neppure dai gestori di CTAN. I problemi sono nati a fine marzo/inizio aprile quando ho inviato la versione 0.3 con un cambiamento radicale: la divisione in librerie dell’originale file .sty (anche perché il file cominciava ad essere davvero troppo lungo). Sempre seguendo le regole ho inviato l’upload come descritto prima: anche qui nessuna segnalazione dai gestori di CTAN, ma facendo l’aggiornamento con il TeXLive manager il pacchetto non funzionava più. Motivo? Il TeXLive Team per installare il pacchetto aveva compilato il file .dtx e credendo le librerie dei file ausiliari non le aveva installate. Quindi dopo averne discusso con Rainer Schöpf e Karl Berry ho inviato una nuova versione spiegando meglio nel readme come è effettivamente composto il pacchetto.

          Ciao
          Claudio

        • #90293
          Up
          0
          Down
          ::


          Buongiorno.
          Credo di essermi espresso un po’ male.

          Dicendo che il .dtx pensavo producesse file differenti, intendevo che avrei dovuto scriverci, uno in coda all’altro, il codice di ogni file da estrarre (con le relative istruzioni per l’estrazione). Questo spiega perché avevo inserito alla prima versione due \Finale e altri doppioni (che, alcuni da me, altri poi da Claudio sono stati eliminati). Avevo e sono consapevole che possa produrre diversi files (o non avrei scritto il codice come l’ho scritto)

          Poi mi sono espresso male per la storia dell’input. Intendevo quanto segue (per supportare l’idea che mettere tutto il marasma non ha senso neppure per me ma era solo un test “didattico”): se per creare un .pdf di una dispensa, diciamo vedo la classe che mi serve, i pacchetti che mi servono e faccio un .dtx con tutto quanto per avere una classe e un pacchetto questadispensa.cls[/] e questadispensa.sty, per poter scrivere il mio documento con il codice

          `
          \documentclass{questadispensa}
          \begin{document}

          \end{document}
          `

          Allora tanto vale che scrivo tutte le chiamate a i pacchetti che mi servono con ordine (tanto lo farei comunque nel .dtx) in un file opzioni.tex e scrivere il documento con il codice

          `
          \documentclass[]{}
          \input{opzioni.tex}
          \begin{document}

          \end{document}
          `

          che non cambierebbe nulla e starei anche meno.

          MA, visto cheil senso dei pacchetti è un altro, allora l’idea e di farne diversi per vari scopi e magari specializzarne qualcuno per comporre qualche struttura frequente nei miei documenti, inserirgli vare opzioni in modo che risultino versatili ecc in modo da chiamare pacchetti diversi (anche più di uno) volta per volta nei documenti che scriverò (condividendo quindi con voi nuovamente che il mio pacchetto dispensa.dtx in oggetto a questa discussione non ha molto senso di esistere, se non con finalità didattiche…non avesse prodotto quell’errore sui margini non ne avrei nemmeno parlato né usato e sarei passato oltre con lo studio e i test, magari con qualcosa di più utile, utilizzabile e versatile)

          Tra l’altro mi state dando un sacco di dritte bellissime! Ora vado a vedere la discussione su cui Enrico scrive delle codifiche in ingresso che sono curioso di capire “perché no” 🙂

          Ciao ciao e grazie ancora.

        • #90294
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::



            @Dork
            , ho trovato il busillis della forma sbagliata della gabbai; questo ha richiesto alcune modifiche sostanziale del file .dtx che ti accludo;
            [attachment=821]dispensa-CB2.zip[/attachment]

            Ho trovato ancora un errore in BCOR5mm che va scritto BCOR=5mm.

            Guarda il fondo del file .dtx ci sono delle righe commentate in modo strano… vale la pena di conoscere anche quel modo, validsdo solo per i file .dtx.

            Commento:
            Se ti fai un file opzioni.tex, non farlo: fatti un file opzioni.sty (magari commentando il codice in un opzioni.dtx, perché al pacchetto puoi passare delle opzioni, mentre al file immesso con \input non puoi farlo; questa infatti è la via da seguire, più che costruire una nuova classe per ogni documento; poi per imparare tutto va bene.

            Attachments:
            You must be logged in to view attached files.
          • #90295
            Up
            0
            Down
            ::


            Perfetto, ora funziona!

            Ho dato un occhiata al codice ieri ma non l’ho studiato bene, e non ce la faccio nemmeno oggi. Appena lo sistemo vedo se non mi sono chiare alcune cose e in caso scrivo 🙂

            Grazie mille!

            visto che il problema è risolto segnalo RISOLTO 🙂

        Visualizzazione 9 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top