Chi troppo vuole nulla stringe… riferimenti persi!

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 18 anni fa da __sero.
  • Creatore
    Topic
  • #26136
    Up
    0
    Down
    ::


    Salve a tutti, ho un piccolo, anzi direi grande, anzi direi grandissimo, anzi direi enorme… INSOMMA!

    Ecco il mio problema:

    Ho scritto un dtd sgml che permette di creare dei documenti che si articolano in volumi, capitoli, sezioni, sottosezioni e sotto sottosezioni. ed ora sto creando uno script di sgmlspm che converte il documento in latex per essere processato con pdflatex ed ottenere un file pdf UNICO.

    Per fare sta cosa ho dovuto ridefinire i comandi part ecc perchè la struttura del documento potesse essere visualizzata come volevo nella outline ma questo ha portato al problema che nell’indice generale, negli indici dei volumi e delle parti (anche questi creati con comandi non latex) non riesco ad usare il comando pageref.

    Non utilizzando i comandi \begin{(part|chapter|section|…)}, ma dei nuovi comandi che impostano delle etichette con hypperref non posso accedere alla etichetta con un comando \pageref{spec:label}.

    Il problema l’ho risolto in parte con il pacchetto ipperlink, ogni voce dell’indice appare con i puntini e una specie di “pulsante” che porta al volume, parte, capitolo ecc Ecco un esempio di come è composta una riga dell’indice:

    `\moveright XX \hbox{{\true-font{TITLE}} }\dotfill{ }{\framebox{ \hyperlink{ANCHOR}{\true-font{LABEL}}}}`
    Mi piacerebbe trovare un modo per far apparire il numero della pagina… qualcuno mi sa aiutare?

    Grazie!

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #26137
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Da quello che ho capito stai usando PERL per ottenere un file sorgente in formato LaTeX.
        La cosa può essere interessante per molte applicazioni di automazione.

        Quello che non capisco è questo:
        Il sorgente LaTeX che si ottiene dall’elaborazione conterrà i comandi e gli ambienti necessari, assieme al testo, conformi alle specifiche di base, della classe, e dei pacchetti caricati.
        Pertanto il problema riguarda questa parte e non il processamento in PERL.

        Quindi dovresti riportare le ridefinizioni dei comandi LaTeX \part ecc che dici di aver apportato.
        Se qualcosa non funziona probabilmente è l’impostazione che hai dato al codice per ottenere un impaginazione che non risulta molto chiara dalla tua descrizione.

        Ciao.

      • #26138
        Up
        0
        Down
        ::


        In effetti… comunque il problema è che essendo da poco utente di latex sono incappato in quello che credo sia un errore di molti, ovvero stravolgere il sistema.

        Vedendo che i comandi \part\chapter\section ecc non mi impostavano le outline come volevo io (una gerarchia che partisse da book fino alla subsubsection) quindi ho implementato i comandi per la suddivisione utilizzando font scalati, contatori aggiuntivi, il pacchetto hyperref per le ancore e le estensioni pdf (\pdfbookmark) per creare la outline…
        L’estetica è carina, anzi, a me piace proprio, però per dare all’estetica sono usciti un sacco di problemi, il primo è quel che descrivevo, cioè i riferimenti alle pagine che non posso inserire perchè un comando \pageref non si può “aggrappare” ad un’ancora creata con hypperref. In più ho scoperto il problema degli ambienti fluttuanti. Quando si utilizza un comando per il sezionamento, latex fa in modo che le figure o le tabelle vengano automaticamente inserite prima di iniziare una nuova sezione. Il dtd che ho creato io e per cose molto techniche e praticamente è tutto un floating (grammatica BNF, tabelle, immagini, modelli e chi pu ne ha piu ne metta) e col casino che ho fatto io mi trovavo i pochi paragrafi all’inizio e tutto il resto nelle ultime 10 pagine del pdf… 😀 Insomma, come dicevo quando ho postato inizialmente… chi troppo vuole nulla stringe!

        Ora mi sto rifacendo tutto da zero, comunque lavorandoci ho imparato almeno i concetti, anzi, adesso apro un’altro post perchè ci sono un paio di cose che ho cercato ma non ci sono, su irc nulla e nel webbu tantomeno! 🙂

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top