![将 crop 包与 XeLaTeX 结合使用](https://linux22.com/image/321701/%E5%B0%86%20crop%20%E5%8C%85%E4%B8%8E%20XeLaTeX%20%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8.png)
当使用crop
带有 XeLaTeX 的软件包时,第一页的裁剪不起作用。虽然以下文档可以使用 PDFLaTeX 编译,但使用 XeLaTeX 的结果如下:
如您所见,第一页有裁切标记,但实际裁切的纸张大小与实际大小相同。有办法解决这个问题吗?
% !TeX program = xelatex
\documentclass{scrbook}
\usepackage{geometry}
\geometry{paperwidth =10cm,paperheight=20cm}
\usepackage[a4,center,cam]{crop}
\usepackage{lipsum}
\begin{document}
\lipsum
\lipsum
\end{document}
以下是有关我的系统和版本的一些信息:我正在运行TeX Live 2015(Intel 64 位;通过 MacTeX)在 Mac 上OS X 10.10.5. 我正在编写这份文件XeTeX 3.14159265-2.6-0.99992 (TeX Live 2015)
以及最新的发行版,使用以下文件:
*File List*
scrbook.cls 2015/10/03 v3.19a KOMA-Script document class (book)
scrkbase.sty 2015/10/03 v3.19a KOMA-Script package (KOMA-Script-dependent basics and keyval usage)
scrbase.sty 2015/10/03 v3.19a KOMA-Script package (KOMA-Script-independent basics and keyval usage)
keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
scrlfile.sty 2015/10/03 v3.19a KOMA-Script package (loading files)
tocbasic.sty 2015/10/03 v3.19a KOMA-Script package (handling toc-files)
scrsize11pt.clo 2015/10/03 v3.19a KOMA-Script font size class option (11pt)
typearea.sty 2015/10/03 v3.19a KOMA-Script package (type area)
geometry.sty 2010/09/12 v5.6 Page Geometry
ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO)
ifvtex.sty 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional
crop.sty 2003/05/20 v1.9 crop marks (mf)
color.sty 2014/10/28 v1.1a Standard LaTeX Color (DPC)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
xetex.def 2015/09/11 v4.06 LaTeX color/graphics driver for XeTeX (TeX Live/RRM/JK)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO)
ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
graphics.sty 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
crop.cfg
lipsum.sty 2014/07/27 v1.3 150 paragraphs of Lorem Ipsum dummy text
***********
这就是我的样子crop.cfg
(它是 TeX Live 附带的。我没有进行任何用户配置。
% crop.cfg for xetex - JK - 2007-01-19
% This attempts to persuade crop.sty to work with xetex
% Public domain
\@ifundefined{XeTeXversion}{}{
%% Force crop.sty to use the "pdftex" driver (i.e., \pdfpagewidth, \pdfpageheight) with XeTeX
\def\CROP@driver{pdftex}
}
\endinput
%% End of file `crop.cfg'.
我尝试在新配置下使用驱动程序,结果如下:
在所有情况下都会显示裁切标记。
none
,vtex
:裁剪尺寸中的所有页面pdftex
:除第一页外,所有页面均为 A4 纸(见上面的截图)dvips
:仅第一页为 A4 尺寸,其余均为裁剪尺寸
使用geometry
是showcrop=true
不可能的,因为它会破坏 TikZcurrent page
节点坐标。
答案1
我有以下 crop.cfg。请尝试一下。
% crop.cfg for xetex - JK - 2006-06-07
% This attempts to persuade crop.sty to work with xetex
\@ifundefined{XeTeXversion}{}{
%% Use the "pdftex" driver (i.e., \pdfpagewidth, \pdfpageheight) with XeTeX
\def\CROP@reqdriver{pdftex}
%% make crop.sty believe this is valid
\@ifundefined{pdfoutput}{
\newcount\pdfoutput \pdfoutput=1
}{}
}
\endinput
%% End of file `crop.cfg'.
答案2
这是 的问题scrbook
,但book
示例运行正常。最后,问题归结为 scrbook (较新版本) 在 处插入了一个\special
。\begin{document}
可以使用以下代码重现该问题:
\documentclass{book}
\usepackage[paperwidth =10cm,paperheight=20cm]{geometry}
\AtBeginDocument{\special {papersize=\the \paperwidth ,\the \paperheight }}
\usepackage[a4,center,cam]{crop}
\usepackage{lipsum}
%\makeatletter\let\scr@ifdvioutput\@gobble \show\@begindocumenthook
\begin{document}
\lipsum
\lipsum
\end{document}
代码由 scrbook 插入,并附带一个测试,这解释了为什么如果定义并将其设置为 1,\scr@ifdvioutput
问题就会消失。恕我直言,应该将这个问题报告给 KOMA 作者。\pdfoutput
编辑
解决方法是添加另一个\special
:
\documentclass{scrbook}
\usepackage[paperwidth =10cm,paperheight=20cm]{geometry}
\usepackage[a4,center,cam]{crop}
\AtBeginDocument{\special {papersize=\the \stockwidth ,\the \stockheight }}
\usepackage{lipsum}
\begin{document}
\lipsum
\lipsum
\end{document}
答案3
在七月我在 KOMA-Script 论坛上发布了这个问题并被告知新版本的 KOMA(3.18 及更高版本)设置pagesize=auto
为默认值。使用pagesize=false
将恢复为旧行为,该行为可与crop
-package 一起正确运行。
答案4
尝试添加
pdftex, % 或任何其他渲染器
在包的选项中,例如:
\usepackage[pdftex,a4,center,cam]{crop}
它对我有用。