无法通过计算使裁剪与动态长度和宽度配合使用

无法通过计算使裁剪与动态长度和宽度配合使用

我正在使用XeTeXVersion 3.1415926-2.4-0.9998 (TeX Live 2012/W32TeX) 设计书籍封面。我想编写一个通用文档,其中包含可自定义的书籍宽度、高度、出血和书脊尺寸,我也可以使用该文档来设计其他尺寸的书籍。我正在使用 calc 包来计算最终的宽度和高度,包括书脊和/或出血。

我无法让裁剪适应动态宽度和长度。下面是 MWE。

\documentclass[12pt]{article}
\usepackage{calc}
\newlength{\bookwidth}
\newlength{\bookheight}
\newlength{\bookspine}
\newlength{\bookbleed}
\newlength{\ltwidth}
\newlength{\cvrwidth}
\newlength{\cvrheight}
\setlength{\bookwidth}{138mm}   % metric demy 8vo
\setlength{\bookheight}{216mm}  % metric demy 8vo
\setlength{\bookspine}{8mm}     % spine based on number of pages 
\setlength{\bookbleed}{3mm}     % bleed as suggested by printing press
\setlength{\ltwidth}{\bookwidth*\real{2.0} + \bookspine}
\setlength{\cvrwidth}{\bookwidth*\real{2.0} + \bookspine + \bookbleed*\real{2.0}}
\setlength{\cvrheight}{\bookheight + \bookbleed*\real{2.0}}
\usepackage[dvips=false,pdftex=false,vtex=false,margin=0in,paperwidth=\ltwidth,paperheight=\bookheight]{geometry}
%Does not compile with the following
%\usepackage[noaxes,noinfo,cam,dvips,pdftex,center,width=\cvrwidth,height=\cvrheight]{crop}
%The following works though
\usepackage[noaxes,noinfo,cam,dvips,pdftex,center,width=290mm,height=222mm]{crop}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\noindent Book cover content here.\\
\the\ltwidth\\\the\cvrwidth\\\the\cvrheight
\end{document}

答案1

LaTeX 期望包选项是简单字符串或可展开为简单字符串的内容。长度寄存器无法展开,并且会中断,例如,当 LaTeX 尝试找出选项是否已定义时。长度寄存器可以通过在其前面加上前缀来展开\the

\usepackage[..., width=\the\cvrwidth, height=\the\cvrheight, ...]{crop}

相关内容