无法为裁剪包提供长度变量?

无法为裁剪包提供长度变量?

我不明白为什么,但以下代码失败并出现错误

! Missing \endcsname inserted.
<to be read again> 
                   \myStock 
l.607 \AtBeginDocument
                      {\@nameuse{CROP@init@\CROP@driver}}
? 
! Emergency stop.
<to be read again> 
                   \myStock 
l.607 \AtBeginDocument
                      {\@nameuse{CROP@init@\CROP@driver}}

\newcommand而如果我使用\setlength,效果就会很好。

知道为什么我不能给crop包提供长度变量,而它却可以与几何包一起使用吗?

谢谢!

梅威瑟:

\documentclass{article}
\usepackage{lipsum}

\newlength{\myWidth}\setlength{\myWidth}{297mm}
% Does not work
\newlength{\myStock}\setlength{\myStock}{302mm}
% Works
% \newcommand{\myStock}{302mm}
\usepackage[
  paperwidth=\myWidth,
  paperheight=\myWidth,
  pdftex=false,dvips=false,vtex=false,
  ]{geometry}

\usepackage[width=\myStock,height=\myStock,center,pdflatex,frame,noinfo]{crop}

\begin{document}%
\lipsum[1-20]
\end{document}

答案1

长度寄存器的扩展形式的工作原理:

\newlength{\myWidth}\setlength{\myWidth}{297mm}
\newlength{\myStock}\setlength{\myStock}{302mm}
...
\usepackage[width=\the\myStock,height=\the\myStock,center,pdflatex,frame,noinfo]{crop}

然后选项的值width代替长度寄存器height859.27322pt

相关内容