![裁切标记和出血](https://linux22.com/image/322427/%E8%A3%81%E5%88%87%E6%A0%87%E8%AE%B0%E5%92%8C%E5%87%BA%E8%A1%80.png)
我正在使用基于该类的自定义类article
。纸张尺寸为 16cm x 24cm。在发送输出进行打印后,我被要求包含剪切标记和 3mm 出血。所以我需要将这些元素添加到我的输出 pdf 中。在阅读了 stackexchange 上的几篇帖子后,我仍然无法正确得出它。我总是弄错(通常文本不在框架的中心)。有人能帮忙吗?
我在用着:
\usepackage[paperwidth=16cm,paperheight=24cm]{geometry}
\usepackage[a4,cam,axes,pdftex,center]{crop}
结果是页面不居中,且边距也不正确。
答案1
我不知道切割痕迹应该是什么样子,但这可能对你有帮助。我用的是tikzpage节点包在节点的角落处绘制剪切标记current page text area
。我将纸张尺寸增加了两倍的出血量,然后通过添加 3 毫米边距将文档限制在您想要的限制范围内几何学包装。根据 Arcobat Reader 的测量工具,测量结果似乎不错。
代码
\documentclass{article}
\usepackage[paperwidth=16.6cm,paperheight=24.6cm, margin=3mm]{geometry}
\usepackage{tikzpagenodes}
\usetikzlibrary {calc}
\usepackage{lipsum}
\begin{document}
\begin{tikzpicture}[overlay, remember picture]
\draw ($(current page text area.north west)+(-0.2,0)$) -- ++ (2.2,0);
\draw ($(current page text area.north west)+(0,0.2)$) -- ++ (0,-2.2);
\draw ($(current page text area.north east)+(0.2,0)$) -- ++ (-2.2,0);
\draw ($(current page text area.north east)+(0,0.2)$) -- ++ (0,-2.2);
\draw ($(current page text area.south west)+(-0.2,0)$) -- ++ (2.2,0);
\draw ($(current page text area.south west)+(0,-0.2)$) -- ++ (0,2.2);
\draw ($(current page text area.south east)+(0.2,0)$) -- ++ (-2.2,0);
\draw ($(current page text area.south east)+(0,-0.2)$) -- ++ (0,2.2);
\end{tikzpicture}
\end{document}
输出(在 Adobe Reader 中完成测量)
编辑1:现在,您可以定义许多长度,例如影响出血、边框、纸张和文本宽度。然后使用背景包。它应该可以很好地与twopage
模式配合使用,纸张大小可以直接给出,也可以从文本大小、边框和出血计算得出。为了使交叉点能够与 Adobe Reader 进行捕捉,我画了几条灰色的帮助线,可以通过注释相应的线来关闭它们。
代码
\documentclass{article}
\usepackage{tikzpagenodes}
\usetikzlibrary {calc}
\usepackage{xifthen}
\usepackage{background}
% ====== Change these
\pgfmathsetlengthmacro{\BleedSide}{5mm}
\pgfmathsetlengthmacro{\BleedTop}{4mm}
\pgfmathsetlengthmacro{\BleedBottom}{6mm}
\pgfmathsetlengthmacro{\BorderInner}{20mm}
\pgfmathsetlengthmacro{\BorderOuter}{30mm}
\pgfmathsetlengthmacro{\BorderTop}{22mm}
\pgfmathsetlengthmacro{\BorderBottom}{24mm}
\pgfmathsetlengthmacro{\BorderLeft}{26mm}
\pgfmathsetlengthmacro{\BorderRight}{28mm}
\pgfmathsetlengthmacro{\PaperWidth}{160mm}
\pgfmathsetlengthmacro{\PaperHeight}{240mm}
\pgfmathsetlengthmacro{\TextWidth}{120mm}
\pgfmathsetlengthmacro{\TextHeight}{200mm}
% ====== Modes
\newcommand{\ModePage}{onepage}% twopage or onepage
\newcommand{\ModeArea}{paper}% paper or text
% ====== DONT touch these
\pgfmathsetlengthmacro{\UseTop}{\BleedTop + \BorderTop}
\pgfmathsetlengthmacro{\UseBottom}{\BleedBottom + \BorderBottom}
\ifthenelse{\equal{\ModePage}{twopage}}
{ \pgfmathsetlengthmacro{\UseLI}{\BleedSide + \BorderInner}
\pgfmathsetlengthmacro{\UseRO}{\BleedSide + \BorderOuter}
}{}
\ifthenelse{\equal{\ModePage}{onepage}}
{ \pgfmathsetlengthmacro{\UseLI}{\BleedSide + \BorderLeft}
\pgfmathsetlengthmacro{\UseRO}{\BleedSide + \BorderRight}
}{}
\ifthenelse{\equal{\ModeArea}{paper}}
{ \pgfmathsetlengthmacro{\UsePaperWidth}{\PaperWidth + 2*\BleedSide}
\pgfmathsetlengthmacro{\UsePaperHeight}{\PaperHeight + \BleedTop + \BleedBottom}
}{}
\ifthenelse{\equal{\ModeArea}{text}}
{ \pgfmathsetlengthmacro{\UsePaperWidth}{\TextWidth + \UseLI + \UseRO}
\pgfmathsetlengthmacro{\UsePaperHeight}{\TextHeight + \UseTop + \UseBottom}
}{}
\ifthenelse{\equal{\ModePage}{twopage}}
{ \usepackage[paperwidth=\UsePaperWidth, paperheight=\UsePaperHeight,%
inner=\UseLI, outer=\UseRO, top=\UseTop, bottom=\UseBottom,%
twoside]{geometry}
}{}
\ifthenelse{\equal{\ModePage}{onepage}}
{ \usepackage[paperwidth=\UsePaperWidth, paperheight=\UsePaperHeight,%
left=\UseLI, right=\UseRO, top=\UseTop, bottom=\UseBottom,%
]{geometry}
}{}
% ====== define the bleedmarks here
\backgroundsetup{%
contents=%
{ \begin{tikzpicture}[overlay]
\coordinate (NW) at ($(current page.north west)+(\BleedSide,-\BleedTop)$);
\coordinate (NE) at ($(current page.north east)+(-\BleedSide,-\BleedTop)$);
\coordinate (SW) at ($(current page.south west)+(\BleedSide,\BleedBottom)$);
\coordinate (SE) at ($(current page.south east)+(-\BleedSide,\BleedBottom)$);
% ====== helpers for visual aid
\draw[gray, very thin] (SW) rectangle (NE);
\draw[gray, very thin] ($(current page text area.south west)+(0,-\BorderBottom)$) rectangle ($(current page text area.north east)+(0,\BorderTop)$);
\draw[gray, very thin] ($(current page.south west)+(\BleedSide,\BleedBottom)+(0,\BorderBottom)$) rectangle ($(current page.north east)+(-\BleedSide,-\BleedTop)+(0,-\BorderTop)$);
\draw[gray, very thin] (current page.south west) rectangle (current page.north east);
\draw[gray, very thin] (current page text area.south west) rectangle (current page text area.north east);
% ====== lengths for the bleedmarks
\pgfmathsetmacro{\BleedMarkOut}{0.6}
\pgfmathsetmacro{\BleedMarkLength}{2}
% ====== actual bleed marks
\draw[black] ($(NW)+(-\BleedMarkOut,0)$) -- ++ (\BleedMarkLength,0);
\draw[black] ($(NW)+(0,\BleedMarkOut)$) -- ++ (0,-\BleedMarkLength);
\draw[black] ($(NE)+(\BleedMarkOut,0)$) -- ++ (-\BleedMarkLength,0);
\draw[black] ($(NE)+(0,\BleedMarkOut)$) -- ++ (0,-\BleedMarkLength);
\draw[black] ($(SW)+(-\BleedMarkOut,0)$) -- ++ (\BleedMarkLength,0);
\draw[black] ($(SW)+(0,-\BleedMarkOut)$) -- ++ (0,\BleedMarkLength);
\draw[black] ($(SE)+(\BleedMarkOut,0)$) -- ++ (-\BleedMarkLength,0);
\draw[black] ($(SE)+(0,-\BleedMarkOut)$) -- ++ (0,\BleedMarkLength);
\end{tikzpicture}
},
angle=0,
scale=1,
opacity=1,
}
\usepackage{lipsum}
\parindent0mm
\begin{document}
\lipsum
\end{document}