Errore dummy-space con pdfx

  • Creatore
    Topic
  • #104165
    robitex
    Amministratore del forum
      Up
      0
      Down
      ::


      Ciao a tutti.
      Sto compilando una serie di documenti tecnici con lo standard PDF-A con pdflatex.
      Nel preambolo carico il pacchetto pdfx in questo modo:
      `\usepackage[a-1b]{pdfx}`

      Nella directory del sorgente salvo il file con estensione xmpdata per i metadati e il file del profilo di colore.

      Ricevo tuttavia il seguente warning:
      `pdflatex.exe: fontmap entry for `dummy-space' already exists, duplicates ignored
      (c:/texlive/2015/texmf-dist/tex/latex/hyperref/hyperref.sty
      Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX`

      Come è possibile evitarlo?
      Vista la “delicatezza” del pdf-a non vorrei che questo inficiasse la validità del pdf.

      Vi segnalo anche questo documento ftp://ftp.fu-berlin.de/tex/CTAN/macros/latex/contrib/pdfx/pdfx.pdf per chi si avvicina al pdf-a.

      Grazie.
      R.

    Visualizzazione 13 filoni di risposte
    • Autore
      Risposte
      • #104166
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Se carichi pdfx NON devi caricare hyperref, perché lo fa pdfx e quindi ricevi dei conflitti.

          Il link che hai segnalato non è necessario: quel file pdfx.pdf è il normale file di documentazione che è già presente nell’installazione completa di TeXLive e (probabilmente) di MiKTeX.

          Lo leggi con il semplice texdoc pdfx Nella mia installazione (aggiornatissima) di MacTeX (TexLive) il file risulta essere la versione 1.5.4 datata 2015/02/28.

          Mi fa piacere che il pacchetto sia stato aggiornato, perché l’ultima volta che l’ho usato risaliva al 2014 e il risultato non passava la verifica PDF/A di Adobe Acrobat Pro XI.

          Ora ci riprovo, ma continuo ad essere pessimista. L’ultima volta che l’ho usato sperimentavo un file sedicente PDF/A compatibile che passava il contorollo di Adobe Acrobat Pro XI su una macchina Windows, mentre lo stesso file non al passava sul mio Mac, con la stessa versione di Adobe Acrobat Pro XI. Ho segnalto il problema alla Adobe, inviando il file di test, ma non ho avuto nessun feedback e nemmeno un cenno di aver ricevuto la segnalazione del bug.

          Roby, stai attento che la maggior parte degli enti che pretende di ricevere documenti conformi alle noeme PDF/A non sanno di che cosa stiano parlando, anche perché nella maggior parte dei casi se va bene aprono il file con Adobe Reader, il quale riconosce se un file PDF dice/pretende di essere PDF/A conforme. Il Reader lo deduce dalla presenza dei metadati, ma non fa nessuna vera verifica.

          I software che eseguono la verifica sono tutti a pagamento; il più economico sembra essere Adobe Acrobat Pro e dovrebbe essere abbastanza affidabile visto che i tecnici della Adobe fanno parte del Working Group che redige e aggiorna la norma ISO 19005.
          Le verifiche on line gratuite ci sono, ma sono sempre negative; prova ad immaginare perché una azienda produttrice di una software da alcuni biglietti da mille dovrebbe offrire i suoi servizi gratis…

        • #104167
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::


            Grazie Claudio.
            Non ricordo se la classe carica hyperref ma credo proprio di si.
            Controllerò meglio lunedì al mio ritorno in ufficio.
            Alla prossima.
            R.

          • #104168
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::


              Ciao.
              Ricreare il problema è stato molto più semplice di quel che immaginassi.
              Ecco un minimal worked example che produce il messaggio di warning sul ‘dummy-space’:
              `\documentclass{article}
              \usepackage[a-1b]{pdfx}

              \begin{document}
              contenuto…
              \end{document}`

              Compilo con pdflatex con TeX Live 2015 aggiornata a oggi.
              Ho verificato che la classe (che ho scritto io stesso) non carica hyperref ma lo fa solamente pdfx stesso.
              Saluti.
              R.

            • #104169
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Robi, ho costruito il tuo file pari pari con un copia-incolla, e l’ho fatto girare con pdflatex; dopo un po’ di smarrimento, perché non mi ricordavo di avere una vecchia versione di pdfx.sty nel mio albero personale, e perché con la versione attuale bisogna inserire i metadati con un file di nome diverso dal passato, (ottima occasione, la mia, per testare la nuova versione di pdfx e per mettermi a giorno delle novità) la compilazione da me procede perfettamente, senza messaggi di dummy-space duplication. Forse succede anche a te, ma dal tuo ultimo messaggio avevo capito che l’RMC che hai allegato serviva per riprodurre l’errore.
                A me non si riproduce. La mia versione di TeXLive )MacTeX) è aggiornata ad una settimana fa.

                Nonostante questo, sarebbe importante (a parte l’EMC) non usare mai i font CM; sarebbe desiderabile usare solo i font OpenType, quindi a rigore, visto che xelatex non produce direttamente il file PDF compatibile ma bisogna trasformalo in ps e poi renderlo compatibile attraverso ghostscript, xelatex sarebbe da escludere; di conseguenza si potrebbe avere qualche chance solo con lualatex. Sono tutte prove che non ho fatto, anche perché ci vorrebbe non un EMC, ma un vero documento contente testo con diversi font, matematica, figure, tabelle, grafica in linguaggio PDF (pict2e, curve2e, TikZ, pgfplot, eccetera). Quindi sarebbe un test piuttosto pesante.

              • #104170
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::

                  OldClaudio” post=104197Robi, ho costruito il tuo file pari pari con un copia-incolla, e l’ho fatto girare con pdflatex; dopo un po’ di smarrimento, perché non mi ricordavo di avere una vecchia versione di pdfx.sty nel mio albero personale, e perché con la versione attuale bisogna inserire i metadati con un file di nome diverso dal passato, (ottima occasione, la mia, per testare la nuova versione di pdfx e per mettermi a giorno delle novità) la compilazione da me procede perfettamente, senza messaggi di dummy-space duplication. Forse succede anche a te, ma dal tuo ultimo messaggio avevo capito che l’RMC che hai allegato serviva per riprodurre l’errore.
                  A me non si riproduce. La mia versione di TeXLive )MacTeX) è aggiornata ad una settimana fa.

                  Nonostante questo, sarebbe importante (a parte l’EMC) non usare mai i font CM; sarebbe desiderabile usare solo i font OpenType, quindi a rigore, visto che xelatex non produce direttamente il file PDF compatibile ma bisogna trasformalo in ps e poi renderlo compatibile attraverso ghostscript, xelatex sarebbe da escludere; di conseguenza si potrebbe avere qualche chance solo con lualatex. Sono tutte prove che non ho fatto, anche perché ci vorrebbe non un EMC, ma un vero documento contente testo con diversi font, matematica, figure, tabelle, grafica in linguaggio PDF (pict2e, curve2e, TikZ, pgfplot, eccetera). Quindi sarebbe un test piuttosto pesante.

                  Grazie Claudio.
                  Ti confermo che con la TeX Live 2015 aggiornata per win32 ricevo l’avvertimento anche se carico il Latin Modern come in:
                  `\documentclass{article}
                  \usepackage[T1]{fontenc}
                  \usepackage[utf8]{inputenc}
                  \usepackage[italian]{babel}

                  \usepackage{lmodern}

                  \usepackage[a-1b]{pdfx}

                  \begin{document}
                  contenuto…
                  \end{document}`

                  L’inizio del log che contiene l’avvertimento è:
                  `This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/W32TeX) (preloaded format=pdflatex)
                  restricted \write18 enabled.
                  entering extended mode
                  (./senza-nome-1.tex
                  LaTeX2e <2015/10/01> patch level 2
                  Babel <3.9m> and hyphenation patterns for 79 languages loaded.
                  (c:/texlive/2015/texmf-dist/tex/latex/base/article.cls
                  Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
                  (c:/texlive/2015/texmf-dist/tex/latex/base/size10.clo))
                  (c:/texlive/2015/texmf-dist/tex/latex/base/fontenc.sty
                  (c:/texlive/2015/texmf-dist/tex/latex/base/t1enc.def))
                  (c:/texlive/2015/texmf-dist/tex/latex/base/inputenc.sty
                  (c:/texlive/2015/texmf-dist/tex/latex/base/utf8.def
                  (c:/texlive/2015/texmf-dist/tex/latex/base/t1enc.dfu)
                  (c:/texlive/2015/texmf-dist/tex/latex/base/ot1enc.dfu)
                  (c:/texlive/2015/texmf-dist/tex/latex/base/omsenc.dfu)))
                  (c:/texlive/2015/texmf-dist/tex/generic/babel/babel.sty
                  (c:/texlive/2015/texmf-dist/tex/generic/babel-italian/italian.ldf
                  (c:/texlive/2015/texmf-dist/tex/generic/babel/babel.def)))
                  (c:/texlive/2015/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
                  (c:/texlive/2015/texmf-dist/tex/latex/lm/lmodern.sty)
                  (c:/texlive/2015/texmf-dist/tex/latex/pdfx/pdfx.sty{c:/texlive/2015/texmf-var/f
                  onts/map/pdftex/updmap/pdftex.map}

                  pdfTeX warning: pdflatex.exe: fontmap entry for `dummy-space' already exists, d
                  uplicates ignored
                  (c:/texlive/2015/texmf-dist/tex/latex/hyperref/hyperref.sty
                  (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
                  (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
                  (c:/texlive/2015/texmf-dist/tex/latex/graphics/keyval.sty)
                  (c:/texlive/2015/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
                  (c:/texlive/2015/texmf-dist/tex/latex/oberdiek/auxhook.sty)
                  (c:/texlive/2015/texmf-dist/tex/latex/oberdiek/kvoptions.sty)
                  (c:/texlive/2015/texmf-dist/tex/latex/hyperref/pd1enc.def)
                  (c:/texlive/2015/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
                  (c:/texlive/2015/texmf-dist/tex/latex/url/url.sty))

                  Package hyperref Message: Driver: hpdftex.
                  `

                  Inoltre sembra che pdfx non sia compatibile con LuaLaTeX. Per imbattersi in un errore basta compilare questo:
                  `\documentclass{article}

                  \usepackage{fontspec}

                  \usepackage[a-1b]{pdfx}

                  \begin{document}
                  contenuto…
                  \end{document}`
                  Un saluto.
                  R.

                • #104171
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Alla riga 121 la nuova versione di pdfx contiene

                    \pdfmapline{+dummy-space

                  • #104172
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::

                      OldClaudio” post=104202Alla riga 121 la nuova versione di pdfx contiene

                      \pdfmapline{+dummy-space

                      Ottimo.
                      Del resto la scelta di includere quel font alla mappa può aiutare gli utenti che non hanno l’installazione completa ma anche far preoccupare quelli che come me temono che il pdf-a possa essere malformato e che non s’intendono di font.
                      Grazie mille.
                      R.

                    • #104173
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Giusto; la documentazione di pdfx al paragrafo 3.1 dice:

                        3.1. Limitations and dependencies
                        pdfx.sty works only with PDFTEX. It further depends on the following packages:
                        1. xmpincl for insertion of metadata into PDF.
                        2. hyperref for hyperlinking, bookmarks, etc.
                        3. glyphtounicode.tex maps glyph names to corresponding Unicode.

                        I pacchetti che gli servono sono già inclusi, ma la prima frase è esplicita: funziona solo con pdftex usato come motore di composizione, non con luatex usato come motore. Quindi con pdfLaTeX funziona; con LuaLaTeX non funziona.

                        Ne deduco che l’unico modo di avere un PDF/A conforme usando XeLaTeX o LuaLaTeX è quello di produrre un file PDF e di convertirlo in PDF/A mediante ghostscript. Non ho controllato se il gostscript installato con TeXLive è sufficientemente aggiornato per poter eseguire questa conversione.

                      • #104174
                        robitex
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::


                          Magari in un prossimo futuro saranno disponibili quelle funzionalità svolte dai pacchetti per LaTeX anche per LuaTeX.
                          R.

                        • #104175
                          OldClaudio
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Caro Roberto,
                            negli ultimi giorni mi sono dedicato ad approfondire i cambiamenti che sono avvenuti in TeXLive, GostScript e in pdfLaTeX, XeLaTeX e LuaLaTeX.

                            Ecco quanto ho scoperto:
                            0) PreliminarNon ci osno o non ci dovrebero essere problemi con i font di LaTeX; anche se ci sono due file cmsym e un altro font matematico che sono incompatibili per qualche glifo di larghezza nulla; con il pacchetto TOPteso ho rideifnit i comandi che usano quel paio di glifi sbagliati, per l’altro font il problema non mi si è mai presentato, quindi mi sono dimenticato di quale/i glifo/i si tratti. I problemi veri nascono dal profilo di colore e dai file importati; per il profilo di colore pdfx fa tutto da solo ed è meglio non metterci el mani dentro. Per i file importati, se sono file PDF o EPS generati “in casa” bisogna rigenerali in modo che essi stessi siano PDF/A compatibili, perché di solito i metadati relativi ai font e al profilo di colore non sono presenti; altrimenti bisogna convertirli in file raster PBG se sono al tratto o JPG se sono fotografie cuarndo che siano RGB e non CMYK come talvolta succede.

                            1) pdfLaTeX
                            il pacchetto pdfx, al contrario di quello che faceva prima, va caricato dopo il pacchetto inputnec e prima del pacchetto hyperref; quest’ultimo deve venire chiamato senza opzioni e le impostazioni vanno fatte successivamnte mediante \hypersetup. ovviamante ci vule il file .xmpdata con il nome uguale a quello del main file.
                            Le compilazione procede senza errori, lerrore dummy-space non si mainfaesta più, ec’è la possibilità che il file sia PDF/A compatibile, se sono soddisfatte altre circostanze. (vedi punto 0 )

                            2) XeLaTeX
                            Non può produrre da solo file PDF/A perché la sua composzione passa attraverso unfiel DVI esteso, che viene convertito in PPDF mediante una versione speciale ed estesa di dvipdfm. Invece il formato PDF/A necessita di primitive che ha solo il motore pdftex. Quindi bisogna passare attravero Ghostscript, am è difficle configurare il file dei metadati *_def.ps che potrebbe mantenere il nome originale del modello PDFA_def.ps, ma è meglio usare un file col nome del file principale del file PDF generato da XeLaTeX. Un altro metodo più semplice consiste nel creare un semplice file di poche righe che usi il pacchetto pdfpages, ceare il file di metadati .xmodata col nome di questo piccolo file, e usare questo piccolo file per importare il file PDF generato da XeLaTeX. Entrambi i metodi perdono la funzionalità dei collegamenti ipertestuali eventualmente presenti ne file da convertire.

                            3) LuaLaTeX
                            La documentazione di pdfx dice che esso è compatibile solo con pdfLaTeX, come ti ho già scritto, ma bisogna avere fiducia. Se il file da comporre con LuaLaTeX non usa profili di colore strambi, né importa file PDF con contenuti non compatibili, allora vale la pena di caricare pdfx prima di hyperef (senza opzioni, ma configurato dopo mediante \hypersetup) e lanciare la compilazione LuaLaTeX; siccome questo è incompatibile con pdfx,a un cero punto si ferma dicendo che una certa primitiva (di pdftex) è una control sequence ignota. In errorstopmode il programma si ferma in attesa di istruzioni da parte dell’utente; si preme il taso S + invio, e la compilazione riparte. Miracolo! il file PDF ottenuto è PDF/A compatibile e passa l’analisi di Preflight di Adobe Acrobat Pro XI; ne non la passa è perché il fiel da compilare manca di qualche dato o importa qualche file non PDF/A compatibile. Ovviamante, anche con LuaLaTeX bisogno predisporre il solito file di metadati .xmpdata come si fa per la compilazione mediante pdfLATeX.

                            Ho faticato molto a trovare questi risultati e devo ringraziare Luigi S. che mi ha aiutato con la riga di comando di ghostscript.

                            Quanto è scritto in questo messaggio funziona, ma non si trova scritto da nessu’altra parte. Per cui ora mi accingo ad aggiornare i documenti per il Forum, e altri documenti in giro dove ho scritto del formato PDF/A. In modo che anche qui dal forum possiamo indirizzare gli OP verso una documentazione non così succinta come questo breve ( 😉 😎 😯 😀 ) messaggio.

                          • #104176
                            robitex
                            Amministratore del forum
                              Up
                              0
                              Down
                              ::


                              Gran lavoro Claudio e Luigi.
                              Devo quindi fare molta attenzione sui file importati e ricordarmi di generarli correttamente.
                              In particolare con i disegni generati via CAD…
                              Vorrei anche provare LuaLaTeX ma per il momento non ho il tempo per approfondire e valutare.
                              Infatti le mie compilazioni danno sempre l’avvertimento del dummy-space ma portarle sotto LuaTeX non è immediato perché sono assai complicate: da una manciata di file ricavo un gran numero di relazioni diverse con l’uso di speciali comandi che riversano un testo specifico a seconda del documento da ottenere.
                              Valgono i riferimenti incrociati tra relazioni diverse ma è po’ troppo complicato per cui per il prossimo progetto valuterò il da farsi.
                              Grazie.
                              R.

                            • #104177
                              OldClaudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Attento che le norme PDF/A vietano i collegamenti ipertestuali con destinazioni esterne al file archiviabile.
                                Devi trovare una altro modo, per esempio citazioni bibliografiche.

                                Claudio

                              • #104178
                                robitex
                                Amministratore del forum
                                  Up
                                  0
                                  Down
                                  ::

                                  OldClaudio” post=104368Attento che le norme PDF/A vietano i collegamenti ipertestuali con destinazioni esterne al file archiviabile.
                                  Devi trovare una altro modo, per esempio citazioni bibliografiche.

                                  Claudio

                                  In effetti ne ho alcuni che però non funzionano nel senso che puntano a un file pdf esterno che però non viene effettivamente aperto. Esiste un modo per evitare che hyperref inserisca automaticamente i riferimenti esterni?
                                  Uso il pacchetto xr…
                                  R.

                                • #104179
                                  OldClaudio
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    Che io sappia non ci sono metodi per disabilitare \href impliciti anche attraverso \url, a documenti o siti esterni. però non ricordo la documentazione di hyperref a memoria.

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

                                Go to top