通过 .sty 文件定义各种修剪尺寸

通过 .sty 文件定义各种修剪尺寸

我正在尝试编写一个包,它可以通过TeX应用程序文件中的选项支持各种 Trim 尺寸,我的标签如下:

.sty我的文件中的定义

\newif\ifsixbynine  
\newif\ifsevenbynine
\newif\ifeightbynine

\NeedsTeXFormat{LaTeX2e}

\usepackage[a4,center,cam,info]{crop}

\usepackage{lipsum}

\ifsixbynine
\setlength{\paperheight}{9truein}%
\setlength{\paperwidth}{6truein}%
\fi

\ifsevenbynine
\setlength{\paperheight}{9truein}%
\setlength{\paperwidth}{7truein}%
\fi

\ifeightbynine
\setlength{\paperheight}{9truein}%
\setlength{\paperwidth}{8truein}%
\fi


\addtolength\topmargin{-1in}

\setlength\textwidth{26pc}

\setlength\textheight{39pc}

\setlength\oddsidemargin{5pc}
\addtolength\oddsidemargin{-1in}    % subtract out the 1 inch driver margin
\setlength\@tempdima{\paperwidth}
\addtolength\@tempdima{-\textwidth}
\addtolength\@tempdima{-5pc}
\setlength\evensidemargin{\@tempdima}
\addtolength\evensidemargin{-1in}

\DeclareOption{6x9}{\global\sixbyninetrue}
\DeclareOption{7x9}{\global\sevenbyninetrue}
\DeclareOption{8x9}{\global\eightbyninetrue}

\ProcessOptions

\endinput

.tex我的文件内容

\documentclass{book}
\usepackage[6x9]{test}

\begin{document}

\lipsum[1-9]

\end{document}

但输出结果与我预期的不一样。你能帮我看看我的定义哪里错了吗?

答案1

问题在于,您正在声明选项并\ProcessOptions在包文件末尾调用宏。根据提供的选项,此宏将设置适当的标志(\sixbynine和其他标志),因此需要调用它使用了标志。

相关内容