
\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}
Если я скомпилирую MWE выше и просмотрю TrimBox PDF с помощью просмотрщика PDF, например Acrobat, TrimBox не будет выровнен с метками обрезки, созданными пакетом geometry
. (См. изображение ниже: TrimBox на выходе имеет зеленый цвет; он должен быть правильно расположен на одной линии с розовым прямоугольником.) Как мне передать размеры и смещения из layout
в pdfx
, чтобы он мог поместить TrimBox в нужное место (или перезаписать pdfx
размещение TrimBox в )? Я использую LuaTeX.
решение1
pdfx жестко кодирует trimbox с границей 25/20 pt. Вам придется сбросить его. Имейте в виду, что другие пакеты, использующие переменную pagesattr, могут вмешиваться (значения 0.996264009963 для /MediaBox взяты из 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}