回忆录 settrimmedsize 和 PDF-X 之间不兼容?

回忆录 settrimmedsize 和 PDF-X 之间不兼容?

我正在尝试使用包生成 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}

布局变得混乱。问题似乎出在pdfxmemoir之间\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}

相关内容