XeLaTeX e longtable

  • Creatore
    Topic
  • #59487
    OldClaudio
    Partecipante
      Up
      0
      Down
      ::


      Sto scrivendo un testo con XeLaTeX e ho bisogno di usare longtable; ovviamente arrampicandomi su per i vetri con comandi inseriti ad hoc nei punti strategici me la sono cavata, ma gli automatismi di longtable non mi funzionano; voglio dire: longtable registra nei file aux le informazioni che gi servono, puoi in una seconda o terza esecuzione, leggendo quei dati riesce a comporre tutte le colonne larghe uguali e riesce ad inserire in testa elle varie pagine successive alla prima gli headers giusti e in tutte le pagine tranne l’ultima i footer giusti. Il primo header e l’ultimo footer li mette al posto giusto e tutti della larghezza giusta per adattarsi alla larghezza comune delle colonne.

      Con XeLaTeX questo automatismo non mi funziona; tutti gli header primo e seguenti, tutti i footer, tutti fino all’ultimo, conservano al lor larghezza naturale, senza adattarsi alle colonne e i “chunk” di righe di cui longtable si annota le larghezze parziali, non hanno la stessa larghezza.
      La mia soluzione è stata quella di non sfruttare le definizione dei vari header, primo e seguenti, e di tutti i footer, ultimo e precedenti, ma di scriverli esplicitamente nel punto giusto lasciando a longtable il solo compito di spezzare la tabella in pagine. Non solo, ma ho dovuto specificare il chunk size pari alla lunghezza dell’intera tabella. Funziona, ma uo non usa longtable per fare tutto a mano.

      Avete incontrato gli stessi problemi?

    Visualizzazione 4 filoni di risposte
    • Autore
      Risposte
      • #59488
        Up
        0
        Down
        ::

        Sto scrivendo un testo con XeLaTeX e ho bisogno di usare longtable; ovviamente arrampicandomi su per i vetri con comandi inseriti ad hoc nei punti strategici me la sono cavata, ma gli automatismi di longtable non mi funzionano; voglio dire: longtable registra nei file aux le informazioni che gi servono, puoi in una seconda o terza esecuzione, leggendo quei dati riesce a comporre tutte le colonne larghe uguali e riesce ad inserire in testa elle varie pagine successive alla prima gli headers giusti e in tutte le pagine tranne l’ultima i footer giusti. Il primo header e l’ultimo footer li mette al posto giusto e tutti della larghezza giusta per adattarsi alla larghezza comune delle colonne.

        Con XeLaTeX questo automatismo non mi funziona; tutti gli header primo e seguenti, tutti i footer, tutti fino all’ultimo, conservano al lor larghezza naturale, senza adattarsi alle colonne e i “chunk” di righe di cui longtable si annota le larghezze parziali, non hanno la stessa larghezza.
        La mia soluzione è stata quella di non sfruttare le definizione dei vari header, primo e seguenti, e di tutti i footer, ultimo e precedenti, ma di scriverli esplicitamente nel punto giusto lasciando a longtable il solo compito di spezzare la tabella in pagine. Non solo, ma ho dovuto specificare il chunk size pari alla lunghezza dell’intera tabella. Funziona, ma uo non usa longtable per fare tutto a mano.

        Avete incontrato gli stessi problemi?

        Esempio?

        Ciao
        Enrico

      • #59489
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Lo sapevo che questa sarebbe stata la risposta.

          Mi ci vuole un po’ di tempo per preparare un esempio minimo compilabile perché una tabella lunga, appunto, è lunga, altrimenti i problemi non ci sarebbero; infatti non sarebbe necessario usare longtable. 🙂

        • #59490
          Up
          0
          Down
          ::

          Lo sapevo che questa sarebbe stata la risposta.

          Mi ci vuole un po’ di tempo per preparare un esempio minimo compilabile perché una tabella lunga, appunto, è lunga, altrimenti i problemi non ci sarebbero; infatti non sarebbe necessario usare longtable. 🙂

          Una prova fatta non dà risultati diversi tra pdflatex e xelatex; ho usato sempre TeX Gyre Termes, in modo che la tabella finale sia la stessa. La rilettura delle dimensioni delle colonne è corretta.

          Ciao
          Enrico

        • #59491
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Infatti; fa sempre bene scrivere al forum anche se uno dovrebbe pensarci due volte prima di scrivere una corbelleria; mia nonna diceva sempre di girarsi al lingua in bocca tre volte prima di palare.

            Ho provato a predisporre un paio di esempi minimi usando le stesse lunghe tabelle che nel libro non vengono bene. E in tutti gli esempi minimi vengono benissimo; magari al terzo giro, ma vengono benissimo.

            Dunque il “demerito” delle mie lunghe tabelle nel libro non dipende né da longtable, né dai font usati (in una c’era sia font latino sia font giapponese 😉 ) né da altre cose legate ala tabella in sé. La cosa non sembra direttamente legata nemmeno a \afterpage che uso sempre per far cominciare una lunga tabella all’inizio di una pagina.

            La ragione del mistero deve risiedere in qualche trista interazione con qualche pacchetto con qualche mia macro difettosa. Se mai ne verrò a capo lo comunicherò al Forum. Ma evidentemente è un problema mio e solo mio, per il quale mi illudo di avere la competenza sufficiente per venirne a capo.

            Enrico, scusami per il tempo che ti ho fatto perdere.

            Ciao
            Claudio

          • #59492
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Caso chiuso.

              Infatti non scoprirò mai che cosa sia successo con l’interazione difettosa fra XeLaTeX e longtable, che mi aveva addirittura fatto aggiungere una nota al mio testo nella quale spiegavo che le colonne non mi si incolonnavano correttamente per un motivo che non riuscivo a trovare; eppure avevo composto e ricomposto quella lunga tabella forse una quindicina di volte senza successo, finché non ho deciso di “imbrogliare” longtable aumentando enormemente il chunck size e togliendo tutti i vari head e foot tranne il primo (non classificato come first head) e inserendo a mano quel che occorreva alla fine della pagina e all’inizio della successiva, incluso l’ordine \pagebreak. Non l’ho fatto per incapacità: non era certo la prima longtable che componevo. Semplicemente non veniva. Poi…

              Fra quando ho mandato ilo primo messaggio e oggi, quando ho scritto il mio ultimo messaggio ho aggiornato il sistema e da quel momento il difetto non si è più presentato 🙂

              Misteri del software!

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

          Go to top