![回忆录 settrimmedsize 和 PDF-X 之间不兼容?](https://linux22.com/image/446156/%E5%9B%9E%E5%BF%86%E5%BD%95%20settrimmedsize%20%E5%92%8C%20PDF-X%20%E4%B9%8B%E9%97%B4%E4%B8%8D%E5%85%BC%E5%AE%B9%EF%BC%9F.png)
我正在尝试使用包生成 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}