
\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}
Wenn ich das obige MWE kompiliere und die TrimBox der PDF-Datei mit einem PDF-Viewer wie Acrobat ansehe, ist die TrimBox nicht an den vom geometry
Paket erzeugten Schnittmarken ausgerichtet. (Siehe Abbildung unten: Die TrimBox als Ausgabe ist grün; sie sollte richtig in einer Linie mit dem rosa Rechteck positioniert sein.) Wie kann ich die Abmessungen und Offsets von layout
an übergeben pdfx
, damit die TrimBox an der richtigen Stelle platziert werden kann (oder andernfalls die pdfx
Platzierung der TrimBox von überschrieben wird)? Ich verwende LuaTeX.
Antwort1
pdfx codiert die Trimbox mit einem Rand von 25/20 pt fest. Sie müssen dies zurücksetzen. Beachten Sie, dass andere Pakete, die die Variable pagesattr verwenden, stören können (die Werte 0,996264009963 für /MediaBox stammen von 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}