Defina TrimBox como área de layout da geometria

Defina TrimBox como área de layout da geometria
\documentclass{article}
\usepackage{geometry}
\geometry{
  paperwidth=10cm
  , paperheight=10cm
  , layoutwidth=5cm
  , layoutheight=5cm
  , layouthoffset=25mm
  , layoutvoffset=25mm
  , includeheadfoot
  , showcrop
}
\usepackage[x-1a1]{pdfx}

\begin{document}
Lorem ipsum
\end{document}

Se eu compilar o MWE acima e visualizar o TrimBox do PDF usando um visualizador de PDF como o Acrobat, o TrimBox não estará alinhado com as marcas de corte produzidas pelo geometrypacote. (Veja a imagem abaixo: o TrimBox como saída está em verde; ele deve estar devidamente posicionado alinhado ao retângulo rosa.) Como posso passar as dimensões e deslocamentos do to layoutpara pdfxque ele possa colocar o TrimBox no lugar certo (ou caso contrário, substituirá pdfxo posicionamento do TrimBox)? Estou usando LuaTeX.

Posições reais e desejadas do TrimBox

Responder1

pdfx codifica o trimbox com uma borda de 25/20 pt. Você terá que redefini-lo. Esteja ciente de que outros pacotes que usam a variável pagesattr podem interferir (os valores 0,996264009963 para /MediaBox são do pdfx).

\documentclass{article}
\usepackage{expl3}

\usepackage{geometry}
\geometry{
  paperwidth=10cm
  , paperheight=10cm
  , layoutwidth=5cm
  , layoutheight=5cm
  , layouthoffset=25mm
  , layoutvoffset=25mm
  , includeheadfoot
  , showcrop
}
\usepackage[x-1a1]{pdfx}

\ExplSyntaxOn\makeatletter
\tl_new:N\l_soli_trimbox_tl
\tl_set:Nx\l_soli_trimbox_tl 
 {
  \dim_to_decimal_in_bp:n{\Gm@layouthoffset}
  \c_space_tl
  \dim_to_decimal_in_bp:n{\Gm@layoutvoffset}
  \c_space_tl
  \dim_to_decimal_in_bp:n{\paperwidth - \Gm@layouthoffset}
  \c_space_tl
  \dim_to_decimal_in_bp:n{\paperheight - \Gm@layoutvoffset}
 }
\tl_new:N\l_soli_mediabox_tl
\tl_set:Nx \l_soli_mediabox_tl 
 {
  0
  \c_space_tl
  0
  \c_space_tl
  \dim_to_decimal_in_bp:n{0.996264009963\paperwidth}
  \c_space_tl
  \dim_to_decimal_in_bp:n{0.996264009963\paperheight}
 }

\edef\next
 {
  \pdfvariable~pagesattr
   {
     /MediaBox[\l_soli_mediabox_tl]
     /BleedBox[\l_soli_mediabox_tl]
     /CropBox[\l_soli_mediabox_tl]
     /TrimBox[\l_soli_trimbox_tl]
   }
  } 
 \next
\ExplSyntaxOff

\makeatother
\begin{document}
Lorem ipsum
\end{document}

informação relacionada