Problema con \pageref e (forse) \frontmatter

  • Creatore
    Topic
  • #19792
    Up
    0
    Down
    ::


    Salve a tutti.

    Ho un problema con \pageref.
    Ho definito una \label in una formula che sul PDF cade a pagina 6.
    Pagina numero 6 dopo l’indice, il quale possiede una pagina sola, numerata con la lettera “i”. Quindi la formula è nella facciata numero sette.

    Nel capitolo successivo, richiamo la formula con \pageref{nome}, che dopo la compilazione fa comparire il numero 6, ma cliccandoci sopra non si finisce a pagina 6 (7a facciata) ma a pagina 5 (6a facciata) ❓ .

    Non capisco dove sia il problema…

    Grazie

Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #19793
      DMW
        Up
        0
        Down
        ::

        Salve a tutti.

        Ho un problema con \pageref.
        Ho definito una \label in una formula che sul PDF cade a pagina 6.
        Pagina numero 6 dopo l’indice, il quale possiede una pagina sola, numerata con la lettera “i”. Quindi la formula è nella facciata numero sette.

        Nel capitolo successivo, richiamo la formula con \pageref{nome}, che dopo la compilazione fa comparire il numero 6, ma cliccandoci sopra non si finisce a pagina 6 (7a facciata) ma a pagina 5 (6a facciata) ❓ .

        Non capisco dove sia il problema…

        Grazie

        Se non metti un esempio che riproduca il problema, è difficile poterti aiutare.

        Hai provato a ricompilare?

        Ciao

        Andrea

      • #19794
        Up
        0
        Down
        ::

        Se non metti un esempio che riproduca il problema, è difficile poterti aiutare.

        Hai provato a ricompilare?

        Ciao

        Andrea

        Mi è complicato mettere un esempio ora…
        Comunque ho provato a ricompliare, ma niente. Inoltre ho sempre risolto i problemi classici con etichette e riferimenti, ma ora non so come fare…

        Provo ancora e magari mi riaffaccio. Grazie per la disponibilità!

        Ciao

        Marco

      • #19795
        Up
        0
        Down
        ::

        Se non metti un esempio che riproduca il problema, è difficile poterti aiutare.

        Hai provato a ricompilare?

        Ciao

        Andrea

        Mi è complicato mettere un esempio ora…
        Comunque ho provato a ricompliare, ma niente. Inoltre ho sempre risolto i problemi classici con etichette e riferimenti, ma ora non so come fare…

        Provo ancora e magari mi riaffaccio. Grazie per la disponibilità!

        Questo funziona perfettamente:
        `\documentclass[a4paper,oneside]{book}
        \usepackage{hyperref}

        \begin{document}
        \frontmatter
        \tableofcontents
        \mainmatter
        \chapter{Pippo}
        \section{Ugo}
        testo\newpage
        testo\newpage
        testo\newpage
        testo\newpage
        testo
        \begin{equation}\label{eq}
        a+b=b+a
        \end{equation}
        testo\newpage
        testo\newpage
        testo\newpage
        testo\newpage
        testo \pageref{eq}
        testo
        \end{document}`
        Riesci a fare il tuo esempio in questo modo?

        Ciao
        Enrico

      • #19796
        Up
        0
        Down
        ::


        Allora, questo è il file “Generale.tex” di preambolo (ho messo vari capitoli come commento per abbreviare la compilazione). Sicuramente ci sono delle espressioni obsolete o improprie, ma accetto consigli:

        `
        \documentclass [a4paper,12pt,oneside]{book}
        %
        \addtolength{\hoffset}{0cm}
        \addtolength{\textwidth}{1cm}
        %
        \usepackage [latin1] {inputenc}
        \usepackage{amsmath,amssymb}
        \usepackage[pdftex] {hyperref}
        \usepackage [pdftex]{graphicx}
        \usepackage [italian] {babel}
        \usepackage {rotating}
        \linespread{1.2}
        %
        \begin{document}
        %\include{Frontespizio}
        \frontmatter
        \clearpage
        \tableofcontents
        \mainmatter
        %\include{Endoreattori}
        %\clearpage
        %\include{UgelloCONVdiv}
        %\clearpage
        %\include{Friction}
        %\clearpage
        \include{ModelloPROVA}
        \clearpage
        \include{ProfiloPROVA}
        \clearpage
        %\include{Analisi}
        %\clearpage
        %\include{RichiamAERO}
        %\clearpage
        %\include{DaDef}
        %\clearpage
        \appendix
        %\include{Simbologia}
        %\clearpage
        %\include{bibliografia}
        %\clearpage
        \end{document}
        `

        Segue il file “ModelloPROVA.tex” contenente l’equazione di interesse, etichettata con \label{eq:SYSTEM}:
        `
        \chapter{Modello Matematico} \label{cap:Modello}

        \section{Grandezze totali e grandezze critiche}
        Si vogliono innanzitutto ricordare… bla bla bla…

        \section{Flussi quasi-monodimensionali stazionari: \\
        presenza di attrito e scambio di calore} Lo studio di un flusso… bla bla
        bla…

        In forma concisa possiamo esprimere le prime tre righe della tabella come:
        \begin{equation}\label{eq:SistemaDIFF}
        (S)=
        \left\{
        \begin{array}{ll}
        \dfrac{dM}{M} & = \Phi_{M,A}(M,\gamma) \; \dfrac{dA}{A} + \Phi_{M,f}(M,\gamma) \; f_d \: \dfrac{P \: dx}{8A} + \Phi_{M,Q}(M,\gamma) \; \dfrac{dh_0}{h_0} \\
        \\
        \dfrac{dp}{p} & = \Phi_{p,A}(M,\gamma) \; \dfrac{dA}{A} + \Phi_{p,f}(M,\gamma) \; f_d \: \dfrac{P \: dx}{8A} + \Phi_{p,Q}(M,\gamma) \; \dfrac{dh_0}{h_0} \\
        \\
        \dfrac{dT}{T} & = \Phi_{T,A}(M,\gamma) \; \dfrac{dA}{A} + \Phi_{T,f}(M,\gamma) \; f_d \: \dfrac{P \: dx}{8A} + \Phi_{T,Q}(M,\gamma) \; \dfrac{dh_0}{h_0}
        \end{array}
        \right. \nonumber
        \end{equation}
        A questo punto… bla bla bla…
        \newline
        \begin{equation}\label{eq:SYSTEM}
        (S')=
        \left\{
        \begin{array}{ll}
        \dfrac{dM}{dx} & = M \left[\: \Phi_{M,A}(M) \; \dfrac{A'(x)}{A(x)} + \Phi_{M,f}(M) \; f_d \: \dfrac{P(x)}{8A(x)} + \Phi_{M,Q}(M) \; \dfrac{h_0'(x)}{h_0(x)}\right] \\
        \\
        \dfrac{dp}{dx} & = p \left[\: \Phi_{p,A}(M) \; \dfrac{A'(x)}{A(x)} + \Phi_{p,f}(M) \; f_d \: \dfrac{P(x)}{8A(x)} + \Phi_{p,Q}(M) \; \dfrac{h_0'(x)}{h_0(x)}\right] \\
        \\
        \dfrac{dT}{dx} & = T \left[\: \Phi_{T,A}(M) \; \dfrac{A'(x)}{A(x)} + \Phi_{T,f}(M) \; f_d \: \dfrac{P(x)}{8A(x)} + \Phi_{T,Q}(M) \; \dfrac{h_0'(x)}{h_0(x)}\right]
        \end{array}
        \right.\nonumber
        \end{equation}
        \newline
        Definendo… bla bla bla…
        \begin{equation}
        (S')=
        \left\{
        \begin{array}{ll}
        y'(x) & = F(x,y(x)) \\
        y(x_0) & = y_0
        \end{array}
        \right. \nonumber
        \end{equation}
        `
        e per ultimo il file “ProfiloPROVA.tex” dove c’è il \pageref{eq:SYSTEM}:
        `
        \chapter[Titolo CORTO]{Titolo LUNGO}

        \section{Introduzione}
        Come già detto… bla bla bla… da inserire nel sistema di
        pagina~\pageref{eq:SYSTEM}.
        `
        Spero che riusciate a compilare. Vedete un po’, se potete.
        Ciao.

      • #19797
        Up
        0
        Down
        ::


        Lapsus, ho appena corretto i nomi dei files all’interno degli “\include”: ho aggiunto il suffisso “PROVA” nei nomi dei capitoli “Modello” e “Profilo”.

        Ma nei miei files questo errore non c’è, ho solo sbagliato nell’inviarvi l’esempio, quindi il problema sussiste ancora.

        Scusate

      • #19798
        DMW
          Up
          0
          Down
          ::


          Usi gli spazi manuali \; e questo è sbagliato. Poi L’ultima formula può essere scritta
          `
          \[
          (S')=
          \begin{cases}
          y'(x)=F(x,y(x)) \\
          y(x_0)=y_0
          \end{cases}
          \]`
          o ancora meglio
          `
          \newenvironment{sistema}%
          {\left\lbrace\begin{array}{@{}l@{}}}%
          {\end{array}\right.}
          …..
          \[
          (S')=
          \begin{sistema}
          y'(x)=F(x,y(x)) \\
          y(x_0)=y_0
          \end{sistema}
          \]`

          Poi dai l’etichetta all’equazione e metti \nonumber?

          Ti credo che non la riconosce. Non ti dico gli altri errori o facciamo notte.

          Ciao

          Andrea

        • #19799
          DMW
            Up
            0
            Down
            ::


            La seconda equazione prova così.
            Questo nel preambolo
            `\newenvironment{sistema}%
            {\left\lbrace\begin{array}{@{}l@{}}}%
            {\end{array}\right.} `

            e la tua equazione
            `
            \begin{equation}\label{eq:SYSTEM}
            (S')=
            \begin{sistema}
            \dfrac{dM}{dx}=M\mbox{\footnotesize$\left[\Phi_{M,A}(M)\dfrac{A'(x)}{A(x)} + \Phi_{M,f}(M)f_d\dfrac{P(x)}{8A(x)} + \Phi_{M,Q}(M)\dfrac{h_0'(x)}{h_0(x)}\right]$} \\
            \\
            \dfrac{dp}{dx}=p\mbox{\footnotesize$\left[ \Phi_{p,A}(M)\dfrac{A'(x)}{A(x)} + \Phi_{p,f}(M) f_d\dfrac{P(x)}{8A(x)} + \Phi_{p,Q}(M)\dfrac{h_0'(x)}{h_0(x)}\right]$} \\
            \\
            \dfrac{dT}{dx}=T\mbox{\footnotesize$\left[\Phi_{T,A}(M)\dfrac{A'(x)}{A(x)} + \Phi_{T,f}(M) f_d \dfrac{P(x)}{8A(x)} + \Phi_{T,Q}(M) \dfrac{h_0'(x)}{h_0(x)}\right]$}
            \end{sistema}
            \end{equation} `

            o cases al posto di sistema. Prova.

            Ciao

            Andrea

          • #19800
            Up
            0
            Down
            ::

            Poi dai l’etichetta all’equazione e metti \nonumber?

            Ti credo che non la riconosce. Non ti dico gli altri errori o facciamo notte.

            Ciao

            Andrea

            Grazie, mi hai fatto sorridere.
            Comunque anche senza \nonumber mi dà lo stesso errore. Mettere il \nonumber era una prova per fare un’altra cosa, e poi l’ho dimenticato li’…

            Riguardo agli altri errori, uso LaTeX da un mese, perciò non mi posso lamentare. Anzi, potrei anche permettermi di fare il figo, con tutta la modestia del caso. Per ora mi interessa ottenere un PDF soddisfacente, poi, quando avrò più tempo, o voglia, mi dedicherò anche alla precisione e quantaltro.

            Grazie, ora leggo tutto…

          • #19801
            Up
            0
            Down
            ::

            Allora, questo è il file “Generale.tex” di preambolo (ho messo vari capitoli come commento per abbreviare la compilazione). Sicuramente ci sono delle espressioni obsolete o improprie, ma accetto consigli:

            `\documentclass [a4paper,12pt,oneside]{book}
            %
            \addtolength{\hoffset}{0cm}
            \addtolength{\textwidth}{1cm}
            %
            \usepackage [latin1] {inputenc}
            \usepackage{amsmath,amssymb}
            \usepackage[pdftex] {hyperref}
            \usepackage [pdftex]{graphicx}
            \usepackage [italian] {babel}
            \usepackage {rotating}
            \linespread{1.2}
            %
            \begin{document}
            %\include{Frontespizio}
            \frontmatter
            \clearpage
            \tableofcontents
            \mainmatter
            %\include{Endoreattori}
            %\clearpage
            %\include{UgelloCONVdiv}
            %\clearpage
            %\include{Friction}
            %\clearpage
            \include{ModelloPROVA}
            \clearpage
            \include{ProfiloPROVA}
            \clearpage
            %\include{Analisi}
            %\clearpage
            %\include{RichiamAERO}
            %\clearpage
            %\include{DaDef}
            %\clearpage
            \appendix
            %\include{Simbologia}
            %\clearpage
            %\include{bibliografia}
            %\clearpage
            \end{document}
            `

            Segue il file “ModelloPROVA.tex” contenente l’equazione di interesse, etichettata con \label{eq:SYSTEM}:
            `…`
            Spero che riusciate a compilare. Vedete un po’, se potete.

            A parte quella lunga serie di \clearpage del tutto inutili, non c’è roba molto orrida; ma togli quelle opzioni pdftex che non servono e usa geometry per impostare il formato della pagina.

            Non è una buona idea scrivere \nonumber in ogni ambiente equation, quando basterebbe \[…\]. In questo modo tutti i riferimenti interni di hyperref sono verso la prima equazione. Credo che si possano definire riferimenti “invisibili”, ma occorrerebbe studiarsi di più hyperref. Fai molto prima a numerare l’equazione e a riferirti a essa con il suo numero, invece che solo con il numero di pagina. Ed è anche più chiaro per chi legge: magari in quella pagina ci sono tre equazioni importanti, quale sarà quella che intendi tu?

            Quanto alle formule, ripeto i consigli di Andrea: le spaziature manuali vanno evitate, così come gli ambienti fatti a mano quando ce ne sono di già predisposti. È ammesso, anzi consigliato, usare \, per separare un differenziale dal contesto precedente.

            Usare \newline dopo \end{equation} è una cosa che va bollata come scemotta: non serve assolutamente a nulla.

            Ogni volta che ti accade di scrivere ripetutamente una costruzione complicata, rifletti: o qualcuno ci ha già pensato oppure è sbagliato (esempi: quei \clearpage e \newline oppure il \nonumber in ogni ambiente equation).

            Ciao
            Enrico

          • #19802
            DMW
              Up
              0
              Down
              ::

              È ammesso, anzi consigliato, usare \, per separare un differenziale dal contesto precedente.

              Prof, sarò un po’ rintronato ma non ho capito cosa intendi con separare un differenziale dal contesto precedente.

              Mi fai un esempio?

              Per Markaponi:
              Io non riscontro il problema da te menzionato.

              A me i link dei riferimenti funzionano a dovere. Carica hyperref per ultimo.

              Ciao

              Andrea

            • #19803
              Up
              0
              Down
              ::


              Allora.
              Per DMW:
              1) In effetti le equazioni come mi suggerisci tu sono molto meglio. Applicherò i tuoi consigli anche alle altre nel testo.
              2) Il \pageref continua a non funzionare, né con {cases} né con {sistema}, anche caricando hyperref per ultimo. uff…

              Per egreg9:
              Grazie in generale per le varie dritte. Ne farò tesoro, ma, tanto per dirti…

              1) Le \clearpage… 😳 Le ho copiate da un amico… Devo avvertire anche lui ahahah

              2) La mia formula era da sola in quella pagina, perciò non c’erano equivoci. Il fatto è che, data la mia inesperienza, non usando \footnotesize mi veniva una formula grande, con una numerazione in una brutta posizione. Non riuscendo a spostarla (pur con il manuale di amsmath davanti) allora ho tentato con \pageref. Poi la curiosità di sapere cosa stava succedendo mi ha spinto a postare. Ora che la numerazione è in una posizione consona, torno al vecchio \ref.
              Ma che succede a ‘sto \pageref? 😕

              3) Della spaziatura negli integrali ne avevo notato l’utilità, ma a volte nei formuloni mi sembrava utile, per colpo d’occhio chi legge il PDF, distanziare alcuni simboli. Finché ero io a manipolare i files .tex, non mi preoccupavo di scrivere un codice un po’ sporco…
              Ovviamente grazie per il consiglio.

              4) \newline: era un tentativo di aumentare la spaziatura tra formule e testo adiacente. Fallito e lasciato li’, per mia colpa, grandissima colpa 🙂

              5) Geometry? E’ un pacchetto? Un opzione? Nel caso sia lunga da spiegare, dove trovo la documentazione?

              E pensare che tutti voi fate questo per pura passione. Vi ammiro.
              Grazie

              Marco

            • #19804
              DMW
                Up
                0
                Down
                ::


                Non solo devi togliere \clearpage ma ti consiglio di usare \input al posto di include.
                Tra l’altro \include è uguale a \clearpage\input quindi è come se avessi due \clearpage.

                Il comando \chapter di solito ingnora i comandi \clearpage e quindi usa \input.

                Per quanto riguarda le spaziature i parametri da modificare solo in questa pagina
                http://www.guit.sssup.it/phpbb/viewtopic.php?t=2136&start=0&postdays=0&postorder=asc&highlight=abovedisplayskip.
                http://www.guit.sssup.it/phpbb/viewtopic.php?t=3050&highlight=abovedisplayskip

                La domanda la feci io un anno fa. Questi comandi e molti altri sono descritti in questo documento http://www.ctan.org/get/info/math/voss/mathmode/Mathmode.pdf.

                Comunque ti consiglio di lasciarli stare così come sono.

                Per modificare i parametri della pagina il pacchetto geometry è il migliore
                http://www.ctan.org/get/macros/latex/contrib/geometry/manual.pdf

                Per quanto riguarda \pageref hai un problema che hai solo tu. Non ci pensi più e disabiliti il link. Usa \pageref*
                `
                ….pagina~\pageref*{eq:SYSTEM}
                `

                Ciao

                Andrea

              • #19805
                Up
                0
                Down
                ::


                FERMI TUTTI. HO RISOLTO.

                Ho cercato di applicare i vostri consigli nelle altre parti del testo… ed è bastato quello (mea culpa…).

                Nel sistemone precedente a quello di interesse c’erano la \label e il \nonumber. In genere mettevo le label qua e là nelle formule che pensavo mi sarebbero servite in seguito. Ma ora ho capito che finché non mi servono altrove è meglio che non metto le labe, se non voglio che nella compilazione si generino delle incoerenze di ovvia natura. Perciò ho tolto la label e il nonumber ed ho usato il classico ” equation* “, nell’attesa di imparare di più.

                Mamma mia…
                Se i principianti sono tutti come me, deve essere dura.

                Che dire. Io ho imparato cose utili, ed ho ricevuto tanti suggerimenti.

                Vi saluto con le solite, infinite…

                GRAZIE

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

            Go to top