I don't know anything about hyperxmp
, but for sure pdfx
package loads xmpincl
to handle the expected XMP metadata.
Your problem could arise from a slight syntax confusion.
1. Your approach
\hypersetup{
pdftitle={\@title},
pdfauthor={\@author},
pdfcreator=pdfLaTeX,
pdfproducer={\@author},
}
should work, as long as :
- you have loaded
hyperref
- you don't have loaded
pdfx
(see pdfx
manual page 17)
- you did'nt use
\maketitle
which by default empties both \@title
and \@author
A MWE :
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{blindtext} % for example text only
\title{A simple title}
\author{A cute author}
\usepackage{hyperref}
\makeatletter
\hypersetup{
pdftitle={\@title},
pdfauthor={\@author},
pdfcreator={pdfLaTeX with hyperref},
pdfproducer={\@author},
pdfsubject={Some answer about metadata},
pdfkeywords={LateX hyperref},
}
\makeatother
\begin{document}
\blindtext
\end{document}
and the meta data shown in PDF-Xchange and Adobe Reader:
.
2. Another option, without hyperref
, using pdfLaTeX's command \pdfinfo
, used as:
\pdfinfo {
/Title (\@title)
/Author (\@author)
/Subject (\@suject)
/Keywords (\@keywords)
}
The MWE :
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{blindtext}
\title{A simple title}
\author{A cute author}
%\usepackage{hyperref}
\makeatletter
\pdfinfo {
/Title (\@title)
/Author (\@author)
/Subject (Some answer about metadata)
/Keywords (LateX hyperref)
}
\makeatother
\begin{document}
\blindtext
\end{document}
and the result:
3. if you load pdfx
, the metadata set relies on the \jobname.xmpdata
file
which could look as (see pdfx
manual page 6):
\Title{Baking through the ages}
\Author{A. Baker\sep C. Kneader}
\Language{en-GB}
\Keywords{cookies\sep muffins\sep cakes}
\Publisher{Baking International}
\CoverDisplayDate{1er\ avril\ 1999}
\CoverDate{1999-04-01}
and as said in 1., \hypersetup
method is disabled.
A third MWE :
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{blindtext}
\usepackage[a-3b,pdf17]{pdfx}
\title{A simple title}
\author{A cute author}
%\usepackage{hyperref}
\begin{filecontents*}{\jobname .xmpdata}
\Title{Another simple title}
\Author{A cute author}
\Subject{Some answer about metadata}
\Keywords{LateX \sep hyperref}
\end{filecontents*}
\begin{document}
\blindtext
\end{document}
and its result:
Please notice that:
- I used
pdfa-3b
as pdfa-3u
is not suitable according to @UlrikeFischer answer
- In the 3rd scheme (pdfx) the title ,is the one written in the
.xmpdata
, independently of \title
in the main document
- The keywords creator, producer and others of the same kind are usually automatically set by
pdflatex
and pdfx
, and could require much more effort if you really want to customize them.
pdfaconformance
?