Crossing referencing tra due documenti differenti

  • Creatore
    Topic
  • #106369
    Up
    0
    Down
    ::


    Ciao a tutti, sono nuovo del forum e non è da molto che utilizzo LaTeX.

    Ho un problema a effettuare una crossing referencing tra due documenti differenti, però ho una caratteristica particolare vado di seguito a spiegare meglio:

    Mi sono basato su questa soluzione è sto cercando di adeguarla alla mia problematica:
    Cross-referencing between different files

    LA MIA SITUAZIONE:

    Cartella A, Documento A, Capitolo 3:
    `\newcounter{nameofcounter}
    \setcounter{nameofcounter}{1}
    \paragraph{[NAME_OF_PARAGRAPH_\arabic{nameofcounter}]}\label{namefirstlabel}`

    Cartella B, Documento B, File Principale:
    `\usepackage{xr}
    \externaldocument{../cartellaA/capitolo3}`

    Cartella B, Documento B, un qualsiasi capitolo:
    Vorrei visualizzare in qualunque parte del documento B la label inserita nel Capitolo 3, Documento A nella Cartella A e utilizzo questo per richiamare la label:
    `[some text …] \nameref*{namefirstlabel} [some other text …]`

    Esempio di risultato atteso nel documento B:

    … some text …. [NAME_OF_PARAGRAPH_1] … some text … ecc…

    Le due cartelle vengono compilate con due MAKEFILE differenti e trasformati in PDF.
    In compilazione del secondo documento ho il seguente errore:

    ! Missing number, treated as zero.
    `\c@nameofcounter
    \nameref*{namefirstlabel}`

    NOTA: Nel documento A non ho cancellato i file .aux.

    Il problema che ho notato sta nel fatto che è presente un contatore che viene incrementato nel documento A e quando richiamo nel documento B non esiste più o non è inizializzato.

    Ho provato pure a riformulare il comando paragraph, in modo di togliere il contatore sulla label però quando richiamavo il comando di \ref nel secondo documento mi stampava del testo vuoto (non con i due punti interrogativi ma vuoto, perché il paragrafo veniva creato prima e io chiamavo soltanto \paragraph{} che non aveva titolo).

    Per riformulare il paragrafo ho utilizzato:

    `\renewcommand{\theparagraph}{[NAME_OF_PARAGRAPH_\arabic{nameofcounter}]}
    \setcounter{secnumdepth}{4}`

    Soluzioni? Idee?

    Il paragrafo deve essere [NAME_OF_PARAGRAPH_X] e no X.X.X [NAME_OF_PARAGRAPH]

    Dove X è un contatore o numero incrementale.

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #106370
      Up
      0
      Down
      ::


      Ho provato anche questa possibile soluzione:

      `\newtheorem{nameoftheorem}{NAME_OF_PARAGRAPH_\arabic{nameofcounter}}

      \begin{nameoftheorem}[NAME_OF_PARAGRAPH_\arabic{nameofcounter}]\label{firstlabel}
      […] TESTO […]
      \end{nameoftheorem}`

      Ma ho sempre il solito errore.

    • #106371
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Onestamente ho capito solo che vuoi citare delle cose che hai scritto in un altro documento. Tutto il resto mi è oscuro, ma conoscendo il meccanismo con il quale funzionano i riferimenti incrociati sia normali, sia “hyperlinkati”, direi che devi compilare entrambi i documenti almeno due volte; quello A per primo, poi quello B.
        Non sono sicuro che se vuoi i collegamenti ipertestuali attivi la cosa funzioni, ma se anche funzionasse, la prima volta che sposti uno dei due documenti da qualche altra parte è probabile che il tutto smetta di funzionare.
        Quindi citare cose che si trovano in altri documenti è una operazione non solo difficile, ma anche terribilmente sensibile a cambiamenti apparentemente slegati dai documenti stessi, che rendono i link non più validi. Non è il tuo caso, ma secondo le norme ISO per l’archiviabilità a lungo termine, questa operazione e vietata e un file che la “tentasse” sarebbe automaticamente non valido secondo le norme ISO.

        Ti suggerisco di trovare un altro modo per fare quello che desideri, per esempio quello di fare nel documento B un riferimento bibliografico che citi il documento A secondo le norme che riguardano le citazioni bibliografiche, e in quel riferimento oltre al titolo, l’autore eccetera, puoi indicare anche il paragrafo, il capitolo, la pagina, la nota in cui si trova quello che vuoi citare.

        Capisco che questo mio messaggio non ti sia di grande aiuto, ma ho abbastanza esperienza per sapere che i riferimenti incrociati fra documenti diversi non funzionano quasi mai, non perché il sistema TeX non vada bene, ma perché sono troppo delicati per essere affidabili.

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

    Go to top