Ricerca di testo errata nel pdf (due punti invece del punto)

  • Creatore
    Topic
  • #34823
    Up
    0
    Down
    ::


    Ciao a tutti,

    non ho capito perché ma, se uso siunitx, i numeri composti con i comandi
    \num, \SI, ecc., non sono ricercabili nel pdf.

    Nello “strato testo” del pdf al posto del punto ci sono i due punti.
    Infatti se fate una ricerca sostituendo il punto con i due punti
    il testo cercato verrà correttamente trovato.

    Ecco un esempio:
    `\documentclass[a4paper]{article}
    \usepackage{siunitx}
    \begin{document}
    \num{30.2}
    \end{document}`

    Caricando il pacchetto lmodern il problema sparisce.
    Dato che uso sempre i latin modern per me non c’è alcun problema
    però sarebbe interessante capire perché.

    Ciao ciao.
    Fra

Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #34824
      Up
      0
      Down
      ::

      Ciao a tutti,

      non ho capito perché ma, se uso siunitx, i numeri composti con i comandi
      \num, \SI, ecc., non sono ricercabili nel pdf.

      Nello “strato testo” del pdf al posto del punto ci sono i due punti.
      Infatti se fate una ricerca sostituendo il punto con i due punti
      il testo cercato verrà correttamente trovato.

      Ecco un esempio:
      `\documentclass[a4paper]{article}
      \usepackage{siunitx}
      \begin{document}
      \num{30.2}
      \end{document}`

      Caricando il pacchetto lmodern il problema sparisce.
      Dato che uso sempre i latin modern per me non c’è alcun problema
      però sarebbe interessante capire perché.

      No. Trovo sia 3 sia 0 sia 30 sia 2 sia 30.2; e i due punti proprio non li trovo.

      Log file, per favore.

      Ciao
      Enrico

    • #34825
      Up
      0
      Down
      ::


      La ricerca nel mio caso ha esito negativo sia con Acrobat Reader (ultima versione scaricata proprio ora) sia con Foxit Reader.
      Ora ho provato anche con GSview. In questo caso il testo “30.2” viene trovato!

      Ecco qua il log.

      Ciao ciao.
      Fra

      `This is pdfTeX, Version 3.1415926-1.40.9 (MiKTeX 2.7) (preloaded format=pdflatex 2009.6.21) 23 JUN 2009 16:32
      entering extended mode
      **test.tex
      (test.tex
      LaTeX2e <2005/12/01>
      Babel and hyphenation patterns for english, dumylang, nohyphenation, it
      alian, loaded.
      (“C:\Program Files\MiKTeX 2.7\tex\latex\base\article.cls”
      Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
      (“C:\Program Files\MiKTeX 2.7\tex\latex\base\size10.clo”
      File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
      )
      \c@part=\count79
      \c@section=\count80
      \c@subsection=\count81
      \c@subsubsection=\count82
      \c@paragraph=\count83
      \c@subparagraph=\count84
      \c@figure=\count85
      \c@table=\count86
      \abovecaptionskip=\skip41
      \belowcaptionskip=\skip42
      \bibindent=\dimen102
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\siunitx.sty”
      Package: siunitx 2009/06/04 v1.2l A comprehensive (SI) units package

      (“C:\Program Files\MiKTeX 2.7\tex\latex\xkeyval\xkeyval.sty”
      Package: xkeyval 2008/08/13 v2.6a package option processing (HA)

      (“C:\Program Files\MiKTeX 2.7\tex\generic\xkeyval\xkeyval.tex”
      \XKV@toks=\toks14
      \XKV@tempa@toks=\toks15
      \XKV@depth=\count87
      File: xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)

      (“C:\Program Files\MiKTeX 2.7\tex\generic\xkeyval\keyval.tex”)))
      (“C:\Program Files\MiKTeX 2.7\tex\latex\amsmath\amstext.sty”
      Package: amstext 2000/06/29 v2.01

      (“C:\Program Files\MiKTeX 2.7\tex\latex\amsmath\amsgen.sty”
      File: amsgen.sty 1999/11/30 v2.0
      \@emptytoks=\toks16
      \ex@=\dimen103
      ))
      (“C:\Program Files\MiKTeX 2.7\tex\latex\tools\array.sty”
      Package: array 2005/08/23 v2.4b Tabular extension package (FMi)
      \col@sep=\dimen104
      \extrarowheight=\dimen105
      \NC@list=\toks17
      \extratabsurround=\skip43
      \backup@length=\skip44
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\tools\xspace.sty”
      Package: xspace 2006/05/08 v1.12 Space after command names (DPC,MH)
      )
      \si@tempboxa=\box26
      \si@tempboxb=\box27
      \si@tempboxc=\box28
      \si@tempboxd=\box29
      \si@temptoks=\toks18
      \si@tab@mantprecnt=\count88
      \si@tab@mantpostcnt=\count89
      \si@tab@expprecnt=\count90
      \si@tab@exppostcnt=\count91
      \si@num@dp=\count92
      \si@num@sf=\count93
      \si@eVcorra=\skip45
      \si@eVcorrb=\skip46
      \si@frc@displen=\skip47
      \si@frc@textlen=\skip48
      \si@frc@suplen=\skip49
      \si@frc@ssuplen=\skip50
      \si@num@rndtarget=\count94
      \si@tab@toks=\toks19
      \si@tab@pretoks=\toks20
      \si@tab@posttoks=\toks21
      \si@tempcnta=\count95
      \si@tempcntb=\count96
      \si@tab@prebox=\box30
      \si@tab@midbox=\box31
      \si@tab@postbox=\box32
      \si@tab@expbox=\box33
      \si@tab@predim=\dimen106
      \si@tab@postdim=\dimen107
      \si@tab@expdim=\dimen108
      \si@tempdima=\dimen109
      \si@tempdimb=\dimen110
      \si@unt@unitcnta=\count97
      \si@unt@unitcntb=\count98
      \si@unt@depthcnt=\count99
      \si@unt@prefixcnt=\count100
      \si@unt@powerdim=\dimen111

      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-prefix.cfg”
      File: si-prefix.cfg 2009/06/04 v1.2l siunitx: SI Multiple prefixes
      Package siunitx Info: Redefining unit \kilogram on input line 46.
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-named.cfg”
      File: si-named.cfg 2009/06/04 v1.2l siunitx: SI Named units
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-addn.cfg”
      File: si-addn.cfg 2009/06/04 v1.2l siunitx: SI Additional units
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-prefixed.cfg”
      File: si-prefixed.cfg 2009/06/04 v1.2l siunitx: SI Prefixed units

      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-accepted.cfg”
      File: si-accepted.cfg 2009/06/04 v1.2l siunitx: SI Accepted units
      )
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-physical.cfg”
      File: si-physical.cfg 2009/06/04 v1.2l siunitx: SI Physically-measured units
      ))
      (“C:\Program Files\MiKTeX 2.7\tex\latex\siunitx\config\si-abbr.cfg”
      File: si-abbr.cfg 2009/06/04 v1.2l siunitx: Abbreviated units
      )) (test.aux)
      LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3.
      LaTeX Font Info: … okay on input line 3.
      LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 3.
      LaTeX Font Info: Try loading font information for TS1+cmr on input line 3.
      (“C:\Program Files\MiKTeX 2.7\tex\latex\base\ts1cmr.fd”
      File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
      )
      LaTeX Font Info: … okay on input line 3.
      \symsi@greek=\mathgroup4
      Package siunitx Info: xfrac package unavailable
      (siunitx) using `fraction=sfrac' will fall back on
      (siunitx) nicefrac-like method on input line 3.
      LaTeX Font Info: External font `cmex10' loaded for size
      (Font) <7> on input line 3.
      LaTeX Font Info: External font `cmex10' loaded for size
      (Font) <5> on input line 3.
      [1

      {C:/ProgramData/MiKTeX/2.7/pdftex/config/pdftex.map}] (test.aux) )
      Here is how much of TeX's memory you used:
      2152 strings out of 95342
      30193 string characters out of 1184365
      104818 words of memory out of 1500000
      5378 multiletter control sequences out of 110000
      5898 words of font info for 23 fonts, out of 3000000 for 5000
      14 hyphenation exceptions out of 8191
      39i,5n,55p,665b,205s stack positions out of 5000i,500n,10000p,200000b,50000s

      Output written on test.pdf (1 page, 6015 bytes).
      PDF statistics:
      14 PDF objects out of 1000 (max. 8388607)
      0 named destinations out of 1000 (max. 131072)
      1 words of extra memory for PDF output out of 10000 (max. 10000000)
      `

    • #34826
      Antonio Ledda
      Partecipante
        Up
        0
        Down
        ::


        Ho il tuo stesso problema, con quel codice, usando TeXnicCenter, MiKTeX e Adobe Reader 8.

        Copiando dal .pdf il valore “30.2” e incollandolo in TeXnicCenter (o nel “Blocco note”), il valore diventa “30:2”. Probabilmente il pacchetto lmodern fornisce i caratteri giusti. O è un problema del reader di Adobe. ❓

        Ciao,
        Antonio

      • #34827
        Up
        0
        Down
        ::


        Dato che Enrico usa Linux e noi Windows, direi che probabilmente la cosa è legata all’uso di MiKTeX. Ci vorrebbe un test di qualcuno che usa TeXLive su Windows.

        Ciao ciao.
        Fra

      • #34828
        Up
        0
        Down
        ::

        Dato che Enrico usa Linux e noi Windows, direi che probabilmente la cosa è legata all’uso di MiKTeX. Ci vorrebbe un test di qualcuno che usa TeXLive su Windows.

        No, uso Mac OS X, per la verità. 🙂 A quanto pare è un problema di Adobe Reader: non lo uso mai se non per le presentazioni. Con Skim e con Preview posso cercare, copiare e incollare: il punto è sempre punto.

        Ciao
        Enrico

      • #34829
        Up
        0
        Down
        ::

        No, uso Mac OS X, per la verità.

        Ops, ero convintissimo che usassi Linux! Vabbè. . . Mac è un po’ Linux in fondo!

        Tornando al problema, quindi, Enrico, tu hai provato a cercare con adobe reader e non funziona mentre con gli altri sì? Ho capito bene?

        Se così fosse, i software Adobe Reader e Foxit Reader presentano questo problema mentre gli altri no. Uhm. . .

        Fra

      • #34830
        Up
        0
        Down
        ::

        No, uso Mac OS X, per la verità.

        Ops, ero convintissimo che usassi Linux! Vabbè. . . Mac è un po’ Linux in fondo!

        Tornando al problema, quindi, Enrico, tu hai provato a cercare con adobe reader e non funziona mentre con gli altri sì? Ho capito bene?

        Se così fosse, i software Adobe Reader e Foxit Reader presentano questo problema mentre gli altri no. Uhm. . .

        Di Foxit Reader non saprei dire nulla. Di certo Adobe Reader non riconosce correttamente il punto, ma Skim e Preview sì. Anche xpdf vede il punto e lo copia e incolla senza problemi.

        Ciao
        Enrico

      • #34831
        mlgdominici
        Amministratore del forum
          Up
          0
          Down
          ::

          Dato che Enrico usa Linux e noi Windows, direi che probabilmente la cosa è legata all’uso di MiKTeX. Ci vorrebbe un test di qualcuno che usa TeXLive su Windows.

          Ciao ciao.
          Fra

          Il problema per me si presenta solo con Adobe Reader.

          Sistema operativo: Linux Fedora 6
          Distribuzione: TeX Live 2008
          Kpdf: comportamento corretto
          Evince: comportamento corretto
          Xpdf: comportamento corretto
          KGhostView: comportamento corretto
          Adobe Reader 7:comportamento errato

          Ciao,
          Max.

        • #34832
          Up
          0
          Down
          ::

          Dato che Enrico usa Linux e noi Windows, direi che probabilmente la cosa è legata all’uso di MiKTeX. Ci vorrebbe un test di qualcuno che usa TeXLive su Windows.

          Ciao ciao.
          Fra

          Il problema per me si presenta solo con Adobe Reader.

          Sistema operativo: Linux Fedora 6
          Distribuzione: TeX Live 2008
          Kpdf: comportamento corretto
          Evince: comportamento corretto
          Xpdf: comportamento corretto
          KGhostView: comportamento corretto
          Adobe Reader 7:comportamento errato

          Pare che Adobe non sappia gestire correttamente il PDF. 😯 😀

          In effetti, però, il pdf contiene proprio i due punti perché il font cmmi10 ha al posto del carattere “due punti” (ASCII 3A) proprio il punto. In plain.tex c’è difatti \mathcode`\.=”013A (in LaTeX è lo stesso). Il comando \num compone l’argomento in modo matematico. Si possono vedere i due punti impostando \pdfcompresslevel=0.

          Lo stesso avviene con \usepackage{lmodern}, con cui Reader però trova il punto. Quindi il problema sembra risiedere in cmmi10.pfb (oltre che in Reader).

          Ciao
          Enrico

        • #34833
          Up
          0
          Down
          ::


          Grande Enrico! Quindi non c’entra niente il povero siunitx!
          Dovrò cambiare il titolo della discussione.

          Il codice minimale diventa quindi questo:
          `\documentclass{minimal}
          \begin{document}
          $.$
          \end{document}`

          Fra

        • #34834
          Up
          0
          Down
          ::

          Grande Enrico! Quindi non c’entra niente il povero siunitx!
          Dovrò cambiare il titolo della discussione.

          Il codice minimale diventa quindi questo:
          `\documentclass{minimal}
          \begin{document}
          $.$
          \end{document}`

          Fra

          TexLive 2008 su Windows: Acrobat Reader 9 trova e ritorna ‘:’ al posto del ‘.’.
          Ghostview invece trova e copia il ‘.’ (e non trova alcun ‘:’)
          TexLive 2008 su Linux Debian etch: Acrobat Reader 8 trova e ritorna ‘:’ al posto del ‘.’.
          Tutti gli altri trovano e ritornano il ‘.’.

        • #34835
          Up
          0
          Down
          ::

          Grande Enrico! Quindi non c’entra niente il povero siunitx!
          Dovrò cambiare il titolo della discussione.

          Il codice minimale diventa quindi questo:
          `\documentclass{minimal}
          \begin{document}
          $.$
          \end{document}`

          Un po’ di storia: la società BlueSky, nell’ambito del progetto Textures, TeX per il Macintosh fin dai primi anni 90, preparò una versione Type1 dei font Computer Modern che poi donò alla comunità TeX.

          A quel tempo non si pensava nemmeno lontanamente a OpenType e roba simile. Invece i font Latin Modern sono nati con OpenType già in mente e suppongo che usino tabelle di corrispondenza tra caratteri e loro nomi.

          Rimane abbastanza misterioso che altri programmi di visualizzazione riescano a interpretare correttamente il punto. Provo a chiedere.

          Ciao
          Enrico

        • #34836
          Up
          0
          Down
          ::


          Ho provato ad usare l’esempio minimale proposto con diversi tipi di font, ovviamente con il supporto per la matematica.
          Per ora tutti hanno restituito un file pdf che viene correttamente interpretato anche da Acrobat Reader, così come accadeva per i Latin Modern.
          Pertanto il problema dovrebbe essere solo dei Computern Modern, come già detto da Enrico.

          Sono proprio curioso di sapere come andrà a finire questa storia 🙂

          Ciao ciao.
          Fra

        • #34837
          Up
          0
          Down
          ::

          Ho provato ad usare l’esempio minimale proposto con diversi tipi di font, ovviamente con il supporto per la matematica.
          Per ora tutti hanno restituito un file pdf che viene correttamente interpretato anche da Acrobat Reader, così come accadeva per i Latin Modern.
          Pertanto il problema dovrebbe essere solo dei Computern Modern, come già detto da Enrico.

          Sono proprio curioso di sapere come andrà a finire questa storia 🙂

          Secondo Ulrike Fischer sembra che Adobe Reader sia molto restrittivo e guardi al vettore di ricodifica o, mancando questo, alla posizione nel font. Probabilmente gli altri programmi guardano comunque il nome dei caratteri; e cmmi10.pfb contiene
          `dup 58 /period put`
          e 58 in esadecimale è 3A, com’è noto.

          Soluzione? Eccola: \usepackage{cmap}. Grazie Ulrike.

          Ciao
          Enrico

        • #34838
          Up
          0
          Down
          ::

          Secondo Ulrike Fischer sembra che Adobe Reader sia molto restrittivo e guardi al vettore di ricodifica o, mancando questo, alla posizione nel font. Probabilmente gli altri programmi guardano comunque il nome dei caratteri; e cmmi10.pfb contiene
          `dup 58 /period put`
          e 58 in esadecimale è 3A, com’è noto.

          Soluzione? Eccola: \usepackage{cmap}. Grazie Ulrike.

          Ciao
          Enrico

          Molto interessante. Grazie Enrico.
          Peccato che non so cosa sia il vettore di ricodifica 😀

          Non avevo mai sentito il pacchetto cmap. Da quello che leggo nel file README
          sembra essere un pacchetto fondamentale affinché la ricerca nel pdf sia corretta.
          Però, a parte il caso eccezionale trattato in questa discussione, di solito la ricerca funziona sempre bene, quindi a cosa serve?
          Andrebbe sempre caricato quando si vuole generare un buon pdf?

          Ciao ciao.
          Fra

        • #34839
          Up
          0
          Down
          ::

          Peccato che non so cosa sia il vettore di ricodifica 😀

          Se guardi il file pdftex.map, troverai che consiste di righe della forma
          `ASCII ASCII Non avevo mai sentito il pacchetto cmap. Da quello che leggo nel file README sembra essere un pacchetto fondamentale affinché la ricerca nel pdf sia corretta. Però, a parte il caso eccezionale trattato in questa discussione, di solito la ricerca funziona sempre bene, quindi a cosa serve?
          Andrebbe sempre caricato quando si vuole generare un buon pdf?

          Non so, sinceramente, perché non funzioni con cmmi10, può essere per il fatto che è precaricato con il formato e quindi il pdf non contiene il vettore di codifica “standard” di quel font. Secondo il README può essere necessario usare l’opzione resetfonts per avere il riconoscimento “certo” della corrispondenza nome-carattere.

          Non l’ho mai usato e non avevo mai notato questo problema, anche perché di solito non uso Reader.

          Ciao
          Enrico

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

      Go to top