pdf e dvi

  • Questo topic ha 5 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 8 mesi fa da gmc.
  • Creatore
    Topic
  • #11445
    Up
    0
    Down
    ::


    ciao a tutti,

    cercando in google ho trovato questa guida latex in cui si dice che per poter compilare sia in pdf sia in dvi si può usare questo
    preambolo:

    `01 \ifx\pdfoutput\undefined % We are not running pdftex
    02 \documentclass[12pt,a4paper]{article}
    03 \usepackage[dvips]{graphicx}
    04 %\usepackage{psfig}
    05 %\usepackage{epsfig}
    06 \RequirePackage[dvipdfm,hyperindex]{hyperref}
    07 %\RequirePackage[dvipdfm,colorlinks,hyperindex]{hyperref}
    08 \else
    09 \documentclass[pdftex,12pt,a4paper]{article}
    10 \usepackage[pdftex]{graphicx}
    11 \DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps}
    12 \RequirePackage[hyperindex]{hyperref}
    13 %\RequirePackage[colorlinks,hyperindex]{hyperref}
    14 \usepackage{thumbpdf}
    15 \fi`

    ora il problema da me è il seguente: copiando ed adattando quel preambolo al mio caso specifico(una tesi di laurea) ottengo solo un pdf. Il dvi non viene affatto creato.
    Questo è come ho modificato il preambolo:
    `\ifx\pdfoutput\undefined
    %DVI:
    \documentclass[12pt,a4paper,twoside,openright,titlepage]{book}
    \usepackage[dvips]{graphicx}
    \RequirePackage[dvipdfm,hyperindex]{hyperref}
    \else
    %PDF:
    \documentclass[12pt,a4paper,twoside,openright,titlepage]{book}
    \usepackage[pdftex]{graphicx}
    \DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps}
    \RequirePackage[hyperindex]{hyperref}
    \usepackage{thumbpdf}
    \fi`

    A parte che non sono ancora sicuro della sintassi (e del significato) del comando \ifx\pdfoutput\undefined per cui non sono sicuro che il primo sia il ramo relativo al dvi mentre il secondo sia relativo al pdf, il problema è che se specifico solo la riga:
    `\documentclass[12pt,a4paper,twoside,openright,titlepage]{book}`

    al posto di tutta quella roba viene compilato sia il dvi sia il pdf, ma il pdf non ha i link; ossia nell’indice del pdf non saltano fuori i link ai vari capitoli della tesi.

    Inutile dire che ho tentato tutte le possibili combinazioni aggiungendo e togliendo righe. Potreste obiettare: “Ma studiarsi per bene latex?” Eh si, se avessi il tempo…sfortunatamente è un’anno e mezzo che sono dietro alla tesi e non ho voglia(nè il tempo materiale ora) di passare altro tempo a studiare manuali di latex, anche se visto che è molto interessante, l’ho già messo nella TODO list.

    Ora la mia domanda è: si possono avere sia i link ipertestuali nel pdf, sia la compilazione in dvi?

    Grazie a tutti per l’attenzione
    Alberto

    P.S.: utilizzo kile come editor in una gentoo (GNU/Linux). Kile per chi non lo sapesse effettua dei test per cui verifica che ci sia presente tutto il sw di cui latex ha bisogno essere compilato. Quindi tutto il sw è installato perfettamente.

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

      ciao a tutti,

      cercando in google ho trovato questa guida latex in cui si dice che per poter compilare sia in pdf sia in dvi si può usare questo
      preambolo:

      `01 \ifx\pdfoutput\undefined % We are not running pdftex
      02 \documentclass[12pt,a4paper]{article}
      03 \usepackage[dvips]{graphicx}
      04 %\usepackage{psfig}
      05 %\usepackage{epsfig}
      06 \RequirePackage[dvipdfm,hyperindex]{hyperref}
      07 %\RequirePackage[dvipdfm,colorlinks,hyperindex]{hyperref}
      08 \else
      09 \documentclass[pdftex,12pt,a4paper]{article}
      10 \usepackage[pdftex]{graphicx}
      11 \DeclareGraphicsExtensions{.pdf,.png,.jpg,.mps}
      12 \RequirePackage[hyperindex]{hyperref}
      13 %\RequirePackage[colorlinks,hyperindex]{hyperref}
      14 \usepackage{thumbpdf}
      15 \fi`

      È un preambolo scorretto che per un periodo di tempo ha funzionato. Con le distribuzioni più recenti va corretto.
      `\documentclass[12pt,a4paper]{article}
      \usepackage{ifpdf}
      \usepackage{graphicx}
      \ifpdf
      \usepackage[hyperindex]{hyperref}
      %\usepackage[colorlinks,hyperindex]{hyperref}
      \usepackage{thumbpdf}
      \else
      \usepackage[dvipdfm,hyperindex]{hyperref} % se vuoi usare dvipdfm
      %\usepackage[dvipdfm,colorlinks,hyperindex]{hyperref}
      \fi`
      Ti ho spostato nel forum più adatto.

      Ciao
      Enrico

    • #11447
      Up
      0
      Down
      ::


      Ringraziando Enrico per l’aiuto, volevo chiederne un ulteriore.
      Il problema, connesso al precedente, consiste nel fatto che ora, malgrado abbia i link ipertestuali nel pdf, questi sono sbagliati dalla lista delle figure alla bibliografia; ovvero puntano alla pagina sbagliata. Ad esempio clicco nell’indice sulla voce “bibliografia” e finisco in una pagina in fondo al pdf, ma non alla bibliografia e questo vale per tutte le sezioni dalla lista delle figure alla bibliografia.
      Ad occhio direi che è dovuto al fatto che latex non riesce a stabilire di quante pagine sono lunghe queste sezioni; pertanto
      sbaglia poi nell’inserire il link alla pagina nell’indice.
      Sicuramente sbaglio io a fare qualcosa, ma non saprei cosa.
      Le righe di preambolo che ho effettivamente usato sono:
      `\ifpdf
      \usepackage[hyperindex]{hyperref}
      \usepackage{thumbpdf}
      \else
      \usepackage[dvips,hyperindex]{hyperref}
      \fi`

      Mentre per la definizione di un algoritmo ho usato(sempre nel preambolo):

      `\floatstyle{ruled}
      \newfloat{algorithm}{tbp}{loa}
      \floatname{algorithm}{Algoritmo}`

      e infine la parte terminale del documento è così definita:

      `\include{ringraziamenti}
      \appendix
      \backmatter
      \addcontentsline{toc}{chapter}{Indice Analitico}
      \printindex
      \addcontentsline{toc}{chapter}{Elenco delle figure}
      \listoffigures
      \addcontentsline{toc}{chapter}{Elenco degli algoritmi}
      \listof{algorithm}{Elenco degli algoritmi}
      \addcontentsline{toc}{chapter}{Bibliografia}
      \bibliographystyle{alpha}
      \bibliography{bib/bibliografia}`

      Dove:

      ringraziamenti è un documento tex che ho incluso; ho infatti modularizzato il documento creando un file tex per ogni capitolo e la tesi è costituita dal preambolo, l’inclusione di tutti i capitoli e la parte terminale che vi ho postato.

      Ho provato anche a togliere le righe \appendix e \backmatter, ma sembra che il loro contributo sia nullo sia che ci siano, sia che non ci siano (quindi sono ridondanti e verranno eliminate nella versione definitiva 😉 )

      L’indice lo creo con un comando da prompt dei comandi:
      `makeindex -s ${IDX}fleck.ist tesi.idx`

      dove fleck.ist è un file che ho trovato girovagando su questo forum.

      Mi rendo conto che posso aver postato parti irrilevanti e trascurato di postare quelle rilevanti non conoscendo a fondo latex; pertanto se avete bisogno di ulteriori informazioni chiedete pure.
      Ringrazio tutti per l’aiuto e colgo l’occasione per farvi gli auguri di buon anno.
      Alberto

    • #11448
      Up
      0
      Down
      ::

      Ringraziando Enrico per l’aiuto, volevo chiederne un ulteriore.
      Il problema, connesso al precedente, consiste nel fatto che ora, malgrado abbia i link ipertestuali nel pdf, questi sono sbagliati dalla lista delle figure alla bibliografia; ovvero puntano alla pagina sbagliata. Ad esempio clicco nell’indice sulla voce “bibliografia” e finisco in una pagina in fondo al pdf, ma non alla bibliografia e questo vale per tutte le sezioni dalla lista delle figure alla bibliografia.
      Ad occhio direi che è dovuto al fatto che latex non riesce a stabilire di quante pagine sono lunghe queste sezioni; pertanto
      sbaglia poi nell’inserire il link alla pagina nell’indice.
      Sicuramente sbaglio io a fare qualcosa, ma non saprei cosa.

      e infine la parte terminale del documento è così definita:
      `\include{ringraziamenti}
      \appendix
      \backmatter
      \addcontentsline{toc}{chapter}{Indice Analitico}
      \printindex
      \addcontentsline{toc}{chapter}{Elenco delle figure}
      \listoffigures
      \addcontentsline{toc}{chapter}{Elenco degli algoritmi}
      \listof{algorithm}{Elenco degli algoritmi}
      \addcontentsline{toc}{chapter}{Bibliografia}
      \bibliographystyle{alpha}
      \bibliography{bib/bibliografia}`

      Ringrazio tutti per l’aiuto e colgo l’occasione per farvi gli auguri di buon anno.
      Alberto

      Auguri anche a te e a tutti i frequentatori del forum 😀 😀

      Ti dimentichi qualche \clearpage: sono i comandi \printindex, \listof… e \bibliography a emettere il comando di cambio pagina, che però è inefficace se la pagina corrente è ancora vuota, per fortuna. Il comando \appendix certamente non ci va.
      `\include{ringraziamenti}
      \backmatter
      \addcontentsline{toc}{chapter}{Indice Analitico}
      \printindex
      \clearpage
      \addcontentsline{toc}{chapter}{Elenco delle figure}
      \listoffigures
      \clearpage
      \addcontentsline{toc}{chapter}{Elenco degli algoritmi}
      \listof{algorithm}{Elenco degli algoritmi}
      \clearpage
      \addcontentsline{toc}{chapter}{Bibliografia}
      \bibliographystyle{alpha}
      \bibliography{bib/bibliografia}`
      Ciao
      Enrico

    • #11449
      Up
      0
      Down
      ::

      Auguri anche a te e a tutti i frequentatori del forum 😀 😀

      Ti dimentichi qualche \clearpage: sono i comandi \printindex, \listof… e \bibliography a emettere il comando di cambio pagina, che però è inefficace se la pagina corrente è ancora vuota, per fortuna. Il comando \appendix certamente non ci va.
      `\include{ringraziamenti}
      \backmatter
      \addcontentsline{toc}{chapter}{Indice Analitico}
      \printindex
      \clearpage
      \addcontentsline{toc}{chapter}{Elenco delle figure}
      \listoffigures
      \clearpage
      \addcontentsline{toc}{chapter}{Elenco degli algoritmi}
      \listof{algorithm}{Elenco degli algoritmi}
      \clearpage
      \addcontentsline{toc}{chapter}{Bibliografia}
      \bibliographystyle{alpha}
      \bibliography{bib/bibliografia}`
      Ciao
      Enrico

      Grazie per il supporto immediato, ma non ha funzionato pur aggiungendo i comandi \clearpage come hai fatto tu. Si presenta lo stesso problema. In particolare cliccando su “indice analitico” si viene rimandati ai ringraziamenti, stessa cosa cliccando su “elenco delle figure”; mentre cliccando su “elenco degli algoritmi” o su “bibliografia” si viene rimandati all’elenco delle figure.
      Anticipo fin da subito che ho già provveduto a cancellare tutti i vecchi file di indice e il vecchio pdf creato, utilizzo infatti il seguente makefile:

      `.PHONY: pdf all dvi images print clean cleanall
      IMG=./img/
      IDX=/usr/share/texmf/makeindex/
      BIB=./bib/

      pdf: images
      pdflatex 'tesi.tex'
      bibtex 'tesi'
      makeindex -s ${IDX}fleck.ist tesi.idx
      pdflatex 'tesi.tex'

      dvi:
      latex 'tesi.tex'

      all: images dvi pdf print

      images: ${IMG}figura1.pdf ${IMG}figura2.pdf ${IMG}figura3.pdf ${IMG}figura4.pdf ${IMG}figura5.pdf

      %.pdf: %.eps
      epstopdf $< print: dvi dvips 'tesi.dvi' -o cleanlog: rm -f *~ \#* *.aux *.log *.out *.ilg *.ind *.toc *.blg *.bbl *.idx *.lof *.loa clean: cleanlog rm -f *.pdf *.dvi *.ps cleanall: cleanlog clean rm -f ${IMG}figura?.pdf *.backup` E per generare il pdf finale do sempre il comando: `make cleanall && make && make && make && kpdf tesi.pdf` Visto che per generare la bibliografia e i vari indici servono più compilazioni, così sto sul sicuro ;) Ricopio la parte finale del documento così vedi che è identica alla tua: `\include{ringraziamenti} \backmatter \addcontentsline{toc}{chapter}{Indice Analitico} \printindex \clearpage \addcontentsline{toc}{chapter}{Elenco delle figure} \listoffigures \clearpage \addcontentsline{toc}{chapter}{Elenco degli algoritmi} \listof{algorithm}{Elenco degli algoritmi} \clearpage \addcontentsline{toc}{chapter}{Bibliografia} \bibliographystyle{alpha} \bibliography{bib/bibliografia}` Magari si tratta proprio di una svista, ma non capisco dove sbaglio. Grazie Alberto P.S. ulteriori dettagli. Sono incongruenti anche le pagine segnate nell'indice e dove si viene rimandati cliccando sul link nell'indice. In particolare ci sono le seguenti incongruenze: - Nell'indice "Indice analitico" è a pagina 48. In pratica è a pagina 48, ma cliccando sul link si viene mandati a pagina 47. - Nell'indice "Elenco delle figure" è a pagina 49. In pratica è a pagina 49, ma cliccando sul link si viene mandati a pagina 47. - Nell'indice "Elenco degli algoritmi" è a pagina 50. In pratica è a pagina 51, ma cliccando sul link si viene mandati a pagina 49. -Nell'indice "Bibliografia" è a pagina 53. In pratica è a pagina 53, ma cliccando sul link si viene mandati a pagina 51.

    • #11450
      gmc
        Up
        0
        Down
        ::


        Ciao,

        P.S. ulteriori dettagli. Sono incongruenti anche le pagine segnate nell’indice e dove si viene rimandati cliccando sul link nell’indice. In particolare ci sono le seguenti incongruenze:

        – Nell’indice “Indice analitico” è a pagina 48. In pratica è a pagina 48, ma cliccando sul link si viene mandati a pagina 47.

        – Nell’indice “Elenco delle figure” è a pagina 49. In pratica è a pagina 49, ma cliccando sul link si viene mandati a pagina 47.

        – Nell’indice “Elenco degli algoritmi” è a pagina 50. In pratica è a pagina 51, ma cliccando sul link si viene mandati a pagina 49.

        -Nell’indice “Bibliografia” è a pagina 53. In pratica è a pagina 53, ma cliccando sul link si viene mandati a pagina 51.

        A volte mi è successo lo stesso (specialmete con la bibliografia). Utilizzando il pacchetto tocbibind si risolve tutto (almeno per ciò che riguarda la bibliografia, la toc e la lof), inoltre così non devi aggiunger il comando \addtocontentsline

        A questo indirizzo http://www.ctan.org/tex-archive/macros/latex/contrib/tocbibind/tocbibind.pdf trovi la guida. Mi sembra (con una lettura veloce) che per le liste personali devi aggiungere qualche comando.

        Un saluto,
        Peppe

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

    Go to top