我正在尝试将文档编译为自定义页面大小,然后打印裁剪标记。我甚至无法获取裁剪包,因为存在geometry
包冲突,但我不知道原因。以下是 MWE:
\documentclass[10pt,headsepline]{bookest}
\usepackage[paperheight=7in,paperwidth=4.25in,top=1in,bottom=1in,right=1in,left=1in]{geometry}
\usepackage[english]{babel}
\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{LinLibertine_Re-4.7.5}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
答案1
问题bookest.cls
是
\RequirePackage{geometry}
在序言中加载包之前。因此有一个选项类:它已加载,没有任何选项,后来又有一些选项。
有很多方法可以解决这个问题。
使用
\geometry{<options>}
在序言中,如果选项是可以在加载包后设置的选项。如果不是,请选择方法 2 或 3。
使用
\documentclass[<options>]{bookest}
这可能会产生一些关于无法识别的选项的警告,可以放心地忽略。或者,使用方法 3。
使用
\PassOptionsToPackage{<options>}{geometry} \documentclass{bookest}
在类加载包时将选项传递给包。
编辑
这是一个例子。请注意,即使使用\tiny
大小合适的字体,文本块也太小,TeX 无法产生良好的输出。使用正常大小的字体,会出现很多坏框。
layoutsize
请注意,裁切标记仅当小于时才有意义,papersize
因为否则裁切标记实际上无处可显示。(我猜它们仍然存在,但不在纸上。)
\documentclass{bookest}% neither 10pt nor headsepline are doing anything whatsoever as far as I can tell - certainly the class doesn't recognise them
\geometry{%
paperheight=8in,
paperwidth=5.25in,
top=1in,
bottom=1in,
right=1in,
left=1in,
layoutsize={4.25in,7in},
layoutoffset={.5in,.5in},
showcrop,
}
\usepackage{blindtext}
\begin{document}
\tiny
\Blinddocument
\end{document}
编辑
以下是评论中要求的显示美国信纸上裁切标记的示例:
\documentclass{bookest}% neither 10pt nor headsepline are doing anything whatsoever as far as I can tell - certainly the class doesn't recognise them
\geometry{%
letterpaper,
top=1in,
bottom=1in,
right=1in,
left=1in,
layoutsize={4.25in,7in},
layoutoffset={1.5in,1.5in},
showcrop,
}
\usepackage{blindtext}
\begin{document}
\tiny
\Blinddocument
\end{document}
答案2
看起来文档类已经加载了geometry
包,这就是导致选项冲突的原因。只需使用命令\geometry
指定要传递的选项即可。例如:
\documentclass[10pt,headsepline]{bookest}
% \usepackage{geometry}
\usepackage{blindtext}
\geometry{
a4paper,
layoutheight=7in, layoutwidth=4.25in,
layoutvoffset=1in, layouthoffset=1in,
margin=0in, % am I correctly guessing your intention?
showcrop
}
\begin{document}
\Blinddocument
\end{document}