我正在尝试使用包生成 pdf-x pdfx
。
如果我使用 LuaLaTeX 或 XeLaTeX 编译以下 mwe
\documentclass{memoir}
\usepackage{lipsum}
\setstocksize{29.7cm}{21cm}
\settrimmedsize{21cm}{13cm}{*}
\settypeblocksize{*}{9.1cm}{1.618}
\setlrmargins{1.5cm}{*}{*}
\setulmargins{2.12cm}{*}{2}
\checkandfixthelayout
\usepackage[x-1a]{pdfx}
\begin{document}
\lipsum
\end{document}
布局变得混乱。问题似乎出在pdfx
和memoir
之间\settrimmedsize
:如果我将修剪尺寸设置为与库存尺寸相同,问题就会消失。
事实上,当我生成 pdf type a-1b (带有\usepackage[a-1b]{pdfx}
) 时,问题也消失了。
有人知道问题出在哪里以及如何解决它吗?
答案1
pdfx 不考虑 memoir 的尺寸,对媒体框使用 \paperwidth 而不是 \stockwidth。您可以像这样重置它(使用 lualatex 和 pdflatex,xelatex 需要不同的代码),但您可能还必须调整其他框的值——我只是复制了 pdfx 当前使用的值。
\documentclass{memoir}
\usepackage{lipsum}
\setstocksize{29.7cm}{21cm}
\settrimmedsize{21cm}{13cm}{*}
\settypeblocksize{*}{9.1cm}{1.618}
\setlrmargins{1.5cm}{*}{*}
\setulmargins{2.12cm}{*}{2}
\checkandfixthelayout
\usepackage[x-1a]{pdfx}
\ExplSyntaxOn
\exp_args:Nx
\pdfpagesattr
{
/MediaBox[0~0~\dim_to_decimal:n{0.996264009963\stockwidth}~\dim_to_decimal:n{0.996264009963\stockheight}]
/BleedBox[0~0~\dim_to_decimal:n{0.996264009963\stockwidth}~\dim_to_decimal:n{0.996264009963\stockheight}]
/CropBox[0~0~\dim_to_decimal:n{0.996264009963\stockwidth}~\dim_to_decimal:n{0.996264009963\stockheight}]
/TrimBox[25~20~\dim_to_decimal:n{0.996264009963\stockwidth-25pt}~\dim_to_decimal:n{0.996264009963\stockheight-20pt}]
}
\ExplSyntaxOff
\begin{document}
\lipsum
\end{document}