Evitando erros com \includexmp{pdfa-1b}. Alguma lista de práticas recomendadas e exemplos de trabalho com arquivos .XMP completos?

Evitando erros com \includexmp{pdfa-1b}. Alguma lista de práticas recomendadas e exemplos de trabalho com arquivos .XMP completos?

Estou recebendo o seguinte erro ao tentar usar algunspdfa-1bcoisa:

(/usr/local/texlive/2015basic/texmf-dist/tex/generic/pgf/frontendlayer/tikz/lib
raries/tikzlibrarytopaths.code.tex))) (./chronosyschr.tex)) (./longtable.sty) (./arydshln.sty) (./xmpincl.sty
(/usr/local/texlive/2015basic/texmf-dist/tex/latex/base/ifthen.sty))
! Missing $ inserted.
<inserted text> 
                $
l.274 \includexmp{pdfa-1b}

? 

Codifique em meu arquivo .tex da seguinte maneira:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% XMP data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xmpincl}

\providecommand{\xmpProducer}{LaTeX2e}
\providecommand{\xmpOrg}{MyOrg}
\providecommand{\xmpTitle}{\ttitle}
\providecommand{\xmpAuthor}{\tauthor, [email protected]}
\providecommand{\xmpKeywords}{\tkeywordsEn}

\includexmp{pdfa-1b}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pdfInfo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pdfinfo{%
/Title    (\ttitle)
/Author   (\tauthor, [email protected])
/Subject  (\ttitleEn)
/Keywords (\tkeywordsEn)
/ModDate  (\pdfcreationdate)
/Trapped  /False
}

Exemplos de metadados XMP (ouEsquemas predefinidos XMP) não estão prontamente disponíveis na documentação, exceto License.XMP, que funciona. Mas exemplos de uso real eMelhores Práticascom metadados mais completos estão faltando.

E estou tentando usar o arquivo pdfa-1b.xmp no repositório GitHub: https://github.com/bencomp/pdfx-ext/blob/master/pdfa-1b.xmp (já que tudo o que foi fornecido por nosso corpo docente não é compilado; e descartando seu conteúdo emhttps://www.pdflib.com/knowledge-base/xmp-metadata/free-xmp-validator/virouinválido).

E toda a documentação extensa carece de exemplos básicos de trabalho... Ou talvez apenas olhando a documentação/pacotes errados do pdfa-1b...

Agradecemos antecipadamente por quaisquer respostas úteis.

Responder1

O xmpinclpacote funciona com, por exemplo, o arquivo xmp fornecido no manual (vejahttps://www.ctan.org/tex-archive/macros/latex/contrib/xmpincl?lang=en, é mais fácil copiar o xmp do final do arquivo .dtx).

No entanto, o pdfa-1b.xmparquivo contém algumas condicionais com @, portanto, você precisa colocar o \includexmpwith \makeatlettere \makeatother. No meu sistema, por algum motivo, a \ifx \@emptyconstrução não funcionou (a cláusula else foi executada), substituí-a no arquivo xmp com \ifx \undefinedo qual funcionou.

MWE:

\documentclass{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% XMP data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xmpincl}

\providecommand{\xmpProducer}{LaTeX2e}
\providecommand{\xmpOrg}{MyOrg}
\providecommand{\xmpTitle}{MyTitle}
\providecommand{\xmpAuthor}{MyAuthor, [email protected]}
\providecommand{\xmpKeywords}{MyKeywords}
\providecommand{\xmpSubject}{MySubject}
\providecommand{\xmpCreatorTool}{\pdftexbanner}
\providecommand{\convDate}{\pdfcreationdate}
\makeatletter
\includexmp{pdfa-1b}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pdfInfo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pdfinfo{%
/Title    (MyTitle)
/Author   (MyAuthor, [email protected])
/Subject  (MySubject)
/Keywords (MyKeywords)
/ModDate  (\pdfcreationdate)
/Trapped  /False
}
\begin{document}
Hello, world!
\end{document}

Trecho do modificado pdfa-1b.xmp:

\ifx\xmpJournalnumber\undefined\relax\else<prism:issn>\xmpJournalnumber</prism:issn>\fi
\ifx\xmpVolume\undefined\relax\else<prism:volume>\xmpVolume</prism:volume>\fi
\ifx\xmpIssue\undefined\relax\else<prism:number>\xmpIssue</prism:number>\fi

Resultado:

insira a descrição da imagem aqui

informação relacionada