GuITstaff

Risposte nei forum create

Stai visualizzando 15 risposte – dal 16 al 30 (di 315 totali)
  • Autore
    Risposte
  • in risposta a: Classe/pacchetto per testi di legge/normativi #134111
    GuITstaff
    Amministratore del forum
      Up
      0
      Down
      ::

      Mi sono messo di buona lena e ne ho approfittato per approfondire la costruzione delle classi.
      Credo di aver creato qualcosa che assomiglia a una classe e mi piacerebbe caricarla su Ctan.

      Tuttavia siccome l’idea è venuta a Mattiaca vorrei condividere la paternità della classe con lui/lei e anche condividere i progressi fatti nel codice.

      Esiste un modo per mettermi in contatto direttamente con lui?

      Grazie.

      in risposta a: Documento complesso #134101
      GuITstaff
      Amministratore del forum
        Up
        0
        Down
        ::

        Grazie per l’importante precisazione!

        in risposta a: Documento complesso #134098
        GuITstaff
        Amministratore del forum
          Up
          0
          Down
          ::

          Il pacchetto xr è stato scritto prima che hyperref esistesse. Se usi hyperref nel tuo documento xr crea un conflitto sottile ma concreto: i riferimenti incrociati esterni vengono risolti correttamente a livello di numero, ma i collegamenti ipertestuali non vengono creati, e in certi casi hyperref emette warning o si comporta in modo imprevedibile sulla gestione degli anchor. Per questo ti suggerivo di usare xr-hyper, che invece è compatibile con hyperref.

          in risposta a: Documento complesso #134097
          GuITstaff
          Amministratore del forum
            Up
            0
            Down
            ::

            Vi ringrazio per le risposte. Ho visto che la GuidaGuit di @OldClaudio non inizia la numerazione della pagine da 1 in ogni volume: ciò non mi darebbe fastidio ed eliminerebbe il problema dei riferimenti complicati, soprattutto se all’inizio di ogni volume riporto l’indice completo dell’opera.

            Siccome il mio documento è già strutturato in modo simile a quanto suggerito da @Fede75 proverò la sua proposta di soluzione; grazie anche a @strolego per avermi suggerito il pacchetto xr, che non conoscevo.

            Nel frattempo ho dato un’occhiata veloce alla classe memoir: ho visto che oltre a \part ha anche la suddivisione \book. Qualcuno ha esperienze a proposito?

            Claudio

            in risposta a: Documento complesso #134096
            GuITstaff
            Amministratore del forum
              Up
              0
              Down
              ::

              Non so se possa fare al caso tuo, ma il pacchetto xr permette i riferimenti incrociati tra file (e volumi diversi)

              in risposta a: Documento complesso #134093
              GuITstaff
              Amministratore del forum
                Up
                0
                Down
                ::

                Se il documento è organizzato con la classe book e suddiviso in \part, secondo me una soluzione naturale è trasformare ogni Parte in un volume autonomo.
                Il problema è che, dividendo l’opera, si perdono automaticamente:
                – i riferimenti incrociati tra volumi;
                – la coerenza delle label;
                – la possibilità di mantenere un indice analitico comune.

                Questo comporta la necessità di mantenere una struttura unica e permettere compilazioni separate.
                Supponiamo di avere un’opera composta da tre libri:
                Libro I
                Libro II
                Libro III
                Ogni libro deve:
                – essere compilabile autonomamente;
                – poter citare capitoli, teoremi o sezioni degli altri libri;
                – condividere la stessa architettura;
                – mantenere un indice analitico coerente.

                Una struttura semplice e stabile potrebbe essere questa:
                Un preambolo-comune.tex
                Un file main-opera.tex
                Un file libro-I.tex
                Un file libro-II.tex
                Un file libro-III.tex
                Una cartella chapters contenente:
                Sottocartella libro-I con
                File cap01.tex
                File cap02.tex
                …
                Sottocartella libro-II con
                File cap01.tex
                File cap02.tex
                …
                Sottocartella libro-Iii con
                File cap01.tex
                File cap02.tex
                …

                Per rendere fattibile questa struttura userei [code]\xr-hyper[/code] e [code]\externaldocument;[/code] sarà inoltre necessario usare prefissi per evitare collisioni, trattando l’opera come un sistema unico.

                In questo modo si ottiene:
                – compilazione più veloce;
                – riferimenti tra volumi;
                – maggiore modularità;
                – manutenzione più semplice;
                – scalabilità nel tempo.

                Il main-opera.tex avrebbe un contenuto simile a questo:
                [code]
                \documentclass{book}

                \input{preambolo-comune}

                \begin{document}

                \part{Libro I}
                \include{chapters/libro-I/cap01}
                \include{chapters/libro-I/cap02}

                \part{Libro II}
                \include{chapters/libro-II/cap01}
                \include{chapters/libro-II/cap02}

                \part{Libro III}
                \include{chapters/libro-III/cap01}

                \printindex

                \end{document}
                [/code]

                Ogni libro avrebbe poi un singolo file .tex.

                Ad esempio il libro-II.tex il contenuto sarebbe:
                [code]
                \documentclass{book}

                \input{preambolo-comune}

                \usepackage{xr-hyper}

                \externaldocument[LI-]{libro-I}
                \externaldocument[LIII-]{libro-III}

                \begin{document}

                \part{Libro II}

                \include{chapters/libro-II/cap01}
                \include{chapters/libro-II/cap02}

                \printindex

                \end{document}
                [/code]

                Dove [LI-] e [LII-] sono i prefissi che evitano collisioni.
                (chiaramente, nel nostro esempio, negli altri due libri inseriremo \externaldocument riferito ai due libri diversi da quello in cui stiamo operando)

                Il pacchetto xr-hyper consente di importare i riferimenti contenuti nei file .aux degli altri documenti.
                In pratica, il Libro II può leggere le label del Libro I e del libro III e così via, poiché i riferimenti rimangono attivi tra i diversi volumi.

                Esempio pratico:
                Nel Libro I:

                [code]
                \chapter{Principi generali}
                \label{chap:principi}
                [/code]

                Nel Libro II:

                [code]
                Si veda il capitolo~\ref{LI-chap:principi}.
                [/code]
                Poiché il Libro I è stato importato con:
                [code]
                \externaldocument[LI-]{libro-I}
                [/code]

                La label originale:

                [code]chap:principi[/code]

                viene automaticamente trasformata in:

                [code]LI-chap:principi[/code]

                Questo evita collisioni tra label identiche in libri diversi.

                Attenzione: quando si separano documenti molto grandi, è frequente avere label con nomi simili.
                Ad esempio [code]{chap:introduzione}[/code] potrebbe esistere in più volumi. Senza prefisso, LaTeX non distinguerebbe le label.
                Con [code]\externaldocument[LI-]{libro-I}[/code]
                si ottiene: [code]\ref{LI-chap:introduzione}[/code] che rende il riferimento univoco.
                Quindi è indispensabile usare i prefissi.

                Inoltre, per evitare riferimenti troppo tecnici nel testo, è utile definire macro dedicate.

                Ad esempio nel preambolo comune si potrebbe inserire:
                [code]
                \newcommand{\capitololibro}[2]{%
                capitolo~\ref{#1} del Libro~#2
                }
                [/code]
                In questo modo potrei scrivere:

                [code]Si veda \capitololibro{LI-chap:principi}{I}[/code]

                per ottenere in modo abbastanza semplice il seguente output:
                Si veda capitolo 3 del Libro I

                Lo stesso approccio può essere usato per teoremi, sezioni o
                articoli.

                La questione più complessa è l’indice.
                Qui bisogna segliere:
                Ipotesi 1:
                Ogni volume contiene soltanto il proprio indice.
                Pro: semplice; pulito; compilazione stabile.
                Contro:non rappresenta l’opera completa.

                Ipotesi 2
                L’indice viene prodotto una sola volta nel file main dell’opera e poi incluso nei singoli volumi.
                [code]\input{main-opera.ind}[/code]
                Pro: tutti i volumi condividono lo stesso indice.
                Contro: la numerazione delle pagine si riferirà al main, e non ai singoli volumi che, tipicamente, ricominciano da pag. 1. Praticamente non serve a niente.

                Ipotesi 3
                Indice strutturale per volume. Questa secondo me è la soluzione la soluzione più elegante.
                Esempio:
                Responsabilità civile
                Libro I, cap. 2
                Libro II, cap. 5
                Prescrizione
                Libro III, cap. 1
                Invece di riferirsi a una pagina, l’indice punta a una posizione strutturale.

                Una soluzione soddisfacente potrebbe essere quella di fare un indice strutturale per l’intera opera e poi un indice analitico con l’indicazione del numero di pagina per ogni singolo volume.

                A mio avviso anche il preambolo comune è un punto delicato della questione:
                Non deve contenere soltanto i pacchetti, ma anche tutte le definizioni che devono essere identiche in ogni volume.
                L’obiettivo è evitare differenze tra opera completa, Libro I, Libro II, etc.

                Un buon preambolo-comune.tex deve contenere:
                caricamento dei pacchetti;
                definizione di ambienti;
                contatori;
                stili tipografici;
                macro condivise;
                gestione dell’indice;
                configurazione dei riferimenti.
                Ecco un esempio
                [code]
                % ——————————————————————
                % LINGUA E FONT
                % ——————————————————————

                \usepackage[T1]{fontenc}
                \usepackage[utf8]{inputenc}
                \usepackage[italian]{babel}
                \usepackage{microtype}

                % ——————————————————————
                % MATEMATICA
                % ——————————————————————

                \usepackage{amsmath}
                \usepackage{amssymb}
                \usepackage{amsthm}

                % ——————————————————————
                % RIFERIMENTI E LINK
                % ——————————————————————

                \usepackage{hyperref}
                \usepackage{cleveref}

                % ——————————————————————
                % INDICE ANALITICO
                % ——————————————————————

                \usepackage{imakeidx}
                \makeindex

                % ——————————————————————
                % GRAFICA
                % ——————————————————————

                \usepackage{graphicx}
                \usepackage{xcolor}

                % ——————————————————————
                % TABELLE
                % ——————————————————————

                \usepackage{booktabs}
                \usepackage{longtable}

                % ——————————————————————
                % NUMERAZIONE
                % ——————————————————————

                \numberwithin{equation}{chapter}

                % ——————————————————————
                % TEOREMI
                % ——————————————————————

                \newtheorem{theorem}{Teorema}[chapter]

                % ——————————————————————
                % MACRO PERSONALIZZATE
                % ——————————————————————

                \newcommand{\capitololibro}[2]{%
                capitolo~\ref{#1} del Libro~#2
                }
                …
                [/code]

                Altro consiglio: uno dei problemi più frequenti nei progetti multi-volume riguarda i path. Se il master generale e i master dei singoli libri stanno nella stessa cartella, i riferimenti saranno stabili.
                Quindi è meglio [code]\include{chapters/libro-II/cap01}[/code] mentre è meglio evitare [code]\input{../../capitoli/…}[/code] perché rende fragile la struttura.

                Conviene inserire il pacchetto xr-hyper nei file dei singoli volumi e non nel preambolo, perchè il main-opera.tex non ha bisogno del comando \externaldocument, mentre i singoli file dei volumi si.

                Attenzione anche a centralizzare i contatori se si hanno teoremi, figure, definizioni, ecc., è importante che la numerazione venga definita una sola volta. Ad esempio:
                [code]
                \newtheorem{theorem}{Teorema}[chapter]
                \newtheorem{lemma}[theorem]{Lemma}
                \newtheorem{definition}[theorem]{Definizione}
                [/code]
                Questo evita incoerenze tra volumi.

                Spero di averti dato qualche spunto. Sicuramente la questione è complessa; magari c’è qualcuno di più esperto di me che ti darà una soluzione più elegante della mia, ma mi sono divertito a provarci.

                in risposta a: Documento complesso #134091
                GuITstaff
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  Non so se la GuidaGuIT (forum –> Documentazione} abbia il sorgente disponibile per tutti, ma tranne per un punto relativo ai riferimenti incrociati fra volumi diversi, è diviso anche in tre tomi a partire da un unico file sorgente; e da altri tre main file per compilare ciascun tomo; attento: solo il main file, non i file dei capitoli e nemmeno quello delle macro locali o di altri file inclusi.

                  I riferimenti incrociati da un volume all’altro non ho idea di come si possano fare, se non ricorrendo al pacchetto hyperref e giocando con i target e anchors (vedi documentazione di hyperref: ([tt]texdoc hyperref[/tt]}.

                  Il concetto è quello di compilare prima l’intero volume con l’indice analitico, poi quando si usano gli altri main file disabilitare la formazione degli indici analitici, ma usare il comando \printindex che stampa il file .ind prodotto nella documentazione completa. Ovviamente per fare questi giochetti bisogna usare il pacchetto imakeidx ([tt]texdoc imakeidx[/tt]).

                  Il tuo problema è veramente interessante, ma non l’ho mai affrontato se non per quel che riguada cose come quelle che ho descritto sopra.

                  in risposta a: i Font – – – #134089
                  GuITstaff
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    Grazie Claudio !
                    Guarderò per iniziare la guida tematica.
                    Saluti
                    Battista

                    in risposta a: i Font – – – #134088
                    GuITstaff
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::

                      Battista, una delle guide tematiche, che trovi nella sezione Documentazione del Forum) è completamente dedicata ai font. Vi si dice anche come usare le varie famiglie, serie e forme. almeno per il testo.

                      Per la matematica c’è la guida tematica sulla composizione della matematica, ma…
                      La matematica dei matematici è semplice; in fondo Knuth era un matematico, quindi non si è preoccupato molto della matematica delle scienze sperimentali che sono soggette alle norme ISO; Secondo queste norme le varie famiglie, serie e forme hanno significati speciali, e nella guida c’è un riassunto di quelle norme.

                      Se vuoi saperne di più, dovresti acquistare (a peso d’oro) le norme dall’ISO stessa. Ma in rete trovi delle versioni “vecchie” (di circa 5 anni… le norme vengono riviste abbastanza spesso) ma molto utili.
                      Nell’appendice della guida sulla matematica ci sono le tabelle con i simboli e le unità di misura, come prescitte dell’ISO.

                      in risposta a: Errato ordinamento della bibliografia #134086
                      GuITstaff
                      Amministratore del forum
                        Up
                        0
                        Down
                        ::

                        Perfetto, allora puoi modificare il titolo del primo post, aggiungendo qualcosa tipo [risolto].

                        PS: segui i preziosi consigli di @OldClaudio e verifica che tutti i pacchetti caricati ti servano veramente (ad esempio, se non modifichi i margini del documento non serve caricare [tt]geometry[/tt], l’opzione [tt]a4paper[/tt] puoi passarla direttamente come opzione in [tt]\documentclass[/tt]; se vuoi avere supporto per le unità di misura meglio usare il moderno [tt]siunitx[/tt] piuttosto che il vetusto [tt]units[/tt]).

                        [code]
                        \documentclass[a4paper,10pt]{article}
                        \usepackage[T1]{fontenc}
                        \usepackage[english,italian]{babel}
                        \usepackage{graphicx}
                        \usepackage{chemfig}
                        \usepackage{siunitx}
                        \usepackage{amsmath}
                        \usepackage{pgf,tikz}
                        \usepackage{guit}
                        \usepackage{ccicons}
                        \usepackage[style=numeric]{biblatex}
                        \addbibresource{bibliografia.bib}
                        \usepackage{csquotes}
                        \usepackage{hyperref}
                        [/code]

                        in risposta a: Errato ordinamento della bibliografia #134085
                        GuITstaff
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::

                          Ciao, ho finalmente provato.
                          Ho inserito

                          sorting=none

                          cioé ho riscritto il comando

                          \usepackage[backend=biber,style=numeric,sorting=none]{biblatex}

                          ed ho ottenuto proprio il risultato atteso.
                          Grazie di cuore.
                          Alla prossima richiesta di aiuto.

                          in risposta a: Errato ordinamento della bibliografia #134084
                          GuITstaff
                          Amministratore del forum
                            Up
                            0
                            Down
                            ::

                            Ciao,
                            a breve ti farò sapere.
                            Grazie sempre.

                            in risposta a: Errato ordinamento della bibliografia #134083
                            GuITstaff
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::

                              Se […] scelgo lo stile numeric […] la bibliografia é stampata nell’ordine corretto […] ma la bibliografia non viene stampata

                              insomma… La bibliografia viene stampata o non viene stampata?

                              Se, invece, […] scelgo lo stile alphabetic, la bibliografia viene stampata ma perdo la numerazione progressiva [1], [2], etc. sia nel file che nella bibliografia

                              Lo stile [tt]alphabetic[/tt], per definizione, non usa riferimenti numerici, ma etichette formate dalle prime lettere dell’autore/curatore e dall’anno di pubblicazione. Inoltre, cosa significa la frase “perdo la numerazione progressiva nel file”? Se intendi la numerazione delle chiavi che tu, arbitrariamente, hai indicato come “1”, “2”, “3”, etc. invece che “tizio”, “caio”, “sempronio”, etc. penso che la risposta te l’abbia già data nel post precedente.

                              Vorrei che numerazione nel testo del .pdf e nella bibliografia finale fossero coerenti cioè: ad [1], [2], etc. nel testo corrispondano gli stessi numeri nella bibliografia finale.

                              Intendi dire che la citazione nel testo, referenziata ad esempio come [5] o [Aut26], non corrisponde all’opera (articolo, libro, …) della bibliografia finale, referenziata anch’essa come [5] o [Aut26]? Se fosse vero, altro che problema di coerenza, verrebbe meno il senso stesso dei riferimenti bibliografici…

                              Probabilmente i tuoi problemi riguardano l’ordinamento delle citazioni e della bibliografia finale.

                              Numeric Style
                              Di default lo schema di ordinamento è [tt]nty[/tt] (name, title, year). Questo significa che (a) la bibliografia finale è numerata progressivamente in ordine di autore/curatore; (b) i numeri nel testo non sono in ordine di citazione, ma seguono l’ordine della bibliografia.
                              Se vuoi che la bibliografia, numerata progressivamente, segua l’ordine delle citazioni nel testo (e conseguentemente anche i numeri nel testo siano progressivi) basta impostare l’opzione [tt]sorting=none[/tt].

                              Alphabetic Style
                              Di default lo schema di ordinamento è [tt]anyt[/tt] (alphabetic label, name, year, title). Questo significa che (a) la bibliografia finale è in ordine alfabetico di etichetta generata; (b) riferimenti bibliografici con lo stesso autore e anno generano etichette uguali ma con l’aggiunta di una lettera finale (ad esempio: Aut26a, Aut26b); (c) l’aggiunta della lettera finale non dipende dall’ordine di citazione, ma dall’ordine della bibliografia (significa, ad esempio, che nel testo potrebbe essere citato prima Aut26b e dopo Aut26a, poiché nella bibliografia finale l’opera con l’etichetta Aut26a viene prima di Aut26b a causa del titolo).
                              Se vuoi che l’aggiunta della lettera dipenda dall’ordine di citazione e non dall’ordine della bibliografia basta impostare l’opzione [tt]sorting=none[/tt].

                              in risposta a: Errato ordinamento della bibliografia #134082
                              GuITstaff
                              Amministratore del forum
                                Up
                                0
                                Down
                                ::

                                Grazie, ci lavorerò e ti farò sapere.
                                Mi dispiace averti fatto impazzire, abbi pazienza (uso LaTeX da pochi mesi!).

                                in risposta a: Errato ordinamento della bibliografia #134080
                                GuITstaff
                                Amministratore del forum
                                  Up
                                  0
                                  Down
                                  ::

                                  Ringraziandoti ancora, ti ricordo che sono Don Quarrie non Dom Quarie:D !
                                  Alla prossima.

                                Stai visualizzando 15 risposte – dal 16 al 30 (di 315 totali)

                                Go to top▲